Applying bothAgile and Waterfall
in one project
Maksym Dovgopolyi, PMP, CSM
Geneva, SoftShake2013
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
What We Will Cover Today:
● Why apply Agile in Waterfall Project
● How and when to apply Agile
● Model of mixed project
● Factors of successfully applied Agile
● Growing of Agile mindset
● Why applying Agile may fail
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Agile in Cisco Systems 2009. ● Cisco produces switches and routers using mainly Waterfall;● New projects in software development;● Needs to deliver fast and acquire visibility and credibility.
Problems to face● Cisco was mainly using Waterfall;● Need to gain credibility; ● ISO and TL 9000 certifications; ● Perception: “Agile if for dirty and quick work”.
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Agile in Cisco Systems Decisions● Work directly with the business units (customers) to figure out what they
need;● Regular demonstration of products to the project stakeholders;● Welcome changes and quick respond to the customer during the release;● Use scrum;● Bet on testing and prototyping;● Adapt and improve internal processes;● Interaction with Waterfall/
Results● Delivered working software quickly and gained Agile approach credibility
within the company;● Agile team grown from 6 to 26 people in 2 years;● Cisco passed an ISO-9000 audit;● Cisco now officially supports both Agile and Waterfall and has processes
for both methodologies.
When to Use Agile and Waterfall
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Waterfall Agile● Requirements are very well
known;● Product definition is stable; ● Technology is understood;● New version of an existing
product;● Integration an existing product
to the new platform;● Project is large, expensive,
complicated.
● Business objectives are well defined;
● Functionality of the system is clearly visible;
● End-users are involved; ● Team is stable and skilled;● Input data for the project
already exists (JIT);● Tech requirements are
reasonable and well within the capabilities of the technology being used;
● System can be modularized.
Why apply Agile in Waterfall Project?Avoid weaknesses of Waterfall approach and bring strength of Agile approach:
● Better control of budget and schedule;● Improve quality of the delivered product;● Better Risk Management;● Speed-up;● Provide more opportunities for customers;● Quick responding to changes.
Also, Agile is best suited to projects where the problem is complex and may not be fully understood at the beginning of the project.
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
The main challenges in applying Agile in Waterfall project are to define
where exactly in the project to do that and how deep.And Make it timely.
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Bad Tetris
Your project has to be holistic structure where all processes, tools and resources are at the right place.
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Even The most “Agile project” refers to the traditional project management principles
andThe most ster “Waterfall project” could be Agile
How to implement Agile?
What is Important for Your Project?
● Scope?● Schedule?● Budget?
If Schedule or Budget:● You need to set up clear limits on the amount of project
budget and project schedule;● You need to communicate clear and often about all
updates and changes.
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
If Scope:Be clear with management what is in the project backlog versus what is in the product backlog
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Product Backlog
Project Backlog
Release Backlog Release Backlog
IterationBacklog
IterationBacklog
IterationBacklog
IterationBacklog
FeatureJourney
Do You Need Agile?
Criteria to Determine the Best Approach for Your Project
● Requirements (how rigid and well defined);● Duration (how long is the planned duration);● Interfacing systems (numbers & complexity);● Project interdependencies (resources overlaps?);● Sponsor buy-in (right level of sponsorship);● Training for Agile (team/organization; coach availability)● Project resources;● Team size (how big? can it be broken down to 5-9);● Technology/Business domain knowledge;● Co-location;● Testing Automation.
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Where You Need Agile?
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Product
3 421
1.1
1.2
1.3
2.1
2.2
2.3
3.1
3.2
3.3
4.1
4.2
1.4 3.4
Define what could be done by Agile methodology
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Product
3 421
1.1
1.2
1.3
2.1
2.2
2.3
3.1
3.2
3.3
4.1
4.2
1.4 3.4
Agile
Define Sprint Backlogs
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Product
3 4
3.1
3.2
3.3
4.1
4.2
3.4
Release 1 Release 2
3.1
4.1
3.3
3.2
4.2
3.4
The Model of The Mixed Project
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
1.1 1.2
1.3
2.1 2.2
2.3
1.4
Start End
SprintBacklog
SprintBacklog
The Model of The Mixed Project
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
1.1 1.2
1.3
2.1 2.2
2.3
1.4
Start End
SprintBacklog
SprintBacklog
● Joint iteration planning● Scrum-of-scrum● Joint sprint demos● Joint retrospectives
Agile Project management Techniques
User stories VS Requirements
Fixed Sprint Duration VS Fixed Scope
Self-organizing Team VS PM Lead Team
Low-tech communications VS Formal Communications Documents
Stand-Up Meetings VS Traditional Project status Meetings
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
How to understand that Agile works?
7 Factors for Successfully Adopting Agile
1. Full-time Product Owner
2. Dedicate a full-time Delivery Team
3. Just-in-Time requirement
4. Time-boxing the iterations
5. Having the right people in the right roles
6. A collaborative environment
7. Applying the necessary discipline
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
7 Factors for Successfully Adopting Agile
Nokia Test
1. Full-time Product Owner
2. Dedicate a full-time Delivery Team
3. Just-in-Time requirement
4. Time-boxing the iterations
5. Having the right people in the right
roles
6. A collaborative environment
7. Applying the necessary discipline
● Sprints must be timeboxed to 4 weeks or less;
● Features are tested and working by the end the Sprint;
● The Sprint starts with an Agile spec;● You know who the product owner is;● There is a product backlog
prioritized by business value;● The product backlog has estimates
created by the team;● The team generates burndown
charts and knows their velocity;● There are no project managers (or
anyone else) disrupting the work of the team;
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Agile in NASAIn 2008 NASA decided to revise the processes for R&D and engineers who are involved in it. For NASA it means to combine traditional approach with creativity, flexibility and adaptivity.
● NASA revised requirements for new hiring engineers:○ proactivity○ communication skills○ problem solving skills○ leadership
● New training programme to develop necessary skills
New rules for engineering teams to develop creativity and open climate:1. Status means nothing in taking decisions;2. Certainty is a main argument in taking decisions3. Autonomy for engineering teams. From outside come just functional
requirements, budget and time. 4. Relatedness is important in relationship between team-mates.5. Fairness is important in judgments and taking decisions.
Lean Project Management
Evaluate the flow of work to identify opportunities for improvement:
● Reduce “Non-Value Add” activities and increase “Customer Value Add” activities
● Improve Project by agile techniques
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Failure in Applying AgileAgile, like any other framework or process is not bad, only people who made decision to apply and didn't learned carefully the project environment.
● The Signed "Waterfall" Contract;● Wrong people in the right roles;● Cultural clash;● Team doesn't support changes;● Product owner wasn’t defined or not available;● Project environment doesn't support Agile approach; ● Weak understanding of Agile principles and tools;● Unexperienced Project manager and team;● and etc.