As a metaphor, ask yourself this: if we assume everyone gets sick, what should we do? Invest in researching stronger drugs? This post argues that doing so may solve the short term problem, but makes things worse in the long run:
[Modern medicine] tried to deal with a too-fragile system by killing bacteria. Bacteria, like financial bubbles and fads, are part of life. We need to make our bodies more robust to them. Fermented foods do that. By killing off bacteria inside our bodies, antibiotics do the opposite: Make us even more fragile.Eating healthier (this doctor suggests specifically fermented foods) is a systemic, pre-emptive effort to minimize the effect of getting sick.
When I read that, I thought, "Agile processes!"
So much of Agile practices are oriented to creating systemic, preemptive efforts to minimize the risk of bad code. The aim is to stop bad code is stopped at the door, when it's cheap. Automated builds, automated tests, daily scrum -- the list goes on -- all work together to create a robust ecosystem that produces good code.
Agile doesn't have a lot to say about the actual QA cycle, except in how it impacts development. That's not an accident.
It's no surprise that the metaphor is apt. A software application is an organic, breathing thing in many ways.
