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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- Bass, L., Clements, P., and Kazman, R. Software Architecture in Practice. Addison-Wesley Professional, New Jersey, 2012. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Clements, Paul, Kazman, Rick, and Klein, Mark. Evaluating Software Architectures: Methods and Case Studie. Addison-Wesley Professional, 2001.Google Scholar
- 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 ScholarDigital Library
- Cunningham, W. The WyCash Portfolio Management System. ( 1992), ACM.Google Scholar
- 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 ScholarDigital Library
- Firesmith, D. Are Your Requirements Complete? Journal of object technology, 4, 1 (2005), 27-43.Google Scholar
- Fowler, M. Is design dead? In Succi, G. and Marchesi, M., eds., Extreme programming examined. Addison-Wesley Longman Publishing Co. Inc., Boston, 2001. Google ScholarDigital Library
- Geer, D. and Ruhe, G. Software release planning: An evolutionary and iterative approach. Information and Software Technology, 46 (2004), 243-253.Google ScholarCross Ref
- 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 Scholar
- Gubrium, J. F. and Holstein, J. A. Handbook of Interview Research. Context & Method. Thousand Oaks: Sage Publications, 2002.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Kotonya, G. and Sommerville, I. Requirements Engineering - Process and Techniques. John Wiley & Sons Ltd, West Sussex, 2003. Google ScholarDigital Library
- Kruchten, P., Nord, R. L., and Ozkaya, I. Technical debt: from metaphor to theory and practice. IEEE Software, 29, 6 (2012), 18-21. Google ScholarDigital Library
- Lauesen, S. Software Requirmenents - Styles and Techniques. Addison-Wesley, London, 2002. Google ScholarDigital Library
- Leffingwell, D. and Widrig, D. Managing Software Requirements: a use case approach. Pearson Education, Inc., Boston, 2003. Google ScholarDigital Library
- Li, Z., Liang, P., and Avgeriou, P. Architectural debt management in valueoriented architecting. In Economics-Driven Software Architecture. Elsevier, Boston, 2014.Google ScholarCross Ref
- Macaulay, L., Fowler, C., Kirby, M., and Hutt, A. USTM: a new approach to requirements specification, Interacting with Computers (1990), 92-118. Google ScholarDigital Library
- Maciaszek, L. Requirements Analysis and System Design. Pearson Education, Harlow, 2005. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Mundlamuri, S. Managing the Impact of Requirements Volatility. Department of Computing Science, Umeå, Sweden, 2005.Google Scholar
- 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 ScholarDigital Library
- Nidumolu, S. R. Standardization, requirements uncertainty and software project performance. Information & Management, 31, 3 (1996), 135-150. Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 Scholar
- Nuseibeh, B. Weaving together requirements and architectures. Computer, 34, 3 (2001), 115 - 119. Google ScholarDigital Library
- 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 ScholarCross Ref
- Rolland, C., Salines, C., and Etien, A. Eliciting gaps in requirements change. Requirements Engineering, 9, 1 (2004), 1-15. Google ScholarDigital Library
- Runeson, P., Höst, M., Rainer, A., and Regnell, B. Case Study Research in Software Engineering: Guidelines and Examples. Wiley, 2012. Google ScholarDigital Library
- Sage, A. P. Systems engineering. John Wiley & Sons, New York, 1992. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Singh, M. P. and Vyas, R. Requirements Volatility in software development process. International Journal of Soft Computing, 2, 4 (2012), 259-264.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Strigini, L. Limiting the Dangers of Intuitive Decision Making. IEEE Software, 13 (1996), 101-103. Google ScholarDigital Library
- Systems and software engineering — Architecture description. ISO/IEC/IEEE 42010:2011(E) (2011).Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Wiegers, Karl E. Software Engineering. Microsoft Press, Redmond, Washington, 2003.Google Scholar
- Yin, R. K. Case Study Research: Design and Methods. SAGE Publications, 2008.Google Scholar
- 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 ScholarDigital Library
Index Terms
- Requirements volatility in software architecture design: an exploratory case study
Recommendations
Impact of requirements volatility on software architecture: How do software teams keep up with ever‐changing requirements?
AbstractRequirements volatility is a major issue in software development, causing problems such as higher defect density, project delays, and cost overruns. Software architecture that guides the overall vision of software product is one of the areas that ...
This case study provides empirical evidence on the relationship between requirements and software architecture, and how changes in one can affect the other. The study identifies the factors that contribute to requirement volatility as well as how ...
An Effective Requirement Engineering Process Model for Software Development and Requirements Management
ARTCOM '10: Proceedings of the 2010 International Conference on Advances in Recent Technologies in Communication and ComputingRequirement engineering is the most effective phase of software development process. It aims to collect good requirements from stakeholders in the right way. It is important for every organization to develop quality software products that can satisfy ...
Putting non-functional requirements into software architecture
IWSSD '98: Proceedings of the 9th international workshop on Software specification and designThis paper presents an approach for incorporating non-functional information of software systems into software architectures. To do so, components present two distinguished slots: their non-functional specification, where non-functional requirements on ...
Comments