agile fundamentals session 2
DESCRIPTION
Agile Fundamentals-slidesTRANSCRIPT
-
@stephenhaunts | www.stephenhaunts.com
Stephen Haunts
Waterfall Development and Its Problems
-
First introduced by Winston Roycehttp://www.cs.umd.edu/class/spring2003/cmsc838p/Proc
ess/waterfall.pdf
History of the Waterfall Model
-
First introduced by Winston Royce
Was not referred to as Waterfall until later
History of the Waterfall Model
-
Requirements specification
History of the Waterfall Model
-
Requirements specification
Design
History of the Waterfall Model
-
Requirements specification
Design
Construction
History of the Waterfall Model
-
Requirements specification
Design
Construction
Integration
History of the Waterfall Model
-
Requirements specification
Design
Construction
Integration
Testing and debugging
History of the Waterfall Model
-
Installation
History of the Waterfall Model
-
Installation
Maintenance
History of the Waterfall Model
-
How Does Waterfall Work?Requirements
Analysis
-
How Does Waterfall Work?Requirements
Analysis
System Design
-
How Does Waterfall Work?Requirements
Analysis
System Design
Implementation
-
How Does Waterfall Work?Requirements
Analysis
System Design
Implementation
Integration and Testing
-
How Does Waterfall Work?Requirements
Analysis
System Design
Implementation
Integration and Testing
Deployment
-
How Does Waterfall Work?Requirements
Analysis
System Design
Implementation
Integration and Testing
Deployment
Maintenance
-
Requirements are well documented, clear and fixed
Where Is Waterfall Suitable?
-
Requirements are well documented, clear and fixed
Product definition is stable
Where Is Waterfall Suitable?
-
Requirements are well documented, clear and fixed
Product definition is stable
Technology is well understood
Where Is Waterfall Suitable?
-
Requirements are well documented, clear and fixed
Product definition is stable
Technology is well understood
No ambiguous requirements
The project is short
Where Is Waterfall Suitable?
-
Requirements are well documented, clear and fixed
Product definition is stable
Technology is well understood
No ambiguous requirements
The project is short
Suitable resources available
Where Is Waterfall Suitable?
-
Advantages
Advantages and Disadvantages
-
Advantages
Easier scheduling and control
Advantages and Disadvantages
-
Advantages
Easier scheduling and control Departmentalization
Advantages and Disadvantages
-
Disadvantages
Advantages and Disadvantages
-
Disadvantages
Does not allow for reflection or revision
Advantages and Disadvantages
-
Disadvantages
Does not allow for reflection or revision Once in testing stage, change is hard
Advantages and Disadvantages
-
Pros
-
Simple and easy to understand
Pros
-
Simple and easy to understand
Easy to manage
Pros
-
Simple and easy to understand
Easy to manage
Phases are completed one at a time
Pros
-
Simple and easy to understand
Easy to manage
Phases are completed one at a time
Works well for smaller projects
Pros
-
Simple and easy to understand
Easy to manage
Phases are completed one at a time
Works well for smaller projects
Clearly defined stages
Pros
-
Simple and easy to understand
Easy to manage
Phases are completed one at a time
Works well for smaller projects
Clearly defined stages
Well understood milestones
Pros
-
Process and results are well documented
Pros
-
Process and results are well documented
Tasks are easy to arrange for a project manager
Pros
-
Cons
-
No working software until late in the cycle
Cons
-
No working software until late in the cycle
High amounts of risk and uncertainty
Cons
-
No working software until late in the cycle
High amounts of risk and uncertainty
Not good for complex projects
Cons
-
No working software until late in the cycle
High amounts of risk and uncertainty
Not good for complex projects
Not good where change is expected
Cons
-
Change in scope can end a project
Cons
-
Change in scope can end a project
Integration and delivery is done as a Big Bang
Cons
-
- Modified version of the waterfall model
History of the V-Model
-
- Modified version of the waterfall model
- Designed to be non-linear
History of the V-Model
-
- Modified version of the waterfall model
- Designed to be non-linear
- Described by Paul E. Brook in 1986
- Testing phase for each corresponding development stage
History of the V-Model
-
- Verification phases on one side and Validation phases on the other side
How Does the V-Model Work?
-
How Does the V-Model Work?Requirements
AnalysisAcceptance Test
Design
-
How Does the V-Model Work?Requirements
Analysis
System Design System Test Design
Acceptance Test Design
-
How Does the V-Model Work?Requirements
Analysis
System Design
Architecture Design
Integration Test Design
System Test Design
Acceptance Test Design
-
How Does the V-Model Work?Requirements
Analysis
System Design
Architecture Design
Module Design Unit Test Design
Integration Test Design
System Test Design
Acceptance Test Design
-
How Does the V-Model Work?Requirements
Analysis
System Design
Architecture Design
Module Design
Coding
Unit Test Design
Integration Test Design
System Test Design
Acceptance Test Design
-
How Does the V-Model Work?Requirements
Analysis
System Design
Architecture Design
Module Design
Coding
Unit TestingUnit Test Design
Integration Test Design
System Test Design
Acceptance Test Design
-
How Does the V-Model Work?Requirements
Analysis
System Design
Architecture Design
Module Design
Coding
Unit Testing
Integration Testing
Unit Test Design
Integration Test Design
System Test Design
Acceptance Test Design
-
How Does the V-Model Work?Requirements
Analysis
System Design
Architecture Design
Module Design
Coding
Unit Testing
Integration Testing
System Testing
Unit Test Design
Integration Test Design
System Test Design
Acceptance Test Design
-
How Does the V-Model Work?Requirements
Analysis
System Design
Architecture Design
Module Design
Coding
Unit Testing
Integration Testing
System Testing
Acceptance Testing
Unit Test Design
Integration Test Design
System Test Design
Acceptance Test Design
-
Requirements are well defined, documented and fixed in place
Where Is the V-Model Suitable?
-
Requirements are well defined, documented and fixed in place
Product definition is stable
Where Is the V-Model Suitable?
-
Requirements are well defined, documented and fixed in place
Product definition is stable
Technology is well understood
Where Is the V-Model Suitable?
-
Requirements are well defined, documented and fixed in place
Product definition is stable
Technology is well understood
No ambiguous requirements
Where Is the V-Model Suitable?
-
Requirements are well defined, documented and fixed in place
Product definition is stable
Technology is well understood
No ambiguous requirements
The project is short
Where Is the V-Model Suitable?
-
Advantages
Easy to understand and apply
Advantages and Disadvantages
-
Advantages
Easy to understand and apply Easy to manage
Advantages and Disadvantages
-
Disadvantages
Model is not flexible to changes in requirements
Advantages and Disadvantages
-
Disadvantages
Model is not flexible to changes in requirements
Requirements changes are disruptive and expensive
Advantages and Disadvantages
-
Pros
-
Disciplined model where phases are complete one at a time
Pros
-
Disciplined model where phases are complete one at a time
Works well for small projects
Pros
-
Disciplined model where phases are complete one at a time
Works well for small projects
Easy to understand and use
Pros
-
Disciplined model where phases are complete one at a time
Works well for small projects
East to understand and use
Easy to manage due to the rigidity of the model
Pros
-
Cons
-
High risk and uncertainty
Cons
-
High risk and uncertainty
Not a good model for complex projects
Cons
-
High risk and uncertainty
Not a good model for complex projects
Not good for changes in requirements
Cons
-
High risk and uncertainty
Not a good model for complex projects
Not good for changes in requirements
Once in testing, difficult to go back
Cons
-
No working software is produced until late in the day
Cons
-
Waterfall and V-Model work in stages
Summary
-
Waterfall and V-Model work in stages
Each stages output is an input to the next stage
Summary
-
Waterfall and V-Model work in stages
Each stages output is an input to the next stage
Changes in requirements are disruptive
Summary
-
Waterfall and V-Model work in stages
Each stages output is an input to the next stage
Changes in requirements are disruptive
Software delivered late in the process
Summary
-
Is There a Better Way?
Waterfall Development and Its ProblemsHistory of the Waterfall ModelHistory of the Waterfall ModelHistory of the Waterfall ModelHistory of the Waterfall ModelHistory of the Waterfall ModelHistory of the Waterfall ModelHistory of the Waterfall ModelHistory of the Waterfall ModelHistory of the Waterfall ModelHow Does Waterfall Work?How Does Waterfall Work?How Does Waterfall Work?How Does Waterfall Work?How Does Waterfall Work?How Does Waterfall Work?Where Is Waterfall Suitable?Where Is Waterfall Suitable?Where Is Waterfall Suitable?Where Is Waterfall Suitable?Where Is Waterfall Suitable?Advantages and DisadvantagesAdvantages and DisadvantagesAdvantages and DisadvantagesAdvantages and DisadvantagesAdvantages and DisadvantagesAdvantages and DisadvantagesProsProsProsProsProsProsProsProsProsConsConsConsConsConsConsConsHistory of the V-ModelHistory of the V-ModelHistory of the V-ModelHow Does the V-Model Work?How Does the V-Model Work?How Does the V-Model Work?How Does the V-Model Work?How Does the V-Model Work?How Does the V-Model Work?How Does the V-Model Work?How Does the V-Model Work?How Does the V-Model Work?How Does the V-Model Work?Where Is the V-Model Suitable?Where Is the V-Model Suitable?Where Is the V-Model Suitable?Where Is the V-Model Suitable?Where Is the V-Model Suitable?Advantages and DisadvantagesAdvantages and DisadvantagesAdvantages and DisadvantagesAdvantages and DisadvantagesProsProsProsProsProsConsConsConsConsConsConsSummarySummarySummarySummaryIs There a Better Way?