They reorganize their knowledge and learn new techniques to keep their programs working even when other connected pieces break. And so they master the art of defensive programming. All earlier knowledge and experience can count for very little without version control, test beds, and good documentation utilities. Down go the confidence levels as developers scamper through training sessions, manuals, and web scans, trying to catch up on techniques of which they were only dimly aware before. I can do no more.
Failure kills confidence in the ability to deliver a quality solution.
We only seek delivery. And what a poor ambition that is. All those legacy systems, written long before anyone had any grand schemes for design, testify to the idea that quality programs can be written, and can outlast their predicted life times by an order of magnitude. Bach, an authority on software testing, asserts that the testing process itself measures software quality. As long as the testing process is of a higher quality than that which is to be measured, he argues, this is sustainable.