Requirements Engineering:A Continuous ProcessShlomoArgamon, PhDIllinois Institute of TechnologyChicago, ILandCenter for Advanced Defense StudiesWashington, DC 20002Presented at the Military Operations Research Society20 September, 2011
Requirements Engineering (RE)Requirements Engineering is a subfield of:Software Engineering Systems EngineeringGoal: Solve key step in problem solving:Identify the Problem!With complex projects, Requirements Engineering must be dynamic and continuous.
Cost of Delay in Fixing Requirements ErrorsData: Boehm & Papaccio (1988)IEEE Trans. Software Eng.20-fold increase during developmentNominalunit cost200-fold increase after delivery
Components of Requirements EngineeringSpecificationElicitationAnalysisProcesses are: Non-linear
Dynamic
 IterativeManagementVerificationElicitation: Discover requirements – user interviews, workshops, storyboarding, use cases, prototyping, brainstorming, … Also explore trade space to ensure customer satisfaction.Specification: Define readily understood and complete requirements to ensure design integration. May involve integrating Key Performance Parameters (KPPs).Analysis: Ensure specification is unambiguous, complete, verifiable, consistent, modifiable, traceable, usable , necessary and prioritized.Management: Establish traceability to track changes status, effort and funds expended, and identify the impact of changes with links to design and architecture plans.Verification: Establish methods to ensure that requirements have been met in implementation: observation, testing, prototyping, etc.
Tacit Requirements1985: Matsushita Electric developing a new bread machine, but the crust was overdone, while the inside was rawNo progress by usual engineering analyses, including interviewing bakers and x-ray comparisonsFinally, one engineer apprenticed with a master baker, discovering need to twist the doughResult: New technical requirements which resulted in a working product with record salesNonaka 2007; Harvard Business Review
Context is KingUserWorldParticipationCausal effectsInterfaceSystemWorldRepresentationProcessSubjectWorldDevelopmentWorldafter (Jarke & Pohl 1993)
Recursion in DevelopmentTraditional Waterfall Engineering (Plan-Driven)ModifiedModular, with coordination pointsIterative development models (spiral, agile, etc.) are more context-driven…  but still maturing for large-scale projectsRequirementsDesignImplementationVerificationMaintenance
Spiral Development(Boehm 1988)
Spiral Strengths & WeaknessesStrengths:Highest risks can be dealt with first, lowering overall costsEach iteration can be tailored for project needs as they evolveTacit requirements uncovered at each iterationWeaknesses:More complex project organization – issues with scaleRequires attentive and expert managementGeneral Recommendation:To reduce project risk, when possible:run risk-reduction iterations followed by waterfall or other non-risk-based lifecycle, once things are clearDepends on CONTEXT!!

More Related Content

PDF
Technical Debt: Measured and Implied
PPTX
V Model and W Model
PPT
Presentation V Model
PPTX
Life Cycle Phases
PPT
Il product development - 20 01 2011
PPTX
V sdlc se
PPTX
Toolbox of techniques for Architecture Reviews
PPTX
Process and Project Metrics-1
Technical Debt: Measured and Implied
V Model and W Model
Presentation V Model
Life Cycle Phases
Il product development - 20 01 2011
V sdlc se
Toolbox of techniques for Architecture Reviews
Process and Project Metrics-1

What's hot (20)

PPTX
Checkpoints of the Process
PPTX
PPTX
Workflows of the Process
PPTX
Architecture Review
PPTX
Unit4 Proof of Correctness, Statistical Tools, Clean Room Process and Quality...
PDF
Agile- To Infinity and Beyond
PPTX
Software engineering layers
PPTX
Phased life cycle model
PPTX
System Development Life Cycle (SDLC)
PPTX
Software development process & methodologies
PDF
Importance of Product Engineering
DOCX
Electrical Engineer
DOCX
JD Senior Production Engineer
PPTX
Defining the Problem - Goals and requirements
PDF
Software Engineering Introduction
PPTX
PPT
A generic view of software engineering
PPTX
Saam
PPTX
Capability Maturity Model Integartion
Checkpoints of the Process
Workflows of the Process
Architecture Review
Unit4 Proof of Correctness, Statistical Tools, Clean Room Process and Quality...
Agile- To Infinity and Beyond
Software engineering layers
Phased life cycle model
System Development Life Cycle (SDLC)
Software development process & methodologies
Importance of Product Engineering
Electrical Engineer
JD Senior Production Engineer
Defining the Problem - Goals and requirements
Software Engineering Introduction
A generic view of software engineering
Saam
Capability Maturity Model Integartion
Ad

