skip to main content
10.1145/3084100.3084105acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Requirements volatility in software architecture design: an exploratory case study

Published:05 July 2017Publication History

ABSTRACT

Requirements volatility is a major issue in software (SW) development, causing problems such as project delays and cost overruns. Even though there is a considerable amount of research related to requirement volatility, the majority of it is inclined toward project management aspects. The relationship between SW architecture design and requirements volatility has not been researched widely, even though changing requirements may for example lead to higher defect density during testing. An exploratory case study was conducted to study how requirements volatility affects SW architecture design. Fifteen semi-structured, thematic interviews were conducted in the case company, which provides the selection of software products for business customers and consumers. The research revealed the factors, such as requirements uncertainty and dynamic business environment, causing requirements volatility in the case company. The study identified the challenges that requirements volatility posed to SW architecture design, including scheduling and architectural technical debt. In addition, this study discusses means of mitigating the factors that cause requirements volatility and addressing the challenges posed by requirements volatility. SW architects are strongly influenced by requirement volatility. Thus understanding the factors causing requirements volatility as well as means to mitigate the challenges has high industrial relevance.

References

  1. Ahmad, Z., Hussain, M., Rehman, A., Qamar, U., and Afzal, M. Impact minimization of requirements change in software project through requirements classification. In Proceedings of the 9th International Conference on Ubiquitous Information Management and Communication ( 2015), 1-5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Ahn, S. and Chong, K. Eliciting potential requirements with feature-oriented gap analysis. In Reuse of Off-the-Shelf Components ( 2006), Springer Berlin Heidelberg, 427-431. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Andres, H. P. A comparison of face-to-face and virtual software development teams. Team Performance Management: An International Journal, 8, 1/2 (2002), 39-48.Google ScholarGoogle ScholarCross RefCross Ref
  4. Andrews, A. A. and Pradhan, A. S. Ethical Issues in Empirical Software Engineering: The Limits of Policy. Empirical Software Engineering, 6, 2 (2001), 105-110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Anish, P. R., Balasubramaniam, B., Cleland-Huang, J., Wieringa, R., Daneva, M., and Ghaisas, S. Identifying architecturally significant functional requirements. In Proceedings of the 5th International Workshop on Twin Peaks of Requirements and Architecture (TwinPeaks'15) (Piscataway, NJ 2015), IEEE Press, 3-8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Anish, P. R., Daneva, M., Cleland-Huang, J., Wieringa, R. J., and Ghaisas, S. What you ask is what you get: Understanding architecturally significant functional requirements. In Requirements Engineering Conference (RE) 23rd International ( 2015), IEEE, 86-95.Google ScholarGoogle ScholarCross RefCross Ref
  7. Bass, L., Clements, P., and Kazman, R. Software Architecture in Practice. Addison-Wesley Professional, New Jersey, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Bass, L., Nord, R., Wood, W., and Zubrow, D. Risk themes discovered through architecture evaluations. In Software Architecture, 2007. WICSA '07. The Working IEEE/IFIP Conference on ( 2007), IEEE, 44-54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Carlshamre, P., Sandahl, K., Lindvall, M., Regnell, B., and Nattoch Dag, J. An industrial survey of requirements interdependencies in software product release planning. In Proc. IEEE Int. Conf. on Requirements Engineering (Toronto, Canada 2001), 84–91. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Christel, M. G. and Kang, K. C. Issues in requirements elicitation. CMU/SEI-92-ICSSP’17, July 05-07,2017, Paris, France S. Aaramaa et al. TR-12, Carnegie-Mellon University, PITTSBURGH PA, 1992.Google ScholarGoogle Scholar
  11. Cleland-Huang, J., Hanmer, R. S., Supakkul, S., and Mirakhorli, M. The Twin Peaks of Requirements and Architecture. IEEE Software, 30, 2 (March-April 2013), 24-29. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Clements, Paul, Kazman, Rick, and Klein, Mark. Evaluating Software Architectures: Methods and Case Studie. Addison-Wesley Professional, 2001.Google ScholarGoogle Scholar
  13. Clements, Paul, Kazman, Rick, Klein, Mark, Devesh, Divya, Reddy, Shivani, and Verma, Prageti. The Duties, Skills, and Knowledge of Software Architects. In Proceedings of the Working IEEE/IFIP Conference on Software Architecture ( 2007), IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Cunningham, W. The WyCash Portfolio Management System. ( 1992), ACM.Google ScholarGoogle Scholar
  15. Dasanayake, S., Markkula, J., Aaramaa, S., and Oivo, M. Software Architecture Decision-Making Practices and Challenges: An Industrial Case Study. In 24th Australasian Software Engineering Conference (Adelaide 2015), TBD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Firesmith, D. Are Your Requirements Complete? Journal of object technology, 4, 1 (2005), 27-43.Google ScholarGoogle Scholar
  17. Fowler, M. Is design dead? In Succi, G. and Marchesi, M., eds., Extreme programming examined. Addison-Wesley Longman Publishing Co. Inc., Boston, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Geer, D. and Ruhe, G. Software release planning: An evolutionary and iterative approach. Information and Software Technology, 46 (2004), 243-253.Google ScholarGoogle ScholarCross RefCross Ref
  19. Gil, N. and Beckman, S. Design reuse and buffers in high-tech infrastructure development: A stakeholder perspective. Engineering Management, IEEE Transactions on, 54, 3 (2007), 484-497.Google ScholarGoogle Scholar
  20. Gubrium, J. F. and Holstein, J. A. Handbook of Interview Research. Context & Method. Thousand Oaks: Sage Publications, 2002.Google ScholarGoogle Scholar
  21. Hickey, A. M. and Davis, A. M. Requirements elicitation and elicitation technique selection: model for two knowledge-intensive software development processes. In System Sciences, 2003. Proceedings of the 36th Annual Hawaii International Conference on IEEE ( 2003). Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Hintersteiner, J. D. Addressing changing customer needs by adapting design requirements. In Proceeding of ICAD2000, 1st International Conference on Axiomatic Design ( 2000), 21-23.Google ScholarGoogle Scholar
  23. Huo, M., Verner, J., Zhu, L., and Babar, M. A. Software quality and agile methods. In Computer Software and Applications Conference, 2004. COMPSAC 2004. Proceedings of the 28th Annual Internationa ( 2004), IEEE, 520-525. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Jansen, Anton and Bosch, Jan. Software Architecture as a Set of Architectural Design Decisions. In Proceedings of 5th Working IEEE/IFIP Conference on Software Architecture ( 2005), IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Javed, T., Manzil e, M., and Durrani, Q. S. A Study to Investigate the Impact of Requirements Instability on Software Defects (2004), 1-7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Jiang, T. M. and Coyner, M. Software process disturbances. Incompsac (p. 167). IEEE. In Computer Software and Applications Conference, 2000. COMPSAC 2000. The 24th Annual International ( 2000), 167-168. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Klinger, T., Tarr, P., Wagstrom, P., and Williams, C. An enterprise perspective on technical debt. In Proceedings of the 2nd Workshop on managing technical debt ( 2011), ACM, 35-38. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Korkala, M., Abrahamsson, P., and Kyllönen, P. A case study on the impact of customer communication on defects in agile software development. In Agile Conference, 2006 IEEE ( 2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Kotonya, G. and Sommerville, I. Requirements Engineering - Process and Techniques. John Wiley & Sons Ltd, West Sussex, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Kruchten, P., Nord, R. L., and Ozkaya, I. Technical debt: from metaphor to theory and practice. IEEE Software, 29, 6 (2012), 18-21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Lauesen, S. Software Requirmenents - Styles and Techniques. Addison-Wesley, London, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Leffingwell, D. and Widrig, D. Managing Software Requirements: a use case approach. Pearson Education, Inc., Boston, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Li, Z., Liang, P., and Avgeriou, P. Architectural debt management in valueoriented architecting. In Economics-Driven Software Architecture. Elsevier, Boston, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  34. Macaulay, L., Fowler, C., Kirby, M., and Hutt, A. USTM: a new approach to requirements specification, Interacting with Computers (1990), 92-118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Maciaszek, L. Requirements Analysis and System Design. Pearson Education, Harlow, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Martini, A., Bosch, J., and Chaudron, M. Architecture technical debt: Understanding causes and a qualitative model. In Software Engineering and Advanced Applications (SEAA), 40th EUROMICRO Conference on ( 2014), IEEE, 85-92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Miller, James A., Ferrari, Remo, and Madhavji, Nazim H. An exploratory study of architectural effects on requirements decisions. Journal of Systems and Software, 83, 12 (2010), 2441–2455. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Mundlamuri, S. Managing the Impact of Requirements Volatility. Department of Computing Science, Umeå, Sweden, 2005.Google ScholarGoogle Scholar
  39. Na, K. S., Li, X., Simpson, J. T., and Kim, K. Y. Uncertainty profile and software project performance: A cross-national comparison. Journal of Systems and Software, 70, 1-2 (2004), 155-163. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Nidumolu, S. R. Standardization, requirements uncertainty and software project performance. Information & Management, 31, 3 (1996), 135-150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Niu, N., Da Xu, L., Cheng, J. R. C., and Niu, Z. Analysis of architecturally significant requirements for enterprise systems. Systems Journal, IEEE, 8, 3 (2014), 850-857.Google ScholarGoogle ScholarCross RefCross Ref
  42. Nord, R. L., Ozkaya, I., Kruchten, P., and Gonzalez-Rojas, M. In search of a metric for managing architectural technical debt. In Software Architecture (WICSA) and European Conference on Software Architecture (ECSA), 2012 Joint Working IEEE/IFIP Conference on ( 2012), 91-100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Nurmuliani, N., Zowghi, D., and Williams, S. P. Requirements volatility and its impact on change effort: Evidence-based research in software development projects. ( 2006).Google ScholarGoogle Scholar
  44. Nuseibeh, B. Weaving together requirements and architectures. Computer, 34, 3 (2001), 115 - 119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Pfahl, D. and Lebsanft, K. Using simulation to analyse the impact of software requirement volatility on project performance. Information and Software Technology, 42, 14 (2000), 1001-1008.Google ScholarGoogle ScholarCross RefCross Ref
  46. Rolland, C., Salines, C., and Etien, A. Eliciting gaps in requirements change. Requirements Engineering, 9, 1 (2004), 1-15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Runeson, P., Höst, M., Rainer, A., and Regnell, B. Case Study Research in Software Engineering: Guidelines and Examples. Wiley, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Sage, A. P. Systems engineering. John Wiley & Sons, New York, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Seddon, P. B. and Scheepers, R. Towards the improved treatment of generalization of knowledge claims in IS research: drawing general conclusions from samples. EJIS, 21, 1 (2012), 6-21.Google ScholarGoogle Scholar
  50. Shachaf, P. Cultural diversity and information and communication technology impacts on global virtual teams: An exploratory study. Information & Management, 45, 2 (2008), 131-142. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Singh, M. P. and Vyas, R. Requirements Volatility in software development process. International Journal of Soft Computing, 2, 4 (2012), 259-264.Google ScholarGoogle Scholar
  52. Stark, G. E., Oman, P., Skillicorn, A., and Ameele, A. An examination of the effects of requirements changes on software maintenance releases. Journal of Software Maintenance: Research and Practice, 11, 5 (1999), 293-309. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Stephenson, Z., Attwood, K., and McDermid, J. Product-Line Models to Address Requirements Uncertainty, Volatility and Risk. In Relating Relating Software Requirements and Architectures. Springer Berlin Heidelberg, 2011.Google ScholarGoogle Scholar
  54. Strigini, L. Limiting the Dangers of Intuitive Decision Making. IEEE Software, 13 (1996), 101-103. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Systems and software engineering — Architecture description. ISO/IEC/IEEE 42010:2011(E) (2011).Google ScholarGoogle Scholar
  56. Tang, A., Babar, M. A., Gorton, I., and Han, J. A survey of architecture design rationale. Journal of systems and software, 79, 12 (2006), 1792-1804. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. van Heesch, U. and Avgeriou, P. Mature architecting - a survey about the reasoning process of professional architects. In 9th Working IEEE/IFIP Conference on Software Architecture ( 2011), 260–269. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Wang, J., Li, J., Wang, Q., Zhang, H., and Wang, H. A Simulation Approach for Impact Analysis of Requirement Volatility Considering Dependency Change. In Requirements Engineering: Foundation for Software Quality. Springer Berlin Heidelberg, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Wiegers, Karl E. Software Engineering. Microsoft Press, Redmond, Washington, 2003.Google ScholarGoogle Scholar
  60. Yin, R. K. Case Study Research: Design and Methods. SAGE Publications, 2008.Google ScholarGoogle Scholar
  61. Zowghi, D. and Nurmuliani, N. A study of the impact of requirements volatility on software project performance. In Software Engineering Conference, 2002. 9th Asia-Pacific ( 2002), 3-11. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Requirements volatility in software architecture design: an exploratory case study

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Other conferences
          ICSSP 2017: Proceedings of the 2017 International Conference on Software and System Process
          July 2017
          146 pages
          ISBN:9781450352703
          DOI:10.1145/3084100

          Copyright © 2017 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 5 July 2017

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader