2. Requirements Engineering Processes, York EngD Programme, 2010 Slide 2
Objectives
âą To introduce the activities in requirements
engineering processes
âą To discuss the reasons why these formal
representations rarely match the actual processes
used in organisation
3. Requirements Engineering Processes, York EngD Programme, 2010 Slide 3
RE process perspectives
Different views of requirements engineering processes
4. Requirements Engineering Processes, York EngD Programme, 2010 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
5. Requirements Engineering Processes, York EngD Programme, 2010 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
6. Requirements Engineering Processes, York EngD Programme, 2010 Slide 6
RE process interactions
Requirements engineering
System design
System acquisition
9. Requirements Engineering Processes, York EngD Programme, 2010 Slide 9
Process presentation
âą These are textbook models of processes
âą A small number of organisations, mostly from the
aerospace and defence sectors, have formal
requirements engineering processes but, in most
cases, requirements engineering is an ad hoc activity
âą Process models are helpful for talking about
requirements engineering activities but very different
from the reality of real requirements engineering
10. Requirements Engineering Processes, York EngD Programme, 2010 Slide 10
Problems with formal processes
âą They do not differentiate between different kinds of
organisation and different kinds of product
âą They assume that stakeholders in a system are
willing to engage in an RE process
âą They fail to take into account the human, social,
organisational and political issues that affect the
system requirements
12. Requirements Engineering Processes, York EngD Programme, 2010 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?
13. Requirements Engineering Processes, York EngD Programme, 2010 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.
14. Requirements Engineering Processes, York EngD Programme, 2010 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
15. Requirements Engineering Processes, York EngD Programme, 2010 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.
âą An agile culture?
â No experience of dealing with requirements documents but
works on the basis of prototyping and rapid evolution
16. Requirements Engineering Processes, York EngD Programme, 2010 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?
18. Requirements Engineering Processes, York EngD Programme, 2010 Slide 18
Stakeholder consultation
Requirements
engineering is
about talking
with people
who are
system
stakeholders
to understand
what they
need from a
system
19. Requirements Engineering Processes, York EngD Programme, 2010 Slide 19
The stakeholder illusion
âą Can âtypicalâ stakeholder representatives be
identified?
â If there are thousands of potential users, how can you find
those that are representative?
â Do you wish to represent the early adopters, the majority or
the system laggards?
âą Who are the key stakeholders?
â Key stakeholders are often not system users but people who
have the authority to accept or reject system proposals
â They may do so because the system presents risks for them
although it may considerably improve some other processes
20. Requirements Engineering Processes, York EngD Programme, 2010 Slide 20
âą Do they want a new system?
â In many cases, these are not end-users so do not understand
the problems and issues that may arise with an existing
system
âą Do they have the time or inclination to get involved in
a requirements engineering process?
â People are busy â they donât care
22. Requirements Engineering Processes, York EngD Programme, 2010 Slide 22
The world is not a rational place
âą Requirements engineering (like all engineering) is
founded on the premise that the world is a rational
place and that decisions will primarily be driven by
technical considerations
âą This is more true for engineering that is based on the
physical world â it is hard to argue against the Laws
of Physics
âą BUT â requirements engineering takes place in the
world of humans, organisations and politics
24. Requirements Engineering Processes, York EngD Programme, 2010 Slide 24
Human issues
âą Do individuals or the organisation benefit from a
system?
âą Will a system force people to change the ways that
they do their job?
âą Will a system change the balance of power and
authority in an organisation?
âą Will a system pose risks that might affect the position
of individuals in an organisation?
âą Does a system have a significant learning overhead
for individuals?
25. Requirements Engineering Processes, York EngD Programme, 2010 Slide 25
Organisational issues
âą Will the system require or promote changes to the
structure of an organisation?
âą Will the system affect the power structure in an
organisation?
âą Will the system require:
â More/fewer people
â More/less space
â More/less departmental budget
26. Requirements Engineering Processes, York EngD Programme, 2010 Slide 26
Political issues
âą Who will take credit if the system is a success?
âą Who will get the blame when a system fails? Will
there be an external perception of blame?
âą Do the timescales for system
procurement/development/deployment fit in with the
likely times that people will remain in a job?
âą Are there critical external factors that influence
system decision making?
âą Will the system affect the relationships between
organisations?
28. Requirements Engineering Processes, York EngD Programme, 2010 Slide 28
Requirements volatility
âą Requirements encapsulate the relationship between
a system and its operating, organisational and
political environment
âą The environment is constantly changing as
stakeholders change, competitive products are
introduced, organisational structures, policies and
procedures change, laws change, etc. etc.
âą If requirements donât change then the system will
become progressively less and less useful
29. Requirements Engineering Processes, York EngD Programme, 2010 Slide 29
Volatility measurement
RV = percentage of requirements that change
Number of days
Example â 10% of requirements change in a week so
RV = 1.45
30. Requirements Engineering Processes, York EngD Programme, 2010 Slide 30
âą If the requirements volatility is too high, then is there
any point in having a detailed set of system
requirements?
âą For example
â If 10% of the requirements change in a week and the
development schedule for a software element of system is 12
weeks, then over the development lifetime the requirements
will have completely changed.
âą Problem in all areas â less so in large engineered
system but a particular problem for web-based
organisational systems used by professionals
31. Requirements Engineering Processes, York EngD Programme, 2010 Slide 31
What is the solution?
âą Incremental requirements engineering
â Just enough RE to get started and continue throughout
development process
âą Requires new contractual models for systems
engineering that are not based on a detailed
requirements specification?
âą Problems
â Procurement legislation
â Organisational outsourcing
â Legal risks
32. Requirements Engineering Processes, York EngD Programme, 2010 Slide 32
Key points
âą A staged requirements engineering process includes
a feasibility study, requirements elicitation and
analysis, requirements specification and
requirements management.
âą Formal processes rarely represent requirements
reality
âą Human, social, organisational and political factors
are the most significant influence on system
requirements, especially for LSCITS
âą If requirements change very quickly, it may not be
sensible to have a detailed requirements document