SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Requirements Engineering: A Continuous Process ShlomoArgamon, PhD Illinois Institute of Technology Chicago, IL and Center for Advanced Defense Studies Washington, DC 20002 Presented at the Military Operations Research Society 20 September, 2011
Requirements Engineering (RE) Requirements Engineering is a subfield of: Software Engineering  Systems Engineering Goal: 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 Errors Data: Boehm & Papaccio (1988) IEEE Trans. Software Eng. 20-fold increase during development Nominal unit cost 200-fold increase after delivery
Components of Requirements Engineering Specification Elicitation Analysis Processes are: ,[object Object]
Dynamic
 IterativeManagement Verification Elicitation: 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 Requirements 1985: Matsushita Electric developing a new bread machine, but the crust was overdone, while the inside was raw No progress by usual engineering analyses, including interviewing bakers and x-ray comparisons Finally, one engineer apprenticed with a master baker, discovering need to twist the dough Result: New technical requirements which resulted in a working product with record sales Nonaka 2007; Harvard Business Review
Context is King User World Participation Causal effects Interface System World Representation Process Subject World Development World after (Jarke & Pohl 1993)
Recursion in Development Traditional Waterfall Engineering (Plan-Driven) Modified Modular, with coordination points Iterative development models (spiral, agile, etc.) are more context-driven…  but still maturing for large-scale projects Requirements Design Implementation Verification Maintenance
Spiral Development (Boehm 1988)
Spiral Strengths & Weaknesses Strengths: Highest risks can be dealt with first, lowering overall costs Each iteration can be tailored for project needs as they evolve Tacit requirements uncovered at each iteration Weaknesses: More complex project organization – issues with scale Requires attentive and expert management General Recommendation: To reduce project risk, when possible: run risk-reduction iterations followed by  waterfall or other non-risk-based lifecycle, once things are clear Depends on CONTEXT!!

Weitere ähnliche Inhalte

Was ist angesagt?

Architecture Review
Architecture ReviewArchitecture Review
Architecture ReviewHimanshu
 
Unit4 Proof of Correctness, Statistical Tools, Clean Room Process and Quality...
Unit4 Proof of Correctness, Statistical Tools, Clean Room Process and Quality...Unit4 Proof of Correctness, Statistical Tools, Clean Room Process and Quality...
Unit4 Proof of Correctness, Statistical Tools, Clean Room Process and Quality...Reetesh Gupta
 
Agile- To Infinity and Beyond
Agile- To Infinity and BeyondAgile- To Infinity and Beyond
Agile- To Infinity and BeyondInnoTech
 
Software engineering layers
Software engineering layersSoftware engineering layers
Software engineering layersSelf-employed
 
Phased life cycle model
Phased life cycle modelPhased life cycle model
Phased life cycle modelStephennancy
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)fentrekin
 
Software development process & methodologies
Software development process & methodologiesSoftware development process & methodologies
Software development process & methodologiesShahul Hameed
 
Importance of Product Engineering
Importance of Product EngineeringImportance of Product Engineering
Importance of Product EngineeringGlobalLogic, Inc.
 
DFIM - Design for Innovation in Manufacturing - crib sheet
DFIM - Design for Innovation in Manufacturing - crib sheetDFIM - Design for Innovation in Manufacturing - crib sheet
DFIM - Design for Innovation in Manufacturing - crib sheetRichard Platt
 
Electrical Engineer
Electrical EngineerElectrical Engineer
Electrical EngineerPhil_Alvarez
 
JD Senior Production Engineer
JD Senior Production EngineerJD Senior Production Engineer
JD Senior Production EngineerTobiashuynh
 
Defining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsDefining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsStephennancy
 
Software Engineering Introduction
Software Engineering IntroductionSoftware Engineering Introduction
Software Engineering IntroductionRahul Hada
 
A generic view of software engineering
A generic view of software engineeringA generic view of software engineering
A generic view of software engineeringInocentshuja Ahmad
 

