Business-focused custom software

Go Back

Software Maintenance is the Most Important Phase

It is easy to assume that the most important phase of a software development application's life cycle is the beginning, when the initial development takes place. That's when the technology and architecture for an application is established, so it seems like it would be important. But is it?

I'm reading Adam Tornhill's book Your Code as a Crime Scene: Use Forensic Techniques to Arrest Defects, Bottlenecks, and Bad Design in Your Programs. Early on, he refers to Robert Glass and his book Facts and Fallacies of Software Engineering. Glass argues that maintenance is the most important phase in the software development lifecycle, accounting for 40% - 80% of a typical project's costs. He also suggests that up to 60% of those changes are enhancements not bug fixes.

This certainly rings true to me. Most of the work I do as a freelance developer is maintenance of existing software. Some of it is code that I development initially. Other project involves changes to applications written by others. Sometimes those changes are requirements based on outside factors like regulatory changes. Other times, I make changes to improve the user's experience or add new features. 

Unfortunately, most developers aren't interested in maintenance work, especially younger programmers. What a shame. You can learn a lot about programming when working on an existing code base, even one that is in an older technology. More importantly, it makes no sense to constantly re-invent the wheel. Just because software was written more than a couple of years ago doesn't mean we need to start over. 

  • Facebook
  • Twitter
  • Digg It!
  • StumbleUpon
  • Technorati
  • Del.icio.us
  • Reddit

Post a comment!

Formatting options
   
 
 
 
 
   

Wanna Subscribe?
Here's the RSS Feed

What the critics are saying...

Avonelle is an incredibly talented software developer. She works fast, is economical, and offers great insights into the project at hand. She is also not afraid to speak up when she has concerns about a decision or approach. We’ve utilized her talents on many of our software development projects over the years.

Carrie Rocha, Chief Operating Officer @ HousingLink