SlideShare uma empresa Scribd logo
1 de 32
Requirements Engineering Processes, York EngD Programme, 2010 Slide 1
Requirements reality
Prof Ian Sommerville
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
Requirements Engineering Processes, York EngD Programme, 2010 Slide 3
RE process perspectives
Different views of requirements engineering processes
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
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
Requirements Engineering Processes, York EngD Programme, 2010 Slide 6
RE process interactions
Requirements engineering
System design
System acquisition
Requirements Engineering Processes, York EngD Programme, 2010 Slide 7
A staged model of a requirements
engineering process
Requirements Engineering Processes, York EngD Programme, 2010 Slide 8
A spiral view of the RE process
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
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
Requirements Engineering Processes, York EngD Programme, 2010 Slide 11
The world is a diverse place
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?
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.
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
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
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?
Requirements Engineering Processes, York EngD Programme, 2010 Slide 17
Stakeholder engagement
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
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
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
Requirements Engineering Processes, York EngD Programme, 2010 Slide 21
People and politics
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
Requirements Engineering Processes, York EngD Programme, 2010 Slide 23
The larger the system, the less
the technicalities matter
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?
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
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?
Requirements Engineering Processes, York EngD Programme, 2010 Slide 27
The world changes
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
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
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
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
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

Mais conteĂșdo relacionado

Mais procurados

L02 pm & it context
L02 pm & it contextL02 pm & it context
L02 pm & it context
Asa Chan
 
Information Technology Project Management - part 01
Information Technology Project Management - part 01Information Technology Project Management - part 01
Information Technology Project Management - part 01
Rizwan Khurram
 
Brunel opensourcing 1
Brunel opensourcing 1Brunel opensourcing 1
Brunel opensourcing 1
bfitzgerald59
 

Mais procurados (19)

Future of Software Business
Future of Software BusinessFuture of Software Business
Future of Software Business
 
Paper sharing_New product development in taiwanese ic design companies
Paper sharing_New product development in taiwanese ic design companiesPaper sharing_New product development in taiwanese ic design companies
Paper sharing_New product development in taiwanese ic design companies
 
The project management and information technology context
The project management and information technology contextThe project management and information technology context
The project management and information technology context
 
L02 pm & it context
L02 pm & it contextL02 pm & it context
L02 pm & it context
 
Information Technology Project Management - part 01
Information Technology Project Management - part 01Information Technology Project Management - part 01
Information Technology Project Management - part 01
 
project management process groups
project management process groupsproject management process groups
project management process groups
 
Basic Project documents
Basic Project documentsBasic Project documents
Basic Project documents
 
HI600 Ch01 text_slides
HI600 Ch01 text_slidesHI600 Ch01 text_slides
HI600 Ch01 text_slides
 
Chap03 the project management process groups
Chap03 the project management process groupsChap03 the project management process groups
Chap03 the project management process groups
 
Brunel opensourcing 1
Brunel opensourcing 1Brunel opensourcing 1
Brunel opensourcing 1
 
13115 intro to project management presentation
13115 intro to project management presentation13115 intro to project management presentation
13115 intro to project management presentation
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Information Technology Project Management - part 07
Information Technology Project Management - part 07Information Technology Project Management - part 07
Information Technology Project Management - part 07
 
Paper shareing_Platform design framework conceptualisation and application
Paper shareing_Platform design framework conceptualisation and applicationPaper shareing_Platform design framework conceptualisation and application
Paper shareing_Platform design framework conceptualisation and application
 
Supporting team coordination of software development across multiple companies
Supporting team coordination of software development across multiple companiesSupporting team coordination of software development across multiple companies
Supporting team coordination of software development across multiple companies
 
IT project management
IT project managementIT project management
IT project management
 
Project management process groups case study
Project management process groups case studyProject management process groups case study
Project management process groups case study
 
IT PROJECT SHOWSTOPPER FRAMEWORK: THE VIEW OF PRACTITIONERS
IT PROJECT SHOWSTOPPER FRAMEWORK: THE VIEW OF PRACTITIONERSIT PROJECT SHOWSTOPPER FRAMEWORK: THE VIEW OF PRACTITIONERS
IT PROJECT SHOWSTOPPER FRAMEWORK: THE VIEW OF PRACTITIONERS
 
7 Engineering Profession
7 Engineering Profession7 Engineering Profession
7 Engineering Profession
 

Semelhante a Requirements reality

Requirement engineering in S/W Engineering
Requirement engineering in S/W EngineeringRequirement engineering in S/W Engineering
Requirement engineering in S/W Engineering
Mikel Raj
 
Week4 lecture
Week4 lectureWeek4 lecture
Week4 lecture
fentrekin
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
fentrekin
 

Semelhante a Requirements reality (20)

LSCITS-engineering
LSCITS-engineeringLSCITS-engineering
LSCITS-engineering
 
Requirements Engineering Process Improvement
Requirements Engineering Process ImprovementRequirements Engineering Process Improvement
Requirements Engineering Process Improvement
 
SD West 2008: Call the requirements police, you've entered design!
SD West 2008: Call the requirements police, you've entered design!SD West 2008: Call the requirements police, you've entered design!
SD West 2008: Call the requirements police, you've entered design!
 