Was ist angesagt? (20)

Checkpoints of the Process
Checkpoints of the ProcessCheckpoints of the Process
Checkpoints of the Process
 
1 sdlc model
1 sdlc model1 sdlc model
1 sdlc model
 
Workflows of the Process
Workflows of the ProcessWorkflows of the Process
Workflows of the Process
 
Architecture Review
Architecture ReviewArchitecture Review
Architecture Review
 
Unit4 Proof of Correctness, Statistical Tools, Clean Room Process and Quality...
Unit4 Proof of Correctness, Statistical Tools, Clean Room Process and Quality...Unit4 Proof of Correctness, Statistical Tools, Clean Room Process and Quality...
Unit4 Proof of Correctness, Statistical Tools, Clean Room Process and Quality...
 
Agile- To Infinity and Beyond
Agile- To Infinity and BeyondAgile- To Infinity and Beyond
Agile- To Infinity and Beyond
 
Software engineering layers
Software engineering layersSoftware engineering layers
Software engineering layers
 
Phased life cycle model
Phased life cycle modelPhased life cycle model
Phased life cycle model
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
 
Software Process
Software ProcessSoftware Process
Software Process
 
Software development process & methodologies
Software development process & methodologiesSoftware development process & methodologies
Software development process & methodologies
 
Importance of Product Engineering
Importance of Product EngineeringImportance of Product Engineering
Importance of Product Engineering
 
DFIM - Design for Innovation in Manufacturing - crib sheet
DFIM - Design for Innovation in Manufacturing - crib sheetDFIM - Design for Innovation in Manufacturing - crib sheet
DFIM - Design for Innovation in Manufacturing - crib sheet
 
Electrical Engineer
Electrical EngineerElectrical Engineer
Electrical Engineer
 
JD Senior Production Engineer
JD Senior Production EngineerJD Senior Production Engineer
JD Senior Production Engineer
 
Defining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsDefining the Problem - Goals and requirements
Defining the Problem - Goals and requirements
 
Software Engineering Introduction
Software Engineering IntroductionSoftware Engineering Introduction
Software Engineering Introduction
 
Microsoft Project
Microsoft ProjectMicrosoft Project
Microsoft Project
 
A generic view of software engineering
A generic view of software engineeringA generic view of software engineering
A generic view of software engineering
 
Saam
SaamSaam
Saam
 

Ähnlich wie Requirements Engineering: Contextual and Dynamic

Sdlc cource in_mumbai
Sdlc cource in_mumbaiSdlc cource in_mumbai
Sdlc cource in_mumbaivibrantuser
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Jkumararaja
 
Using Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A SimplifiedUsing Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A Simplifiedcbb010
 
Phase gate review development model august 8 2017 - dave litwiller
Phase gate review development model   august 8 2017 - dave litwillerPhase gate review development model   august 8 2017 - dave litwiller
Phase gate review development model august 8 2017 - dave litwillerDave Litwiller
 
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...WrushabhShirsat3
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle ModelJ.T.A.JONES
 
Innovation framework
Innovation frameworkInnovation framework
Innovation frameworkJames Basker
 
System Development
System  DevelopmentSystem  Development
System DevelopmentSharad Patel
 
Software Engineering Methodology
Software Engineering MethodologySoftware Engineering Methodology
Software Engineering MethodologyRajandeep Gill
 
software engineering (spiral process model)
software engineering (spiral process model)software engineering (spiral process model)
software engineering (spiral process model)Khushbu SaLeem
 
Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?Jauhari Ismail
 
An overview of software development methodologies.
An overview of software development methodologies.An overview of software development methodologies.
An overview of software development methodologies.Masoud Kalali
 
Software engineering fundamental
Software engineering fundamentalSoftware engineering fundamental
Software engineering fundamentalDr.Bechoo Lal
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710Nikhil Todkar
 

Ähnlich wie Requirements Engineering: Contextual and Dynamic (20)

