An empirical study on software quality : developer perception of quality, metrics, and visualizations
Abstract
Software tends to decline in quality over time, causing development and maintenance costs to rise. However, by measuring, tracking, and controlling quality during the lifetime of a software product, its technical debt can be held in check, reducing total cost of ownership. The measurement of quality faces challenges due to disagreement in the meaning of software quality, the inability to directly measure quality factors, and the lack of measurement practice in the software industry. This report addresses these challenges through both a literature survey, a metrics derivation process, and a survey of professional software developers. Definitions of software quality from the literature are presented and evaluated with responses from software professionals. A goal, question, metric process is used to derive quality-targeted metrics tracing back to a set of seven code-quality subgoals, while a survey to software professionals shows that despite agreement that metrics and metric visualizations would be useful for improving software quality, the techniques are underutilized in practice.
Collections
Related items
Showing items related by title, author, creator and subject.
-
The traceable lifecycle model
Nadon, Robert Gerard (2010-12)Software systems today face many challenges that were not even imagined decades prior. Challenges including the need to evolve at a very high rate, lifecycle phase drift or erosion, inability to prevent the butterfly effect ... -
Application of techniques to test software designs against requirements
Howell, Kelly Thomas (2009-12)Engineers in diverse fields are able to model their design and experiment with that design to determine how it responds to the environment and how it satisfies the requirements. Design tools for software engineering have ... -
The role of process models in software engineering
Davis, Gordon A (Texas Tech University, 2004-12)Software Engineering, both as a discipline and as a profession, is at a critical point in its development. The consensus in the software community is that the discipline is new relative to the more traditional engineering ...