Chapter 15: SOFTWARE EVOLUTION OR SOFTWARE REVOLUTION? How Does Code Grow?
- There is a misconception that software only develops during its initial stages of life. The maintenance phase of software development is always the longest.
- B.W. Boehm, a respected computer science professor, observed that 40 to 80 percent of total development time is spent in maintenance. (Boehm 76)
- Brooks found that as many as 40 percent of fixes introduced new faults. (Brooks 95)
- Be aware of how easily code degrades as it is modified. Don’t be satisfied with changes that leave the system in a worse state.
- Learn to detect putrid code. Know the warning signs and handle rotten code with the utmost care.
- Code conscientiously. Good programmers care more about how their code will look after a few years’ work than how much effort it takes to write now.
- Write new code with a view to its modifiability. Make it readable, extensible, and simple.
- If it ain’t broke, don’t fix it.
- Manage changes carefully. Make sure you know who else is trying to modify code near where you’re working.
- Review sensitive changes, especially in the run-up to a release. Even the simplest change can break other code.
- Try not to introduce extra dependencies with newly added code.
- Carefully test any modification you make, no matter how simple. It’s really easy for silly faults to slip past unnoticed.
Jul 18, 2010