Advertisement

Requirements Engineering

, Volume 20, Issue 1, pp 23–44 | Cite as

Reuse of requirements reduced time to market at one industrial shop: a case study

  • Leah Goldin
  • Daniel M. BerryEmail author
Original Article

Abstract

Many a computer-based system (CBS) developed in one division of the Israel Aerospace Industries, is a derivation of formerly delivered CBSs. Sometimes, a CBS that was developed over decades needs to be redesigned for a new customer or for new technology. In addition, the requirements management process in the division has to deal with an extensive system of systems, a matrix organizational structure, and many subcontractors in order to develop any fully operational CBS. It has become obvious that any generic building block in any product developed by any project in a project family stands a chance to be reused to build new products in other projects of the same project family. Moreover, this reuse is best if it begins with the consideration of the reuse of a requirements specification of the building block, in order to save the time and money of the block’s development. The reused artifact can be the contract description of the building block, from very early in the lifecycle. Alternatively, the reused artifact can be detailed hardware and software specifications for the building block, from later in the lifecycle. With which specification reuse begins depends on the purpose of the reuse. No matter when a reuse began, it led to some significant reduction in the product’s time to market, i.e., its time to delivery. This paper is a case study of several instances in an industrial setting of building-block reuse within a large-scale system being developed in the division. It reports how these reuses were discovered and carried out. Among the contributions of this paper is a description of the division’s multilevel requirements hierarchy that is based on the multilevel architecture of the CBS to be developed. Also contributed the division’s idea of project-family-based reuse, as opposed to product-line-based reuse. The paper shows how basing reuse on a project family made proactive reuse possible. The paper then analyzes data from the division’s requirements-management tool about these reuses to assess the impact of requirements reuse on time to market. Finally, it confirms this quantitative assessment by a qualitative assessment garnered from quotations gathered from interviews of four key people two-and-a-half years after the end of the period of the case study.

Keywords

Large-scale system Management Project family Process Requirements Requirements management Reusable software Reuse Specifications Tools 

Notes

Acknowledgments

Many thanks to the anonymous interviewees.

