9 Qualities of Good Software
Topics: Security, Software Development, Web Strategy
4 Comments »

At the heart of computer science is of course the computer, but at the heart of the computer is SOFTWARE. To be an expert in the field of computer science requires an in-depth knowledge of software. What is it? How does it work? How is it created? How does it interact with the computer? What makes one piece of software superior to another piece?     

Software, in my opinion, is the most valuable intangible product in the marketplace today. Everyone needs it. Everyone is impacted by it. Very few people know how to create it. And no one is able to create it with perfection! To emphasize the intangible nature of software, the term I like to use the process of creating software is “bit building“. At its most base level, software is nothing more than a string (a very long string — millions and billions) of binary digits. Ones and zeros. I am in the business of training and developing “bit builders”.  Here are 9 qualities of good software I use to help motivate the thoughts of my bit builders:

correctness — does the software do what it is suppose to do (according to the design specs)?

robustness — how does the software respond to unexpected conditions (wrong input)?

user-friendliness — is the software easy to use by users from the intended audience?

adaptability — how difficult is it to modify the software to adjust to an ever-changing world?

reusability — can parts of the software be easily reused to build other software systems?

interoperability — does the software interface with other software systems?

efficiency — does the software make good use of its resources (memory, disk, CPU, network)?

portability — can the software to easily ported (moved) to other operating system (or in today’s world, browser)?

security — does the software protect the information it is responsible for?

To excel in the process of bit building there must be a clear vision of what makes one set of software bits better than another set. While I don’t claim that this list is exhaustive, I have found it to help me analyze and think clearly about the quality of a piece of software.

Comments on: “9 Qualities of Good Software”

Leave a Reply

(will not be published)

(optional)