Requirements Engineering and Downstream Software Development: Findings from a Case Study

Requirements management is being recognized as one of the most important albeit difficult phases in software engineering. The literature repeatedly cites the role of well-defined requirements and requirements management process in problem analysis and project management as benefiting software development throughout the life cycle: during design, coding, testing, maintenance and documentation of software. This paper reports on the findings of an investigation into industrial practice of requirements management process improvement and its positive effects on downstream software development. The evidence reveals a strong relationship between a well-defined requirements process and increased developer productivity, improved project planning through better estimations and enhanced ability for stakeholders to negotiate project scope. These results are important since there is little empirical evidence of the actual benefits of sound requirements practice, in spite of the plethora of claims in the literature. An account of these effects not only adds to our understanding of good requirements practice but also provides strong motivation for software organizations to develop programs for improvement of their requirements processes.

[1]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[2]  Mark C. Paulk,et al.  A Comparison of ISO 9001 and the Capability Maturity Model for Software , 1994 .

[3]  DamianDaniela,et al.  Requirements Engineering and Downstream Software Development , 2005 .

[4]  S. B. Kiselev,et al.  The capability maturity model: guidelines for improving the software process , 1995 .

[5]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[6]  Suzanne Robertson,et al.  Mastering the Requirements Process , 1999 .

[7]  Khaled El Emam,et al.  Spice: The Theory and Practice of Software Process Improvement and Capability Determination , 1997 .

[8]  E. Mayo The Human Problems of an Industrial Civilization , 1934, Nature.

[9]  Khaled El Emam,et al.  Validating the ISO/IEC 15504 Measure of Software Requirements Analysis Process Capability , 2000, IEEE Trans. Software Eng..

[10]  Watts S. Humphrey,et al.  Software process improvement at Hughes Aircraft , 1991, IEEE Software.

[11]  Katta G. Murty,et al.  On KΔ , 1986, Discret. Appl. Math..

[12]  Søren Lauesen,et al.  Preventing Requirement Defects: An Experiment in Process Improvement , 2001, Requirements Engineering.

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

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

[15]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[16]  Daniela E. Damian,et al.  An Industrial Case Study of Immediate Benefits of Requirements Engineering Process Improvement at the Australian Center for Unisys Software , 2004, Empirical Software Engineering.

[17]  J. Rogers Chaos , 1876 .

[18]  J. Herbsleb,et al.  A systematic survey of CMM experience and results , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[19]  Susan Rosenbaum,et al.  Software improvements in an international company , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[20]  Austen Rainer,et al.  Requirements problems in twelve software companies: an empirical analysis , 2002, IEE Proc. Softw..