Interview Questions

Build and Test Daily

Why are there Bugs in Software?

(Continued from previous question...)

Build and Test Daily

Once you have a fully automated test suite, you should run it after every build. This gives developers feedback about the changes they are making, and it gives management clear, objective feedback about the project status.

Clear, objective feedback about project status help managers make better estimates and plans. This feedback can help you identify and address problems while you still have time to do something about them. In addition, this clear, objective feedback puts managers in a better position to provide correct feedback to their managers (or shareholders). Finally, this objective feedback helps managers decide when a project can be shipped or deployed.

The more prompt the feedback to the programmers, the more useful it is. The shorter the time between the creation of a defect and its discovery, the easier it is for the programmer to understand just what they have done wrong. Prompt feedback of failing tests can work as a kind of positive reinforcement for development techniques that work and negative reinforcement for techniques that don't.

By automating the build process as well, you can schedule builds of your system daily. By building daily, you will maximize the feedback to both your programmers and your management.

(Continued on next question...)

Other Interview Questions