Monday, September 1, 2008

Test-Driven Development as andon cord

You cannot control what you cannot see, and the hardest part of managing software projects is that the final product is so intangible. Automated tests make defects visible. In almost all Agile Development systems, thousands of automated tests are run against every change to the software. These tests are written by the engineers themselves, and they must all pass every time. Even one test failing is considered a “red alert” situation that requires all work to stop. This is equivalent of the andon cord in a Toyota production plant. It signals the presence of a defect in the assembly process and directs all attention to fixing it before work can continue. As the team gets better and making more changes without introducing new problems, the team can speed up. A failing test provides a natural feedback mechanism, slowing the team down when going too fast.

Reblog this post [with Zemanta]


Post a Comment