applying both agile and waterfall in one project

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

Upload: maksym-dovgopolyi

Post on 20-Aug-2015

4.311 views

Category:

Technology


1 download

TRANSCRIPT

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.

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

B “Be water, my friend”Bruce Lee