Agile Zone is brought to you in partnership with:

In the course of his 30-year career, David Bernstein has trained more than 6,000 developers at hundreds of companies on how to improve their software design and construction. His company, Techniques of Design (, provides customized training, coaching and consulting to software developers and development teams around the world, enabling them to master essential practices, including Agile, Scrum, XP, test-driven development, design patterns and related techniques, for building high-quality software more rapidly. David is a DZone MVB and is not an employee of DZone and has posted 18 posts at DZone. You can read more from them at their website. View Full User Profile

Who is Our Customer?

  • submit to reddit

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.

Published at DZone with permission of David Bernstein, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)