Similar to Requirements Engineering: Contextual and Dynamic (20)

PPTX
L4 RE Processes
PDF
SRS.pdf
PPT
Unit 2 SEPM_ Requirement Engineering
PDF
2_Requirments( Engineering & Software & User and System) & System Stakeholde...
PPTX
Software Engineering- Understanding Requirements
PPT
Chapter 8.ppt
PPTX
Lecture2_REQUIREMENT_Process__Modelss.pptx
PPTX
SE-Unit 2_ Requirement Analysis and Modeling.pptx
PPT
Requirements Engineering Process Improvement
PPT
That is a best presentation of engineering process
PPTX
Requirement Engineering Processes & Eliciting Requirement
PPT
Chapter 4 Requirement of Engineering.ppt
PPTX
Requirements Engineering Processes
PDF
Performance measurement of different requirements engineering
PPT
lecture_Analysis Phase.ppt
PPT
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
PDF
pandey2010jwewed3wrgd3gegeggrgd3gewew.pdf
PPTX
Chapter 10 Introduction to Arkham Asylum.pptx
PPTX
Unit 2.3- Requirement Engineering Process.pptx
PPTX
Chap2 RE processes
L4 RE Processes
SRS.pdf
Unit 2 SEPM_ Requirement Engineering
2_Requirments( Engineering & Software & User and System) & System Stakeholde...
Software Engineering- Understanding Requirements
Chapter 8.ppt
Lecture2_REQUIREMENT_Process__Modelss.pptx
SE-Unit 2_ Requirement Analysis and Modeling.pptx
Requirements Engineering Process Improvement
That is a best presentation of engineering process
Requirement Engineering Processes & Eliciting Requirement
Chapter 4 Requirement of Engineering.ppt
Requirements Engineering Processes
Performance measurement of different requirements engineering
lecture_Analysis Phase.ppt
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
pandey2010jwewed3wrgd3gegeggrgd3gewew.pdf
Chapter 10 Introduction to Arkham Asylum.pptx
Unit 2.3- Requirement Engineering Process.pptx
Chap2 RE processes
Ad

Recently uploaded (20)

PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PPTX
The various Industrial Revolutions .pptx
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PPTX
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Flame analysis and combustion estimation using large language and vision assi...
DOCX
search engine optimization ppt fir known well about this
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
A review of recent deep learning applications in wood surface defect identifi...
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
Comparative analysis of machine learning models for fake news detection in so...
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
PDF
Five Habits of High-Impact Board Members
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Consumable AI The What, Why & How for Small Teams.pdf
The various Industrial Revolutions .pptx
Improvisation in detection of pomegranate leaf disease using transfer learni...
Credit Without Borders: AI and Financial Inclusion in Bangladesh
Developing a website for English-speaking practice to English as a foreign la...
A proposed approach for plagiarism detection in Myanmar Unicode text
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
CloudStack 4.21: First Look Webinar slides
Flame analysis and combustion estimation using large language and vision assi...
search engine optimization ppt fir known well about this
Taming the Chaos: How to Turn Unstructured Data into Decisions
Zenith AI: Advanced Artificial Intelligence
A review of recent deep learning applications in wood surface defect identifi...
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
Comparative analysis of machine learning models for fake news detection in so...
Module 1.ppt Iot fundamentals and Architecture
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
Five Habits of High-Impact Board Members
Final SEM Unit 1 for mit wpu at pune .pptx

