A word about software quality

December 7, 2012 § Leave a comment

This is an extract from a rather long comment I left on this blog post and thought was worth posting separately:

Something that has become apparent to me in the past decade is that software quality is something that can only be measured in hindsight. Most good programmers can write a program that achieves an immediate goal in a reasonable number of lines of code, with a reasonable performance profile. But any significant body of software itself does not exist in a static environment. Really good software is easy to change when the environment it runs in changes. The software might be running inside a company that frequently, or even continually, is evolving its operating practices. Low-quality software impedes that evolution by being rigid and difficult to update. High-quality software can be easily updated to cope with that change. The updates are isolated into well-defined modules with high cohesion and low coupling to other parts of the system. High-quality software is software that the other parts of the business to not end up coming to despise because of its lack of ability to support what they want to do next.

Truly great software goes one step further: it sparks the imagination of its users to think of doing things that they would not have though of otherwise, and is easily changed to support those new ideas. This creates a feedback loop that results in both better software and better use of that software than anyone ever anticipated.

Advertisement

Tagged: ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

What’s this?

You are currently reading A word about software quality at Multithreaded.

meta

%d bloggers like this: