Requirements engineering challenges

Preview:

DESCRIPTION

Discusses some of the problems of requirements engineering

Citation preview

Requirements engineering challenges, 2013 Slide 1

Requirements engineering challenges

Ian Sommerville

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

Requirements engineering challenges, 2013 Slide 2

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

Requirements engineering challenges, 2013 Slide 3

• Changing requirements

• Differing perspectives

• Lack of standardization

• People and politics

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

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

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

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

Requirements engineering challenges, 2013 Slide 8

Stakeholder perspectives

The problem and the required system

Social perspectiveTechnical perspective

ObjectsFunctionsRoles ...

User perspectiveInteractionsUsability

Management perspective

Certificationperspective

Customerperspective

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

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.

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

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’

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

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

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

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

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

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

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

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

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

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

Recommended