You are on page 1of 24

Applying both

Agile and Waterfall


in one project

Maksym Dovgopolyi, PMP, CSM

Geneva, SoftShake
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.

Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
When to Use Agile and Waterfall
Waterfall Agile
Requirements are very well Business objectives are well
known; defined;
Product definition is stable; Functionality of the system is
Technology is understood; clearly visible;
New version of an existing End-users are involved;
product; Team is stable and skilled;
Integration an existing product Input data for the project
to the new platform; already exists (JIT);
Project is large, expensive, Tech requirements are
complicated. reasonable and well within the
capabilities of the technology
being used;
System can be modularized.

Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
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
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
and
The most ster Waterfall project could be Agile

Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
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

Feature
Journey Product Backlog

Project Backlog

Release Backlog Release Backlog

Iteration Iteration Iteration Iteration


Backlog Backlog Backlog Backlog

Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
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?
Product

1 2 3 4
1.1 2.1 3.1 4.1

1.2 2.2 3.2 4.2

1.3 2.3 3.3

1.4 3.4

Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Define what could be done by Agile methodology
Product

1 2 3 4
1.1 2.1 3.1 4.1

1.2

1.3
2.2

2.3
Agile
3.2

3.3
4.2

1.4 3.4

Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
Define Sprint Backlogs
Product

3 4 Release 1 Release 2

3.1 4.1 3.1 3.2

3.2 4.2 4.1 4.2

3.3 3.3 3.4

3.4

Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
The Model of The Mixed Project

Sprint Sprint
Backlog Backlog

Start End

1.3 1.4

1.1 1.2 2.3

2.1 2.2

Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
The Model of The Mixed Project

Sprint Sprint
Backlog Backlog

Joint iteration planning


Start Scrum-of-scrum End
Joint sprint demos
Joint retrospectives

1.3 1.4

1.1 1.2 2.3

2.1 2.2

Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
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
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 Nokia Test
Agile
1. Full-time Product Owner Sprints must be timeboxed to 4
weeks or less;
2. Dedicate a full-time Delivery Team
Features are tested and working by
3. Just-in-Time requirement the end the Sprint;
The Sprint starts with an Agile spec;
4. Time-boxing the iterations
You know who the product owner is;
5. Having the right people in the right There is a product backlog
prioritized by business value;
roles
The product backlog has estimates
6. A collaborative environment created by the team;
The team generates burndown
7. Applying the necessary discipline
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 NASA
In 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 decisions
3. 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.
Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
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
Failure in Applying Agile
Agile, 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 wasnt 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.

Maksym DOVGOPOLYI, Applying Both Agile & Waterfall in One Project, Geneva, 2013
B
Be water, my friend
Bruce Lee

Maksym DOVGOPOLYI, Applying both Agile & waterfall in one project, Geneva, 2013