Have you ever stay up until three in the morning trying to track down a bug? Maybe it was code that you were charged with maintaining or maybe it’s something you just wrote. Remember how it felt trying to figure out what the author was doing?
Who is our customer? You may think it is the person who uses our software and they are very important but we have another customer we sometimes forget, you—that you that is trying to fix a bug at 3:00 am. The people who maintain our code are also our customers and we must write software for them as well.
When we consider that over 80% of the total cost of software happens after it is released we can see that maintainability of software is critical to success and that we must drive the cost of ownership down.
Our software must do the right thing but just correctness is no not enough. The code that we write must be easy to understand, maintain and extend. But how do we do this? What makes software easy to understand, maintain and extend? This is what we will look at in upcoming posts so stay tuned.