Take the 2-minute tour ×

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?

share|improve this question
add comment

3 Answers

"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.

share|improve this answer
@Rein D'oh! Good edit - thanks. –  Gary Rowe May 4 '11 at 15:29
it's one of my favorite tech books. Good suggestion :) –  Rein Henrichs May 4 '11 at 17:14
@Rein Mine too. Sits right beside Pragmatic Programmer on the bookshelf. –  Gary Rowe May 4 '11 at 18:04
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer


