L4 RE Processes

31
Requirements Engineering Processes, York EngD Programme, 2009 Slide 1 Requirements engineering processes Prof Ian Sommerville

description

Requirements engineering processes - different ways of looking at requirements engineering

Transcript of L4 RE Processes

Page 1: L4 RE Processes

Requirements Engineering Processes, York EngD Programme, 2009 Slide 1

Requirements engineering processes

Prof Ian Sommerville

Page 2: L4 RE Processes

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

Page 3: L4 RE Processes

Requirements Engineering Processes, York EngD Programme, 2009 Slide 3

RE process perspectives

Different views of requirements engineering processes

Page 4: L4 RE 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

Page 5: L4 RE Processes

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

Page 6: L4 RE Processes

Requirements Engineering Processes, York EngD Programme, 2009 Slide 6

RE process interactions

Page 7: L4 RE Processes

Requirements Engineering Processes, York EngD Programme, 2009 Slide 7

A staged model of a requirements engineering

process

Page 8: L4 RE Processes

Requirements Engineering Processes, York EngD Programme, 2009 Slide 8

A spiral view of the RE process

Page 9: L4 RE Processes

Requirements Engineering Processes, York EngD Programme, 2009 Slide 9

Process variability

• The factors that lead to variability in requirements engineering processes

Page 10: L4 RE 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.

Page 11: L4 RE Processes

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

Page 12: L4 RE Processes

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?

Page 13: L4 RE Processes

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.

Page 14: L4 RE Processes

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

Page 15: L4 RE Processes

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

Page 16: L4 RE Processes

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?

Page 17: L4 RE Processes

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.

Page 18: L4 RE Processes

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

Page 19: L4 RE Processes

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

Page 20: L4 RE Processes

Requirements Engineering Processes, York EngD Programme, 2009 Slide 20

Requirements management

The process of managing changes to system requirements

Page 21: L4 RE Processes

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.

Page 22: L4 RE Processes

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.

Page 23: L4 RE Processes

Requirements Engineering Processes, York EngD Programme, 2009 Slide 23

Requirements evolution

Page 24: L4 RE Processes

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

Page 25: L4 RE Processes

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.

Page 26: L4 RE Processes

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;

Page 27: L4 RE Processes

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

Page 28: L4 RE Processes

Requirements Engineering Processes, York EngD Programme, 2009 Slide 28

Change management

Page 29: L4 RE Processes

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;

Page 30: L4 RE Processes

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.

Page 31: L4 RE Processes

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.