Software Engineers spend a huge amount of their career on debugging existing code: production or developing, own code or vendor packages. Yet people don’t spend as much time reason about the methodology behind these time spent. David J. Agans set out to address this issue from his experiences of both hardware and software.
- Understand the System
- Make It Fail
- Quit Thinking and Look
- Divide and Conquer
- Change One Thing at a Time
- Keep an Audit Trail
- Check the Plug
- Get a Fresh View
- If You Didn’t Fix It, It Ain’t Fixed
Since all projects are extremely diverse, the debugging rules need to be highly abstracted out. Even harder, debugging is such a unique kind of activity, that it is as much of a creation process as designing the product itself. In many ways, the author compares it to detective fictions.
Scientific method fails to capture such creativity, and the best we have got is a series of guidelines from various personal perspectives. The author did a great job to summarize a huge amount of experiences into 9 simple and powerful sentences.