2011
Product-Line Models to Address Requirements Uncertainty, Volatility and Risk
in: Relating Software Requirements and Architectures, Ivan Mistrik, John Grundy, Patricia Lago, Jon Hall, Paris Avgeriou, eds. Springer, 2011
Requirements uncertainty refers to changes that occur to requirements
during the development of software. In complex projects, this leads
to task uncertainty, with engineers either under- or over-engineering
the design. We present a proposed commitment uncertainty approach
in which linguistic and domain-specific indicators are used to prompt
for the documentation of perceived uncertainty. We provide structure
and advice on the development process so that engineers have a clear
concept of progress that can be made at reduced technical risk.
Our contribution is in the evaluation of a proposed technique of this
form in the engine control domain, showing that the technique is able
to suggest design approaches and that the suggested flexibility does
accommodate subsequent changes to the requirements. The aim is not to
replace the process of creating a suitable architecture, but instead
to provide a framework that emphasises constructive design action.