project methodologies - waterfall and agile
TRANSCRIPT
WATERFALL & AGILE
➤ How do these methodologies look like?
➤ What happens in specific sections?
➤ Which one do you use when?
➤ Pros and Cons
➤ Comparison of both methodologies
WATERFALL - HOW DOES IT LOOK LIKE?
Requirement Analysis
System Design
Deployment
Maintenance
Testing
Implementation
WATERFALL - REQUIREMENT ANALYSIS
➤ Requirements captured
➤ Documentation created
➤ System specification prepared
Requirement Analysis
System Design
Deployment
Maintenance
Testing
Implementation
WATERFALL - SYSTEM DESIGN➤ System architecture defined
➤ General designRequirement Analysis
System Design
Deployment
Maintenance
Testing
Implementation
WATERFALL - IMPLEMENTATION➤ Development started
Requirement Analysis
System Design
Deployment
Maintenance
Testing
Implementation
WATERFALL - TESTING➤ Unit tests
➤ White box
➤ Black box
Requirement Analysis
System Design
Deployment
Maintenance
Testing
Implementation
WATERFALL - DEPLOYMENT➤ Deployed to clients environment
Requirement Analysis
System Design
Deployment
Maintenance
Testing
Implementation
WATERFALL - MAINTENANCE➤ Patches post release
Requirement Analysis
System Design
Deployment
Maintenance
Testing
Implementation
WATERFALL - WHEN TO USE IT?
➤ Projects with physical objects
➤ Requirements are clear and documented extensively
➤ Technology and product are not dynamic
➤ An upgrade of an existing product
WATERFALL - PROS AND CONS
Cons
Changing of requirements can get expensive
Hard to measure progress within a stage
No system is created until a further stage
Difficult to estimate time and cost per stage
Pros
Simple to use and easy to understand
Stages clearly defined
Easy to manage
Consistent documentation
AGILE - TYPES OF AGILE METHODOLOGIES
Kanban
Split up work flow
Limit work in progress
Measure time to predict cycles
Scrum
Split up organisation
Split up work flow
Split time
Communicate daily
AGILE - PROS AND CONS
Cons
Depends a lot on client interaction
Hard to involve new people without some documentation
There needs to be an overall plan of what has to be achieved
Pros
Realistic approach to software development
Promotes teamwork
Maximum flexibility
Delivers early partial working solutions