Date post: | 27-Jan-2015 |
Category: |
Business |
Upload: | ian-sommerville |
View: | 110 times |
Download: | 0 times |
Requirements Engineering Processes, York EngD Programme, 2009 Slide 1
Requirements engineering processes
Prof Ian Sommerville
Requirements Engineering Processes, York EngD Programme, 2009 Slide 2
Objectives
• To introduce the activities in requirements engineering processes
• To discuss the reasons why there RE processes vary significantly from one organisation to another
• To introduce the activity of requirements management
Requirements Engineering Processes, York EngD Programme, 2009 Slide 3
RE process perspectives
Different views of requirements engineering processes
Requirements Engineering Processes, York EngD Programme, 2009 Slide 4
Perceptions of requirements engineering
• Requirements engineering (RE) means different things to different people
– It’s about problem analysis, and
– It’s about solution specification, and
– It’s the baseline for design, and
– It’s what you do at the start of the life-cycle.
• RE is all of these things so, as a consequence, there cannot be a single, definitive RE process
• RE processes vary dramatically depending on the type of system being developed and the maturity of the organisation procuring the system
Requirements Engineering Processes, York EngD Programme, 2009 Slide 5
Goals of requirements engineering
• Specify a product that satisfies the stakeholders and constraints
• Specify how that satisfaction is to be verified
• Enable project planning and cost estimation
• Manage change
• Write a description of the requirements in a form that is suitable for the customer for the system and for the system developer
Requirements Engineering Processes, York EngD Programme, 2009 Slide 6
RE process interactions
Requirements Engineering Processes, York EngD Programme, 2009 Slide 7
A staged model of a requirements engineering
process
Requirements Engineering Processes, York EngD Programme, 2009 Slide 8
A spiral view of the RE process
Requirements Engineering Processes, York EngD Programme, 2009 Slide 9
Process variability
• The factors that lead to variability in requirements engineering processes
Requirements Engineering Processes, York EngD Programme, 2009 Slide 10
Process activities
• Requirements discovery– Interacting with stakeholders to discover their
requirements. Domain requirements are also discovered at this stage.
• Requirements classification and organisation– Groups related requirements and organises them
into coherent clusters.
• Prioritisation and negotiation– Prioritising requirements and resolving requirements
conflicts.
• Requirements documentation– Requirements are documented and input into the
next round of the spiral.
Requirements Engineering Processes, York EngD Programme, 2009 Slide 11
Problem understanding
• Understanding the problem when developing requirements for a system is not a simple technical issue.
• Requirements engineers have to understand– The product
– The process
– The customer (s)
– The developer (s) of the software
– The deployment environment
Requirements Engineering Processes, York EngD Programme, 2009 Slide 12
Is the product...
• An information system?– Understanding the organisational environment is
crucial;
– The organisation may change radically;
• An embedded or hybrid system?– Operational environment needs to be understood;
– Solution architecture fixed early and hard to change;
– Production problems tend to migrate to the software.
• A custom-built system or a software product– Do customers for know what their requirements
are?
– Who supplies the requirements for a software product?
Requirements Engineering Processes, York EngD Programme, 2009 Slide 13
Is the process...
• Customer-driven?– Customer is principal stakeholder;
– Typically a document-driven process.
• Market-driven?– Time-to-market is the dominant constraint;
– Developer is principal stakeholder;
– Driven by product vision for first release. Subsequent releases need to balance developer’s strategic goals and customers’ requirements.
Requirements Engineering Processes, York EngD Programme, 2009 Slide 14
Is the customer…
• Homogeneous?– Need to understand their business and strategic
objectives.
• Heterogeneous?– Need to trade off conflicting requirements, This is
the normal situation.
• Merely potential?– Need a proxy to represent the actual customer
Requirements Engineering Processes, York EngD Programme, 2009 Slide 15
Has the developer...
• A document culture?– Documentation may be an overhead for small start-
ups - but a creeping requirement as product and customer base grows.
• A quality culture?– RE ‘products’ perceived to have only an indirect
relationship to software products;
– Classical view of quality conflicts with short development cycles.
• A RAD culture?– No experience of dealing with requirements
documents but works on the basis of prototyping and rapid evolution
Requirements Engineering Processes, York EngD Programme, 2009 Slide 16
Is the deployment environment...
• An existing environment with established processes and equipment?
– How should the system integrate with the existing equipment? Will existing processes be resistant to change?
• Flexible and geared to change?– Are the people in the environment used to change or
will they resist the system?
– Is the management tradionally hierarchical?
• Disciplined?– Do the people in the environment work according to a
process or do they set their own tasks?
Requirements Engineering Processes, York EngD Programme, 2009 Slide 17
Why is RE hard to get right?
• The world is complex– The problem is not always tractable to analysis.
• The world changes– The problem will change … and the solution may
change the problem.
• Resources are scarce– RE is always tightly time- and money-bound;
– Required effort will exceed budget.
Requirements Engineering Processes, York EngD Programme, 2009 Slide 18
Typical process problems
• Requirements elicitation– Failure to consider all important stakeholders and
therefore critical requirements are not included in the system
• Requirements analysis– Failure to carry out a detailed analysis of the
requirements
– System and problem models become inconsistent
• Requirements validation– Failure to identify requirements tests
– Insufficient validation of requirements
• Requirements management– Failure of change control and management of
requirements
Requirements Engineering Processes, York EngD Programme, 2009 Slide 19
Symptoms of RE process problems
• Product problems– Customer dissatisfaction
– Delays in implementing changes to products
– Unused product features
• People problems– System stakeholders feel excluded
– Meetings failing to reach agreement
• Schedule problems– Requirements changes take a long time to negotiate
– Extensive rework causes schedule delays
Requirements Engineering Processes, York EngD Programme, 2009 Slide 20
Requirements management
The process of managing changes to system requirements
Requirements Engineering Processes, York EngD Programme, 2009 Slide 21
Requirements management
• Requirements management is the process of managing changing requirements during the requirements engineering process and system development.
• Requirements are inevitably incomplete and inconsistent
– New requirements emerge during the process as business needs change and a better understanding of the system is developed;
– Different viewpoints have different requirements and these are often contradictory.
Requirements Engineering Processes, York EngD Programme, 2009 Slide 22
Requirements change
• The priority of requirements from different viewpoints changes during the development process.
• System customers may specify requirements from a business perspective that conflict with end-user requirements.
• The business and technical environment of the system changes during its development.
Requirements Engineering Processes, York EngD Programme, 2009 Slide 23
Requirements evolution
Requirements Engineering Processes, York EngD Programme, 2009 Slide 24
Enduring and volatile requirements
• Enduring requirements. Stable requirements derived from the core activity of the customer organisation. E.g. a hospital will always have doctors, nurses, etc. May be derived from domain models
• Volatile requirements. Requirements which change during development or when the system is in use. In a hospital, requirements derived from health-care policy
Requirements Engineering Processes, York EngD Programme, 2009 Slide 25
Requirements classification
RequirementType
Description
Mutablerequirements
Requirements that change because of changes to the environment in which theorganisation is operating. For example, in hospital systems, the funding of patientcare may change and thus require different treatment information to be collected.
Emergentrequirements
Requirements that emerge as the customer's understanding of the system developsduring the system development. The design process may reveal new emergentrequirements.
Consequentialrequirements
Requirements that result from the introduction of the computer system. Introducingthe computer system may change the organisations processes and open up new waysof working which generate new system requirements
Compatibilityrequirements
Requirements that depend on the particular systems or business processes within anorganisation. As these change, the compatibility requirements on the commissionedor delivered system may also have to evolve.
Requirements Engineering Processes, York EngD Programme, 2009 Slide 26
Requirements management planning
• During the requirements engineering process, you have to plan:
– Requirements identification
• How requirements are individually identified;
– A change management process
• The process followed when analysing a requirements change;
– Traceability policies
• The amount of information about requirements relationships that is maintained;
– CASE tool support
• The tool support required to help manage requirements change;
Requirements Engineering Processes, York EngD Programme, 2009 Slide 27
Requirements identification
• A scheme has to be devised for requirements identification so that requirements can be unambiguously identified
• The most common scheme is a nested numbering scheme e.g. 1.2.3. However, such schemes are a problem
– The top level classification (the first number) has to be fixed in advance
– There are problems when requirements are changed
• Major problem is ensuring that stakeholders use the requirements identification scheme in a consistent way
Requirements Engineering Processes, York EngD Programme, 2009 Slide 28
Change management
Requirements Engineering Processes, York EngD Programme, 2009 Slide 29
Traceability
• Traceability is concerned with the relationships between requirements, their sources and the system design
• Source traceability– Links from requirements to stakeholders who
proposed these requirements;
• Requirements traceability– Links between dependent requirements;
• Design traceability– Links from the requirements to the design;
Requirements Engineering Processes, York EngD Programme, 2009 Slide 30
Tool support
• Requirements storage– Requirements should be managed in a secure,
managed data store.
• Change management– The process of change management is a workflow
process whose stages can be defined and information flow between these stages partially automated.
• Traceability management– Automated retrieval of the links between
requirements.
Requirements Engineering Processes, York EngD Programme, 2009 Slide 31
Key points
• A staged requirements engineering process includes a feasibility study, requirements elicitation and analysis, requirements specification and requirements management.
• Social and organisational factors influence system requirements, resulting in variations in RE processes
• Business changes inevitably lead to changing requirements.
• Requirements management includes planning and change management.