Requirements Engineering: Contextual and Dynamic

  • 1. Requirements Engineering:A Continuous ProcessShlomoArgamon, PhDIllinois Institute of TechnologyChicago, ILandCenter for Advanced Defense StudiesWashington, DC 20002Presented at the Military Operations Research Society20 September, 2011
  • 2. Requirements Engineering (RE)Requirements Engineering is a subfield of:Software Engineering Systems EngineeringGoal: Solve key step in problem solving:Identify the Problem!With complex projects, Requirements Engineering must be dynamic and continuous.
  • 3. Cost of Delay in Fixing Requirements ErrorsData: Boehm & Papaccio (1988)IEEE Trans. Software Eng.20-fold increase during developmentNominalunit cost200-fold increase after delivery
  • 4. Components of Requirements EngineeringSpecificationElicitationAnalysisProcesses are: Non-linear
  • 6. IterativeManagementVerificationElicitation: Discover requirements – user interviews, workshops, storyboarding, use cases, prototyping, brainstorming, … Also explore trade space to ensure customer satisfaction.Specification: Define readily understood and complete requirements to ensure design integration. May involve integrating Key Performance Parameters (KPPs).Analysis: Ensure specification is unambiguous, complete, verifiable, consistent, modifiable, traceable, usable , necessary and prioritized.Management: Establish traceability to track changes status, effort and funds expended, and identify the impact of changes with links to design and architecture plans.Verification: Establish methods to ensure that requirements have been met in implementation: observation, testing, prototyping, etc.
  • 7. Tacit Requirements1985: Matsushita Electric developing a new bread machine, but the crust was overdone, while the inside was rawNo progress by usual engineering analyses, including interviewing bakers and x-ray comparisonsFinally, one engineer apprenticed with a master baker, discovering need to twist the doughResult: New technical requirements which resulted in a working product with record salesNonaka 2007; Harvard Business Review
  • 8. Context is KingUserWorldParticipationCausal effectsInterfaceSystemWorldRepresentationProcessSubjectWorldDevelopmentWorldafter (Jarke & Pohl 1993)
  • 9. Recursion in DevelopmentTraditional Waterfall Engineering (Plan-Driven)ModifiedModular, with coordination pointsIterative development models (spiral, agile, etc.) are more context-driven… but still maturing for large-scale projectsRequirementsDesignImplementationVerificationMaintenance
  • 11. Spiral Strengths & WeaknessesStrengths:Highest risks can be dealt with first, lowering overall costsEach iteration can be tailored for project needs as they evolveTacit requirements uncovered at each iterationWeaknesses:More complex project organization – issues with scaleRequires attentive and expert managementGeneral Recommendation:To reduce project risk, when possible:run risk-reduction iterations followed by waterfall or other non-risk-based lifecycle, once things are clearDepends on CONTEXT!!
  • 12. Requirements Management ChallengeRequirements Engineering challenges:ScopeUnderstandingVolatilityAgility is required to:Adapt to a moving targetEnable engineering time to achieve objectives
  • 13. The Bottom Line(s)Requirements are never known up frontRequirements engineering should be interleaved in an iterative development processEnd-users must be involved in the development process

Editor's Notes

  • #4: Getting this process right is vital. As you can see by this chart from the GA Tech CS department (2002) , poor requirements engineering resulted in a 200 fold increase in costs.
  • #7: This is one of the more recent models for context-driven requirements elicitation from the Center for Informatics Research (CRI) at the Sorbonne in Paris. There are many others. First, The subject world—our environment has an impact on our requirements. The market and target customer may change because of economics, for example. In the usage world, our usage cases and mis-use cases can gain fidelity or be discovered. In the system world, interfaces may change. In the Design world, we may change approach because of technology maturity. In each case, there is a trade space associated with the requirements choices. The objective is to determine, when the customer cannot explicitly identify all requirements, the nuances in the perceived utility, desirability or necessity of various specifications for the customer. Like military missions, because of the changeable context, we hope to accomplish the customers intent.
  • #8: The traditional approach is to waterfall activities in a linear approach from specified requirements. Because of the dynamic nature of context, this frequently approximates the customers objectives less and less, the longer it takes to accomplish.So, the modified approach is to create a series of smaller waterfalls by generating specified elicitation points. This also has its failings. The customer’s objectives are continually evolving. Understanding where these objectives come from becomes important when the customer is not present in the engineering process.More recently, software development has examined Agile approaches including Scrum, Extreme Programming, and the Dynamic Systems Development Method, among others. The difficulty with these approaches lies in managing very large projects where teams are distributed. Agile Development requires senior developers and thrives in an environment where requirements change often, there are fewer developers to coordinate, and the culture embraces chaos.
  • #11: In conclusion, poor requirements engineering is guaranteed to increase time delays and costs. Requirements traceability is not separable from the other requirements processes. There are a wide variety of Requirements approaches and associated tools. The overall objective of any approach should be to ensure continuous recursion and context awareness.