Abstract

Software engineering today can be compared to a manufacturing industry in which a product is generally produced without any recognisable production line. In any other engineering discipline this would be unacceptable but appears to be the norm for software producing companies. For example, the Software Engineering Institute (S.E.I.) at Carnegie-Mellon University have found that approximately 85% of all software producing companies are at the lowest level of software process maturity, officially deemed chaotic, c.f. Humphrey [1] The S.E.I, defines this to mean that they are deficient in one or more of the following key areas: Project Estimation, Project Planning, Configuration Management or Software Quality Assurance. Other studies show that software product quality, the intrinsic quality of the code itself, is similarly poor, with most commercially released packages riddled with errors which could have been detected by inspections alone, Hatton [2]. The net result is that users are subjected to unreliable software, public safety may be prejudiced and software developers pay far more in both development and maintenance than they need. It has often been argued in the past that this is the nature of software engineering and users should accept this. This is no longer the case. Whilst there is no magical solution, tools already exist to quantify product quality and automate many key aspects of both inspection and testing. Other tools exist to automate the process of change around recent standard software process models such as ISO 9001 and the Carnegie-Mellon CMM (Capability Maturity Model). This paper will discuss such tools and how they Transactions on Information and Communications Technologies vol 4, © 1993 WIT Press, www.witpress.com, ISSN 1743-3517

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call