# Impact of requirements volatility on software architecture: How do   software teams keep up with ever-changing requirements?

**Authors:** Sandun Dasanayake, Sanja Aaramaa, Jouni Markkula, Markku Oivo

arXiv: 1904.08164 · 2019-04-18

## TL;DR

This paper explores how requirements volatility impacts software architecture, highlighting challenges like poor documentation and increased complexity, based on an exploratory case study with insights for better management.

## Contribution

It provides empirical insights into the factors and implications of requirements volatility on software architecture through interviews in a real-world setting.

## Key findings

- Poor communication and external dependencies cause volatility.
- Volatility leads to inadequate documentation and increased complexity.
- Insights suggest ways to improve volatility management.

## Abstract

Requirements 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 is greatly affected by requirements volatility. Since critical architecture decisions are made based on the requirements at hand, changes in requirements can result signifiant changes in architecture. With the wide adoption of agile software development, software architectures are designed to accommodate possible future changes. However, the changes has to be carefully managed as unnecessary and excessive changes can bring negative consequences. An exploratory case study was conducted to study the impact of requirements volatility on software architecture. Fifteen semi-structured, thematic interviews were conducted in a European software company. The research revealed poor communication, information distortion, and external dependencies as the main factors that cause requirement volatility and inadequate architecture documentation, inability to trace design rationale, and increased complexity as the main implications of requirements volatility on software architecture. Insights from software teams' awareness of the requirement volatility, factors contribute to it, and possible ways to mitigate its implications will be utilized to improve the management of requirement volatility during software architecting process.

---
Source: https://tomesphere.com/paper/1904.08164