Popis: |
A complex system's requirements almost always remain uncertain late into its software development. In gas turbine engine control systems at Rolls-Royce, for a traditional project (non-product line) typically 50% of requirements will change between Critical Design Review and Entry into Service. Requirements uncertainty is particularly relevant when defining the scope of a Software Product Line. If the core asset team fails to recognise or accommodate requirements uncertainty, changes will manifest later in the product line. If the core asset team over-compensates by adding too much functionality or variability to account for a wide range of uncertainty, they will invest effort that may never be required. The optimal balance can be found through an application of requirements uncertainty analysis and understanding the balance between the impact of risk and mitigation effort. This paper first describes the use of the requirements uncertainty analysis technique at Rolls-Royce for traditional (non-product line) software development and then explains how this technique works in the context of a software product line. |