Sunday, March 18, 2012
Software quality has been an important concern since the first programs were toggled into primitive computers back in the middle of the last century. Without good quality code, everything else we do in information technology is meaningless. Yet it's anything but a simple topic--there are many ways to think about quality.
I've recently written a couple of short papers that examine various aspects of software quality:
- The Business Value of Software Quality takes at look at why quality matters at all. It turns out that the strongest impact is when quality is absent, an idea that the paper looks at from two perspectives: the impact of low quality externally facing software (software that an organization's customers use) and the impact of low quality internally facing software (software used by an organization's own employees). Quality is important in both, but the business effects are quite different in the two situations.
- The Three Aspects of Software Quality: Functional, Structural, and Process presents a simple three-part approach to thinking about software quality. Functional quality--does the software function as it should?--certainly matters, as does structural quality--is the code well written? The third aspect, process quality, receives less attention than it deserves, but we really should think about the quality of the process we use to create software as an integral part of this topic.
Both papers were sponsored by Microsoft, but neither one is Microsoft-specific. (In fact, neither paper mentions any specific technologies from Microsoft or anybody else.) My goal, as always, is to help people understand and make smarter decisions in this important area.