Sdlc cource in_mumbai
Sdlc cource in_mumbaiSdlc cource in_mumbai
Sdlc cource in_mumbai
 
Chapter 8.ppt
Chapter 8.pptChapter 8.ppt
Chapter 8.ppt
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)
 
Using Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A SimplifiedUsing Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A Simplified
 
Phase gate review development model august 8 2017 - dave litwiller
Phase gate review development model   august 8 2017 - dave litwillerPhase gate review development model   august 8 2017 - dave litwiller
Phase gate review development model august 8 2017 - dave litwiller
 
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle Model
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Innovation framework
Innovation frameworkInnovation framework
Innovation framework
 
Resume (Oct 2012)
Resume (Oct 2012)Resume (Oct 2012)
Resume (Oct 2012)
 
Sdlc
SdlcSdlc
Sdlc
 
System Development
System  DevelopmentSystem  Development
System Development
 
Software Engineering Methodology
Software Engineering MethodologySoftware Engineering Methodology
Software Engineering Methodology
 
software engineering (spiral process model)
software engineering (spiral process model)software engineering (spiral process model)
software engineering (spiral process model)
 
Software Development Life Cycle Part II
Software Development Life Cycle Part IISoftware Development Life Cycle Part II
Software Development Life Cycle Part II
 
Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?
 
An overview of software development methodologies.
An overview of software development methodologies.An overview of software development methodologies.
An overview of software development methodologies.
 
Software engineering fundamental
Software engineering fundamentalSoftware engineering fundamental
Software engineering fundamental
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 

Kürzlich hochgeladen

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Kürzlich hochgeladen (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

Requirements Engineering: Contextual and Dynamic

  • 1. Requirements Engineering: A Continuous Process ShlomoArgamon, PhD Illinois Institute of Technology Chicago, IL and Center for Advanced Defense Studies Washington, DC 20002 Presented at the Military Operations Research Society 20 September, 2011
  • 2. Requirements Engineering (RE) Requirements Engineering is a subfield of: Software Engineering Systems Engineering Goal: 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 Errors Data: Boehm & Papaccio (1988) IEEE Trans. Software Eng. 20-fold increase during development Nominal unit cost 200-fold increase after delivery
  • 4.
  • 6. IterativeManagement Verification Elicitation: 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 Requirements 1985: Matsushita Electric developing a new bread machine, but the crust was overdone, while the inside was raw No progress by usual engineering analyses, including interviewing bakers and x-ray comparisons Finally, one engineer apprenticed with a master baker, discovering need to twist the dough Result: New technical requirements which resulted in a working product with record sales Nonaka 2007; Harvard Business Review
  • 8. Context is King User World Participation Causal effects Interface System World Representation Process Subject World Development World after (Jarke & Pohl 1993)
  • 9. Recursion in Development Traditional Waterfall Engineering (Plan-Driven) Modified Modular, with coordination points Iterative development models (spiral, agile, etc.) are more context-driven… but still maturing for large-scale projects Requirements Design Implementation Verification Maintenance
  • 11. Spiral Strengths & Weaknesses Strengths: Highest risks can be dealt with first, lowering overall costs Each iteration can be tailored for project needs as they evolve Tacit requirements uncovered at each iteration Weaknesses: More complex project organization – issues with scale Requires attentive and expert management General Recommendation: To reduce project risk, when possible: run risk-reduction iterations followed by waterfall or other non-risk-based lifecycle, once things are clear Depends on CONTEXT!!
  • 12. Requirements Management Challenge Requirements Engineering challenges: Scope Understanding Volatility Agility is required to: Adapt to a moving target Enable engineering time to achieve objectives
  • 13. The Bottom Line(s) Requirements are never known up front Requirements engineering should be interleaved in an iterative development process End-users must be involved in the development process

Hinweis der Redaktion

  1. 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.
  2. 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.
  3. 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.
  4. 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.