References

  1. 1.
    Goldin L, Matalon-Beck M, Lapid-Maoz J (2010) Reuse of requirements reduces time to market. In: Proceedings of the 2010 IEEE international conference on software science, technology & engineering (SwSTE), pp 55–60Google Scholar
  2. 2.
    Almefelt L, Berglund F, Nilsson P, Malmqvist J (2006) Requirements management in practice: Findings from an empirical study in the automotive industry. Res Eng Des 17(3):113–134CrossRefGoogle Scholar
  3. 3.
    Ambriola V, Gervasi V (2006) On the systematic analysis of natural language requirements with CIRCE. Autom Softw Eng 13:107–167CrossRefGoogle Scholar
  4. 4.
    Arkley P, Riddle S (2005) Overcoming the traceability benefit problem. In: Proceedings of the 13th IEEE international conference on requirements engineering (RE), pp 385–389Google Scholar
  5. 5.
    Barnes B, Bollinger T (1991) Making reuse cost-effective. IEEE Softw 8(1):13–24CrossRefGoogle Scholar
  6. 6.
    Boehm B (1999) Managing software productivity and reuse. Computer 32:111–113CrossRefGoogle Scholar
  7. 7.
    Boehm BW, Abts C, Brown AW, Chulani S, Clark BK, Horowitz E, Madachy R, Reifer DJ, Steece B (2000) Software cost estimation with COCOMO II. Prentice Hall, Upper Saddle River, NJGoogle Scholar
  8. 8.
    Breitman KK, Leite JCSdP (2003) Ontology as a requirements engineering product. In: Proceedings of the 11th IEEE international conference on requirements engineering (RE), pp 309–319Google Scholar
  9. 9.
    Chernak Y (2012) Requirements reuse: the state of the practice. In: Proceedings of the 2012 IEEE international conference on software science, technology & engineering (SwSTE), pp 46–53Google Scholar
  10. 10.
    Cleland-Huang J, Settimi R, Zou X, Solc P (2007) Automated classification of non-functional requirements. Requir Eng 12(2):103–120CrossRefGoogle Scholar
  11. 11.
    Clements P, Northrop LM (2001) Software product lines: practices and patterns. Addison-Wesley, Reading, MAGoogle Scholar
  12. 12.
    Cybulski JL, Reed K (2000) Requirements classification and reuse: crossing domain boundaries. In: Proceedings of the sixth international conference on software reuse: advances in software reusability (ICSR), pp 190–210Google Scholar
  13. 13.
    Damian D, Chisan J (2006) An empirical study of the complex relationships between requirements engineering processes and other processes that lead to payoffs in productivity, quality, and risk management. IEEE Trans Softw Eng 32(7):433–453CrossRefGoogle Scholar
  14. 14.
    Daneva M (2000) Reuse measurement in the ERP requirements engineering process. In: Frakes W (ed) Software reuse: advances in software reusability (ICSR), LNCS1844. Springer, Berlin, pp 211–230CrossRefGoogle Scholar
  15. 15.
    Davis AM, Yourdon E, Zweig AS (2000) Requirements management made easy. Technical report, Omni-Vista, Inc. http://homepages.laas.fr/kader/Davis_et_al.pdf
  16. 16.
    Ellis K, Berry DM (2013) Quantifying the impact of requirements definition and management process maturity on project outcome in business application development. Requir Eng J 18(3):223–249CrossRefGoogle Scholar
  17. 17.
    Finkelstein A (1988) Re-use of formatted requirements specifications. Softw Eng J 3(5):186–197CrossRefGoogle Scholar
  18. 18.
    Fortune J, Valerdi R, Boehm BW, Settles FS (2009) Estimating systems engineering reuse. In: Seventh annual conference on systems engineering research (CSER). http://cser.lboro.ac.uk/papers/S01-10.pdf
  19. 19.
    Frakes WB, Succi G (2001) An industrial study of reuse, quality, and productivity. J Syst Softw 57(2):99–106CrossRefGoogle Scholar
  20. 20.
    Garlan D, Allen R, Ockerbloom J (1995) Architectural mismatch: Why reuse is so hard. IEEE Softw 12(6):17–26CrossRefGoogle Scholar
  21. 21.
    Glass RL (1998) Reuse: what‘s wrong with this picture? IEEE Softw 15(2):57–59CrossRefGoogle Scholar
  22. 22.
    Harter DE, Kemerer CF, Slaughter SA (2012) Does software process improvement reduce the severity of defects? A longitudinal field study. IEEE Trans Softw Eng 38(4):810–827CrossRefGoogle Scholar
  23. 23.
    Hoadley CM, Linn MC, Mann LM, Clancy MJ (1996) When, why, and how do novice programmers reuse code? In: Gray WD, Boehm-Davis DA (eds) Proceedings of the sixth workshop on empirical studies of programmers, Ablex Publishing, Norwood, NJGoogle Scholar
  24. 24.
    IBM Rational DOORS (2011) Viewed 10 Aug 2011. http://www-01.ibm.com/software/awdtools/doors/
  25. 25.
    ICSR. International conference on software reuse. http://www.informatik.uni-trier.de/ley/db/conf/icsr/index.html
  26. 26.
    Israel Aerospace Industries (2012) MBT missiles division. Viewed 3 Aug 2012. http://www.iai.co.il/15901-en/SystemMissileandSpace_MBTMissiles.aspx
  27. 27.
    Israel Aerospace Industries (2012) MBT space division. Viewed 3 Aug 2012. http://www.iai.co.il/18660-en/SystemMissileandSpace_SpaceDivision.aspx
  28. 28.
    Israel Aerospace Industries (2012) Systems missiles and space group. Viewed 3 Aug 2012. http://www.iai.co.il/25467-en/Groups.aspx
  29. 29.
    Jacobson I, Griss M, Johnsson P (1997) Software reuse, architecture process and organization for business success. Addison Wesley Longman, HarlowGoogle Scholar
  30. 30.
    Jones C (1995) Patterns of software systems failure and success. International Thompson Computer Press, Boston, MAGoogle Scholar
  31. 31.
    Kaindl H, Śmiałek M, Nowakowski W (2010) Case-based reuse with partial requirements specifications. In: Proceedings of the 2010 eighteenth IEEE international requirements engineering conference (RE), pp 399–400Google Scholar
  32. 32.
    Kang KC, Cohen SG, Holibaugh R, Perry J, Peterson AS (1992) A reuse-based software development methodology. Technical report CMU/SEI-92-SR-004, Software Engineering Institute, CMU. http://www.sei.cmu.edu/library/abstracts/reports/92sr004.cfm
  33. 33.
    Khraiwesh M, El Sheikh A (2009) Empirical validation of requirements management measures. Int Arab J Inf Technol 6(2):196–203Google Scholar
  34. 34.
    Lam W, McDermid JA, Vickers AJ (1997) Ten steps towards systematic requirements reuse. In: Proceedings of the third IEEE international symposium on requirements engineering (RE), pp 6–15Google Scholar
  35. 35.
    Lauesen S (2002) Software requirements: styles and techniques. Addison-Wesley, Reading, MAGoogle Scholar
  36. 36.
    Lee N-Y, Litecky CR (1997) An empirical study of software reuse with special attention to ada. IEEE Trans Softw Eng 23(9):537–549CrossRefGoogle Scholar
  37. 37.
    Lim WC (1996) Reuse economics: a comparison of seventeen models and directions for future research. In: Proceedings of the fourth international conference on software reuse (ICSR ’96), pp 41–51Google Scholar
  38. 38.
    Loconsole A (2004) Empirical studies on requirement management measures. In: Proceedings of the twenty-sixth international conference on software engineering (ICSE), pp 42–44Google Scholar
  39. 39.
    Loconsole A, Börstler J (2005) An industrial case study on requirements volatility measures. In: Proceedings of the twelfth Asia-Pacific software engineering conference (APSEC), pp 249–256Google Scholar
  40. 40.
    LombardHill.com. (2012) World’s largest reuse bibliography. Viewed 2 Aug 2012. http://www.lombardhill.com/biblio4.html
  41. 41.
    López Villegas O, Ángel Laguna M (2001) Requirements reuse for software development. In: RE 2001 doctoral symposium. http://giro.infor.uva.es/Publications/2001/LL01/Doc-Workshop.pdf
  42. 42.
    Loral Federal Systems and SWSC/SMX (1996) Software technology for adaptable, reliable systems (STARS), air force/STARS demonstration project experience report, version 3.1, vol I. Technical report, USAF Material Command, Electronics Systems CenterGoogle Scholar
  43. 43.
    Maiden N, Sutcliffe A (1992) Exploiting reusable specifications through analogy. Commun ACM 35(4):55–64CrossRefGoogle Scholar
  44. 44.
    Maiden N, Sutcliffe A (1993) People-oriented software reuse: the very thought. In: Proceedings advances in software reuse, selected papers from the second international workshop on software reusability, pp 176–185Google Scholar
  45. 45.
    Maiden NAM, Mistry P, Sutcliffe AG (1995) How people categorise requirements for reuse: a natural approach. In: Second IEEE international symposium on requirements engineering (RE), pp 148–157Google Scholar
  46. 46.
    McConnell S (1996) Rapid development: taming wild software schedules. Microsoft Press, Redmond, WAGoogle Scholar
  47. 47.
    Meth H, Brhel M (2012) Rise of the machines, the state of the art in automated requirements eliciation. Technical report working paper, enterprise information systems, University of MannheimGoogle Scholar
  48. 48.
    Morais CGB, de Oliveira Basilio J, da Silva LF, de Barbalho TR (2010) Cognitio: um processo para reuso de requisitos. Holo, 4 (in Portuguese). http://www2.ifrn.edu.br/ojs/index.php/HOLOS/article/view/488/369
  49. 49.
    Morisio M, Ezran M, Tully C (2002) Success and failure factors in software reuse. IEEE Trans Softw Eng 28(4):340–357CrossRefGoogle Scholar
  50. 50.
    Moser T, Winkler D, Heindl M, Biffl S (2011) Requirements management with semantic technology: an empirical study on automated requirements categorization and conflict analysis. In: Proceedings of the twenty-third international conference on advanced information systems engineering (CAiSE), pp 3–17Google Scholar
  51. 51.
    na Moros B, Vicente-Chicote C, Toval A (2008) Metamodeling variability to enable requirements reuse. In: Proceedings of the thirteeth international workshop on exploring modeling methods for systems analysis and design (EMMSAD), pp 140–154Google Scholar
  52. 52.
    Paech B, Koenig T, Borner L, Aurum A (2005) An analysis of empirical requirements engineering survey data. In: Engineering and managing software requirements, part 3. Springer, Berlin, pp 427–452Google Scholar
  53. 53.
    Paulk MC, Curtis B, Chrissis MB, Weber CV (1993) Capability maturity model, version 1.1. IEEE Softw 10(4):18–27CrossRefGoogle Scholar
  54. 54.
    Poulin JS (1997) Measuring software reuse. Addison-Wesley, Reading, MAGoogle Scholar
  55. 55.
    Reifer DJ (1997) Practical software reuse. Wiley, New York, NYzbMATHGoogle Scholar
  56. 56.
    Rittel H, Webber M (1973) Dilemmas in a general theory of planning. Policy Sci 4:155–169CrossRefGoogle Scholar
  57. 57.
    Robertson S (1996) Reuse lifecycle: essentials and implementations. In: Proceedings of the international workshop on systematic reuseGoogle Scholar
  58. 58.
    Robson C (2011) Real world research, 3rd edn. Wiley–Blackwell, Chicester, West SussexGoogle Scholar
  59. 59.
    Schach SR (1994) The economic impact of software reuse on maintenance. J Softw Maint Res Pract 6(4):185–196CrossRefGoogle Scholar
  60. 60.
    Sen A (1997) The role of opportunism in the software design reuse process. IEEE Trans Softw Eng 23(7):418–436CrossRefGoogle Scholar
  61. 61.
    Shehata MS, Eberlein A, Hoover HJ (2002) Requirements reuse and feature interaction management. In: Proceedings of the fifthteenth international conference on software & systems engineering and their applications (ICSSEA). http://www2.enel.ucalgary.ca/People/eberlein/publications/FI_ICSSEA2002.pdf
  62. 62.
    Sherif K, Vinze A (2003) Barriers to adoption of software reuse: a qualitative study. Inf Manag 41(2):159–175CrossRefGoogle Scholar
  63. 63.
    Software Engineering Institute (2010) Capability maturity model integration (CMMI) overview. Viewed 10 Aug 2010. http://www.sei.cmu.edu/cmmi/
  64. 64.
  65. 65.
    Tomer A, Goldin L, Kuflik T, Kimchi E, Schach SR (2004) Evaluating software reuse alternatives: a model and its application to an industrial case study. IEEE Trans Softw Eng 30:601–612CrossRefGoogle Scholar
  66. 66.
    Toval A, Nicolás J, na Moros B, Garcia O (2001) Requirements reuse for improving information systems security: a practitioner’s approach. Requir Eng J 6(4):205–219CrossRefGoogle Scholar
  67. 67.
    Tracz W (1995) Confessions of a used program salesman: institutionalizing software reuse. Addison-Wesley, Reading, MAGoogle Scholar
  68. 68.
    US DoD (1994) MIL-STD-498, Military Standard: Software Development and Documentation. http://www.everyspec.com/MIL-STD/MIL-STD+(0300+-+0499)/download.php?spec=MIL-STD-498.025500.pdf
  69. 69.
    Valerdi R, Rieff J, Roedler G, Wheaton M, Wang G (2007) Lessons learned from industrial validation of COSYSMO. In: Proceedings of the seventeenth INCOSE symposium. http://web.mit.edu/rvalerdi/www/Lessons%20learned%20from%20industrial%20validation%20of%20COSYSMO%20Rev5.pdfGoogle Scholar
  70. 70.
    Weyuker EJ (1999) Evaluation techniques for improving the quality of very large software systems in a cost-effective way. J Syst Softw 47(2–3):97–103CrossRefGoogle Scholar
  71. 71.
    Wiegers KE (2003) Software requirements, 2nd edn. Microsoft Press, Redmond, WAGoogle Scholar
  72. 72.
    Wikipedia (2012) Israel aerospace industries. Viewed 3 Aug 2012. http://en.wikipedia.org/wiki/Israel_Aerospace_Industries

Copyright information

© Springer-Verlag London 2013

Authors and Affiliations

  1. 1.Department of Software EngineeringAfeka—Tel Aviv Academic College of EngineeringTel AvivIsrael
  2. 2.Cheriton School of Computer ScienceUniversity of WaterlooWaterlooCanada

Personalised recommendations