Goal-oriented software assessment

Companies that engage in multi-site, multi-project software development continually face the problem of how to understand and improve their software development capabilities. We have defined and applied a goal-oriented process that enables such a company to assess the strengths and weaknesses of those capabilities. Our goals are to help a) to decrease the time and cost to develop software, b)to decrease the time needed to make changes to existing software, c) to improve software quality, d) to attract and retain a talented engineering staff, and e) to facilitate more predictable management of software projects. In response to the variety of product requirements, market needs, and development environments, we selected a goal-oriented process, rather than a criteria-oriented process, to advance our strategy and ensure relevance of the results. We describe the design of the process, discuss results achieved, and present vulnerabilities of the methodology. The process includes both interviews with projects' personnel and analysis of change data. Several common issues have emerged from the assessments across multiple projects, enabling strategic investments in software technology. Teams report satisfaction with the outcome in that they act on the recommendations, ask for additional future assessments, and recommend the process to sibling organizations.

[1]  Audris Mockus,et al.  On Measurement and Analysis of Software Changes , 1999 .

[2]  Peter Gluchowski,et al.  Data Warehouse , 1997, Informatik-Spektrum.

[3]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[4]  Victor R. Basili,et al.  A Methodology for Collecting Valid Software Engineering Data , 1984, IEEE Transactions on Software Engineering.

[5]  Ralph Kimball,et al.  The Data Warehouse Lifecycle Toolkit: Expert Methods for Designing, Developing and Deploying Data Warehouses with CD Rom , 1998 .

[6]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[7]  W. A. Shewhart,et al.  Statistical method from the viewpoint of quality control , 1939 .

[8]  J. Crisp,et al.  The Delphi method? , 1997, Nursing research.

[9]  Murray Turoff,et al.  The Delphi Method: Techniques and Applications , 1976 .

[10]  Capers Jones,et al.  Software Assessments, Benchmarks, and Best Practices , 2000 .

[11]  Mario Marchese,et al.  Techniques and applications , 2003 .

[12]  Audris Mockus,et al.  Does Code Decay? Assessing the Evidence from Change Management Data , 2001, IEEE Trans. Software Eng..

[13]  Claude E. Walston,et al.  A Method of Programming Measurement and Estimation , 1977, IBM Syst. J..

[14]  T. Capers Jones,et al.  Measuring Programming Quality and Productivity , 1978, IBM Syst. J..

[15]  Mark C. Paulk,et al.  Capability Maturity Model for Software , 2001 .

[16]  Dietmar Pfahl,et al.  The role of GQM in the PROFES improvement methodology , 1999 .

[17]  C. Jones,et al.  Tutorial programming productivity: issues for the eighties, 2nd ed. , 1986 .

[18]  Capers Jones,et al.  Tutorial Programming Productivity: Issues for the Eighties , 1986 .

[19]  N. Dalkey,et al.  The Delphi Method, III: Use of Self-Ratings To Improve Group Estimates , 1969 .

[20]  Victor R. Basili,et al.  Software process evolution at the SEL , 1994, IEEE Software.

[21]  Robert B. Grady,et al.  Software Metrics: Establishing a Company-Wide Program , 1987 .

[22]  Victor R. Basili,et al.  Evaluating Software Development by Analysis of Changes: Some Data from the Software Engineering Laboratory , 1985, IEEE Transactions on Software Engineering.

[23]  Victor R. Basili,et al.  The TAME Project: Towards Improvement-Oriented Software Environments , 1988, IEEE Trans. Software Eng..

[24]  E. B. Swanson,et al.  Software maintenance management , 1980 .

[25]  Mark C. Paulk,et al.  The Capability Maturity Model , 1991 .

[26]  R. F.,et al.  Statistical Method from the Viewpoint of Quality Control , 1940, Nature.