Test Automation and Agility

You need test automation and a solid testing culture to be agile.1

Test automation make open-ended experiments feasible, by reducing their technical risks and costs significantly. If your tests are good, you can basically try out everything you want, because you know if something breaks, your tests will fail and you will know.

I've referred to Daniel C. Dennet's intuition pump of the home renovation before. In essence, it says if you want to renovate a house, you can either use a ladder to reach all the things you want to work on, moving the ladder around every time you need to reach a new spot; Or you can build some scaffolding first, encasing the house, and then move around much more swiftly.

This is highly relevant for software: If your software is complex enough (or the environment it is operated in is) you cannot simply move around the ladder all the time. It will be much too costly, too brittle, and too unreliable.

Fear of change will creep in, and sooner or later, you will find it very hard to move around at all.

If you invested in a scaffold – a solid test automation practice, a great testing culture and adequate code coverage – you will find that you can move around your product just as fast as in the beginning, when everything was still simple.


  1. I'm referring to software products.
Published 2024~07~25

Link Graph

Yeah, I know, the 2000s knocked and wanted to show you their ideas about knowledge navigation, but I really like those graphs, even if they are not the most practical instruments, plus I actually developed a network-based knowledge management system called 'Serendipity' back in the day, so please stop making fun of me.