Lecture 4.pdf
Lecture 4.pdfLecture 4.pdf
Lecture 4.pdf
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Requirement engineering in S/W Engineering
Requirement engineering in S/W EngineeringRequirement engineering in S/W Engineering
Requirement engineering in S/W Engineering
 
LSCITS engineering
LSCITS engineeringLSCITS engineering
LSCITS engineering
 
Requirementengg
RequirementenggRequirementengg
Requirementengg
 
SRE.pptx
SRE.pptxSRE.pptx
SRE.pptx
 
02_Ch2a.pptx
02_Ch2a.pptx02_Ch2a.pptx
02_Ch2a.pptx
 
Lecture 8 & 9.pdf
Lecture 8 & 9.pdfLecture 8 & 9.pdf
Lecture 8 & 9.pdf
 
2.requirements management
2.requirements management2.requirements management
2.requirements management
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
lecture 1-5.pdf
lecture 1-5.pdflecture 1-5.pdf
lecture 1-5.pdf
 
Requirements engineering challenges
Requirements engineering challengesRequirements engineering challenges
Requirements engineering challenges
 
Socio technical systems (LSCITS EngD)
Socio technical systems (LSCITS EngD)Socio technical systems (LSCITS EngD)
Socio technical systems (LSCITS EngD)
 
Week4 lecture
Week4 lectureWeek4 lecture
Week4 lecture
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
 
J017648994
J017648994J017648994
J017648994
 
Solution Design Services An Overview
Solution Design Services  An OverviewSolution Design Services  An Overview
Solution Design Services An Overview
 

Mais de Ian Sommerville

Security case buffer overflow
Security case buffer overflowSecurity case buffer overflow
Security case buffer overflow
Ian Sommerville
 
CS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureCS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failure
Ian Sommerville
 
CS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterCS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disaster
Ian Sommerville
 
CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1
Ian Sommerville
 
CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2
Ian Sommerville
 
L17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureL17 CS5032 critical infrastructure
L17 CS5032 critical infrastructure
Ian Sommerville
 
CS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachCS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breach
Ian Sommerville
 
CS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsCS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systems
Ian Sommerville
 
CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013
Ian Sommerville
 
CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013
Ian Sommerville
 
CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013
Ian Sommerville
 
CS 5032 L12 security testing and dependability cases 2013
CS 5032 L12  security testing and dependability cases 2013CS 5032 L12  security testing and dependability cases 2013
CS 5032 L12 security testing and dependability cases 2013
Ian Sommerville
 

Mais de Ian Sommerville (20)

Ultra Large Scale Systems
Ultra Large Scale SystemsUltra Large Scale Systems
Ultra Large Scale Systems
 
Resp modellingintro
Resp modellingintroResp modellingintro
Resp modellingintro
 
Resilience and recovery
Resilience and recoveryResilience and recovery
Resilience and recovery
 
Dependability requirements for LSCITS
Dependability requirements for LSCITSDependability requirements for LSCITS
Dependability requirements for LSCITS
 
Conceptual systems design
Conceptual systems designConceptual systems design
Conceptual systems design
 
An introduction to LSCITS
An introduction to LSCITSAn introduction to LSCITS
An introduction to LSCITS
 
Internet worm-case-study
Internet worm-case-studyInternet worm-case-study
Internet worm-case-study
 
Designing software for a million users
Designing software for a million usersDesigning software for a million users
Designing software for a million users
 
Security case buffer overflow
Security case buffer overflowSecurity case buffer overflow
Security case buffer overflow
 
CS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureCS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failure
 
CS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterCS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disaster
 
CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1
 
CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2
 
L17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureL17 CS5032 critical infrastructure
L17 CS5032 critical infrastructure
 
CS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachCS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breach
 
CS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsCS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systems
 
CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013
 
CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013
 
CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013
 
CS 5032 L12 security testing and dependability cases 2013
CS 5032 L12  security testing and dependability cases 2013CS 5032 L12  security testing and dependability cases 2013
CS 5032 L12 security testing and dependability cases 2013
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Navi Mumbai Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls đŸ„° 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Requirements reality

  • 1. Requirements Engineering Processes, York EngD Programme, 2010 Slide 1 Requirements reality Prof Ian Sommerville
  • 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
  • 7. Requirements Engineering Processes, York EngD Programme, 2010 Slide 7 A staged model of a requirements engineering process
  • 8. Requirements Engineering Processes, York EngD Programme, 2010 Slide 8 A spiral view of the RE process
  • 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
  • 11. Requirements Engineering Processes, York EngD Programme, 2010 Slide 11 The world is a diverse place
  • 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?
  • 17. Requirements Engineering Processes, York EngD Programme, 2010 Slide 17 Stakeholder engagement
  • 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
  • 21. Requirements Engineering Processes, York EngD Programme, 2010 Slide 21 People and politics
  • 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
  • 23. Requirements Engineering Processes, York EngD Programme, 2010 Slide 23 The larger the system, the less the technicalities matter
  • 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?
  • 27. Requirements Engineering Processes, York EngD Programme, 2010 Slide 27 The world changes
  • 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