Measurement-driven dashboards enable leading indicators for requirements and design of large-scale systems

Measurement-driven dashboards provide a unifying mechanism for understanding, evaluating, and predicting the development, management, and economics of large-scale systems and processes. Dashboards enable interactive graphical displays of complex information and support flexible analytic capabilities for user customizability and extensibility. Dashboards commonly include software requirements and design metrics because they provide leading indicators for project size, growth, and stability. This paper focuses on dashboards that have been used on actual large-scale projects as well as example empirical relationships revealed by the dashboards. The empirical results focus on leading indicators for requirements and design of large-scale systems. In the first set of 14 projects focusing on requirements metrics, the ratio of software requirements to source-lines-of code averaged 1:46. Projects that far exceeded the 1:46 requirements-to-code ratio tended to be more effort-intensive and fault-prone during verification. In the second set of 16 projects focusing on design metrics, the components in the top quartile of the number of component internal states had 6.2 times more faults on average than did the components in the bottom quartile, after normalization by size. The components in the top quartile of the number of component interactions had 4.3 times more faults on average than did the components in the bottom quartile, after normalization by size. When the number of component internal states was in the bottom quartile, the component fault-proneness was low even when the number of component interactions was in the upper quartiles, regardless of size normalization. Measurement-driven dashboards reveal insights that increase visibility into large-scale systems and provide feedback to organizations and projects

[1]  A. Baron Experimental Designs , 1990, The Behavior analyst.

[2]  Leonard J. Bass,et al.  Scenario-Based Analysis of Software Architecture , 1996, IEEE Softw..

[3]  Watts S. Humphrey,et al.  Characterizing the software process: a maturity framework , 1988, IEEE Software.

[4]  Jan Bosch,et al.  Design and use of industrial software architectures , 1999, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275).

[5]  John D. McGregor,et al.  Calculating ROI for software product lines , 2004, IEEE Software.

[6]  Adam A. Porter,et al.  Empirically guided software development using metric-based classification trees , 1990, IEEE Software.

[7]  Jukka Paakki,et al.  Architecture-centric software evolution by software metrics and design patterns , 2002, Proceedings of the Sixth European Conference on Software Maintenance and Reengineering.

[8]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.

[9]  Barry Boehm,et al.  Top 10 list [software development] , 2001 .

[10]  Daniel Pak-Kong Lun,et al.  Precise modeling of design patterns in UML , 2004, Proceedings. 26th International Conference on Software Engineering.

[11]  Adam A. Porter,et al.  Learning from Examples: Generation and Evaluation of Decision Trees for Software Resource Analysis , 1988, IEEE Trans. Software Eng..

[12]  Natalia Juristo Juzgado,et al.  Designing software architectures for usability , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[13]  Adam A. Porter,et al.  Evaluating techniques for generating metric-based classification trees , 1990, J. Syst. Softw..

[14]  Richard W. Selby,et al.  Software metric classification trees help guide the maintenance of large-scale systems , 1989, Proceedings. Conference on Software Maintenance - 1989.

[15]  Neelam Soundarajan,et al.  Responsibilities and rewards: specifying design patterns , 2004, Proceedings. 26th International Conference on Software Engineering.

[16]  David M. Weiss,et al.  Industrial-strength software product-line engineering , 2004, SPLC.

[17]  Douglas C. Schmidt,et al.  Metric-driven analysis and feedback systems for enabling empirically guided software development , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[18]  Jan Bosch,et al.  Software product lines: organizational alternatives , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[19]  Jan Bosch Architecture-centric software engineering , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[20]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[21]  Sidney Addelman,et al.  trans-Dimethanolbis(1,1,1-trifluoro-5,5-dimethylhexane-2,4-dionato)zinc(II) , 2008, Acta crystallographica. Section E, Structure reports online.

[22]  W. Douglas Brooks,et al.  Software technology payoff: Some statistical evidence , 1981, J. Syst. Softw..

[23]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[24]  Bill Curtis,et al.  Productivity factors and programming environments , 1984, ICSE '84.

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

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