There are lots of great books and resources out there about managing new software developments, but very little that I've seen about managing ongoing maintenance of software systems. I'm not talking about big enhancements, I'm talking about the little 1 or 2 day bug fixes and updates that quickly accumulate once a system goes into production.

Any recommended books or other resources on this subject?


3 Answers 3


"Working Effectively with Legacy Code" by Michael Feathers is a good place to start.

He provides a comprehensive overview of how to work within a large codebase. Ostensibly his focus is how to manage refactoring safely, but the principles he provides would work well for maintenance coding as well.

  • it's one of my favorite tech books. Good suggestion :) Commented May 4, 2011 at 17:14
  • @Rein Mine too. Sits right beside Pragmatic Programmer on the bookshelf.
    – Gary
    Commented May 4, 2011 at 18:04

I've heard that FogBuz is a great tool. The biggest coding shop I was in was during my time in the Marine Corps. I wish there was a tool like FogBuz back then (1989 - 1999).

Most of my programming experience outside of the Marine Corps has been web development. We would build widgets and then resell them as add-ons to other customers. Of course bugs would surface and version changes would happen. We simply created version folders in our code library.

In addition to the source files we would maintain the SQL scripts inside these version folders to include utility stored procs for converting data from version x to version y.

It's not the perfect solution, but it worked for us.


Someone mentioned Michael Feather's book which I highly recommend; but there is also one useful article. Although a joke article, it does provide tips on what you absolutely shouldn't do with your code:

How To Write Unmaintainable Code - Roedy Green

In maintenance, it is usually simpler to understand what you shouldn't do rather than giving rules on what you should do.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.