22
Requirements engineering challenges, 2013 Slide 1 Requirements engineering challenges Ian Sommerville http://www.youtube.com/watch?v=bK-y0CaGkhU

Requirements engineering challenges

Embed Size (px)

DESCRIPTION

Discusses some of the problems of requirements engineering

Citation preview

Page 1: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 1

Requirements engineering challenges

Ian Sommerville

http://www.youtube.com/watch?v=bK-y0CaGkhU

Page 2: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 2

Fundamental reasons why establishing requirements for complex systems will always be a difficult technical and organisational problem

Page 3: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 3

• Changing requirements

• Differing perspectives

• Lack of standardization

• People and politics

Page 4: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 4

Requirements change• System requirements reflect the world

outside of the system.

• As this is constantly changing then the requirements will inevitably also change

• It is often difficult to understand the implications of changes for the requirements as a whole

Page 5: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 5

Types of change

• Technology changes– New technologies may have to be

incorporated into the system

• Organisational changes– The business structure and

organization may change

Page 6: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 6

Environmental changes

• Market changes – The market for a system may change

because of other systems introduced by competitors or changed customer expectations

• Economic changes– The business may do better/worse

than before

Page 7: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 7

Political and legal changes

• External events lead to a change in government policies or regulations

• In critical systems – these may lead to requirements change

Page 8: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 8

Stakeholder perspectives

The problem and the required system

Social perspectiveTechnical perspective

ObjectsFunctionsRoles ...

User perspectiveInteractionsUsability

Management perspective

Certificationperspective

Customerperspective

Page 9: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 9

Requirements conflicts• Different perspectives are not consistent

and different stakeholders will want different things from a system

• It is inevitable that some requirements will be conflicting so that it is impossible to satisfy all stakeholder requirements without compromise

Page 10: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 10

Key stakeholders are busy

• Developing detailed requirements for future systems often cannot be given a high priority by the senior people who will be affected by these requirements.

Page 11: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 11

• It is difficult to arrange meetings and stakeholders do not have time to think deeply about the system

• They therefore express their requirements as vague, high-level descriptions, which have to be interpreted by engineers

Page 12: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 12

How good are the requirements?

• There are no objective ways to compare alternative sets of requirements proposals to decide which are ‘better’

Page 13: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 13

• The impact of a system on a business is very hard to understand in advance so therefore we cannot tell which might be the ‘best’ system for any particular business

Page 14: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 14

Quality improvement• A common approach to quality

improvement is to develop an effective process then standardize that process

• This means that all development then uses a proven approach

• But this is very difficult for requirements engineering

Page 15: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 15

Process and product variability

• The level of detail required in a requirements specification differs greatly depending on the type of product that is being developed

• Specifications for different types of system may be expressed in completely different ways

Page 16: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 16

• A railway signalling system is a very detailed specification that can be validated by authorities outside of the organisation procuring the software

• A computer game specification is a storyboard with pictures and examples

Page 17: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 17

Process variability

• Different companies use completely different processes involving different types of people to derive these specifications

• Scope for process standardisation and support is therefore limited

Page 18: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 18

Politics and people

• Many system requirements are influenced by the politics in an organisation.

• Decisions on requirements are not made on a rational basis but are made because of the personal goals of stakeholders

Page 19: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 19

• New systems are often introduced to give central management in an organization more control and to ensure that all parts of the organization work in the same way

• But this may be resisted by stakeholders who use existing systems that are better suited to their ways of working

Page 20: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 20

• Requirements engineers may not understand the politics and, even when they do, they may not be able to challenge the ‘political’ requirements

Page 21: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 21

• People providing requirements for a system may not be convinced that the system is necessary or may feel that other systems should have a higher priority.

• They may actively or passively refuse to cooperate in the requirements engineering process

Page 22: Requirements engineering challenges

Requirements engineering challenges, 2013 Slide 22

Summary• Requirements engineering is an

inherently difficult process

• Issues that contribute to this difficulty are

– Changing requirements

– Differing views of system stakeholders

– Product and process variablity

– The political nature of system requirements