Results KCF Channels Interviews Technology Roadmaps

Download Report

Transcript Results KCF Channels Interviews Technology Roadmaps

Agile or Waterfall, How to Choose?
Version 1.0
NEOPMI Presentation
1
Agile or Waterfall, How to Choose?
Agenda
•
•
•
•
•
•
•
•
•
•
How many Software Development PMs vs. Other PMs?
What is Waterfall?
What is Agile?
Waterfall & Agile
•
Differences
•
Project Planning
•
Estimating
•
Decision Making
•
Communication
•
Tracking & Control
•
Synopsis
What they say about each other
What’s in it for Me?
What’s Wrong with Projects?
Where Does your Project Fall?
Conclusions – How to Choose?
Q&A
Version 1.0
NEOPMI Presentation
2
What is Waterfall?
•
Sequential development model seen as steadily flowing downwards
through the phases:
RequirementsDesignImplementationTestingMaintenance
•
1970 Winston Royce coins the phrase
•
Ironic- article criticized Waterfall and opted for “spiral”  Agile
PROS:
Fully documented / Fully defined requirements up front
Highly Documented
Fully documented designs
More regimented approach
CONS:
“Impossible” to have non-changing requirements
Very specific skills for each phase
Critical path dependencies
Product is at end of project = Costly changes
Primary communication method is through written documentation
Does Business Case still hold?
Version 1.0
NEOPMI Presentation
3
What is Agile?
•
•
•
•
•
•
•
•
•
Early and continuous delivery of business value
Regular delivery of production quality functionality
Close involvement & frequent communication between the project
team and business experts
Fluid, flexible approach
Business requirements WILL change over the course of the project
Customer MUST be involved along the entire process
Does not require EVERY requirement be written in stone before
starting
Breaks project down into small “iterations” – each is worked on as a
separate entity
Agile methods: Scrum, RUP, Extreme Programming, and Feature
Driven Development
Version 1.0
NEOPMI Presentation
4
Agile has Lean Principles
•
•
•
•
•
Reduces Waste
•
Spends time only on what adds real customer value
Amplified Learning
•
Increased feedback and collaboration
Leave Options Open as Long as Possible
•
Maintains multiple options and decide on options as priorities
Deliver as Fast as Possible
•
Deliver business value early and often
Empower the Team
•
Let the people who add value use their full potential
Version 1.0
NEOPMI Presentation
5
Reducing Waste - Functional Requirements
Features and Functions used in a typical system
Standish Group Study Reported at XP2002 by Jim Johnson, Chairman
Sometimes
16%
Often
19%
13%
Always
7%
45%
Often or Always
Used: 20%
Version 1.0
NEOPMI Presentation
Rarely
Never
Rarely or Never
Used: 64%
6
Agile Methods
Method Name
Key Points
Special Features
Shortcomings
Scrum
Independent, small, selforganizing development team,
30-day release cycles,
potentially shippable product
at end of each sprint
Enforce a paradigm shift
from the "defined and
repeatable" to the "new
product development"
view
While Scrum details in specific
how to manage the 30-day
release cycle, but does the fast
pace limit the capacity to
manage code errors and
sacrifice quality?
RUP
Complete SW development
model including tool
support. Activity-driven role
assignment
Business modeling, tool
family support
RUP has no limitations in the
scope of use. A description
how to tailor, in specific, to
changing needs is missing
Extreme
Programming
Customer driven development,
small teams, daily builds
Refactoring - the ongoing
redesign of the system to
improve its performance
and responsiveness to
change
While practices are suitable for
many situations, overall view
and management practices are
given less attention
Feature Driven
Development
Five-step process, object
oriented component based
development; Very short
iterations - from hours to 2
weeks
Method simplicity, design
and implement the system
by features and object
modeling
FDD focuses only on design
and implementation; Needs
other supporting approaches
Version 1.0
NEOPMI Presentation
7
Waterfall & Agile – Differences
Waterfall
•
•
•
•
Requirements
•
Detailed, signed off
on
•
Change process
Dependencies
•
Schedule ahead
Lower Client
Involvement
•
Up front and at end
Difficult to make
changes to Product
Agile
•
•
•
•
•
Version 1.0
NEOPMI Presentation
Requirements
•
Not complete
Iterative
•
Not Gantt
•
Relies on Release
plan
Prioritized elements
•
10  20 what
happened?
High Client Involvement
•
Do they have the
time?
Easy to change with
each Sprint
8
Waterfall & Agile – Differences (software)
Version 1.0
NEOPMI Presentation
9
Waterfall & Agile - Project Planning
Structured (WBS) of a Traditional Project plan
Analysis
Activity
Functionality
Feature
Feature
Design
Feature
Module
Coding
Module
Testing
Module
User Story Alternative
Functionality
Activity
Story 1
Analysis
Design
Story 2
Coding
Story 3
Testing
User Stories enable a plan to be built in terms of what will be delivered rather than
what work steps will be performed
Version 1.0
NEOPMI Presentation
10
Waterfall & Agile – Estimating
Waterfall
•
•
•
•
•
•
Plans must be accurate
End Date precision at the
start
Ex - Summer Games in
Bejing by 8/8/08
End Date Cost Precision at
the start
•
Typically fixed budget
due to fixed timeline
Detailed Requirements =
•
Less changes (you
hope)
•
Schedule easier to
predict
•
Deliverables easier to list
Estimates done by PM and
Senior Lead and Business
Executive
Estimates often become
Commitments
Version 1.0
NEOPMI Presentation
Agile
•
•
•
•
•
•
•
Plan must be flexible
End Date precision is gained
over time
•
Done March/April
•
Done in April
•
Done April 24
How precise does cost have
to be?
Changing requirements =
•
Evolve with Sprints
•
Impacts Schedule
Estimates are based on
relative size to one another
Estimates done by Team
Estimates lead to
Prioritization
11
Waterfall & Agile – Decision Making
Waterfall
•
•
•
•
•
Make decisions based on
information we are given
at the start
Rigid process does not
embrace changes well
Decisions are structured
based on the WBS
Success is reliant on
knowing a lot up front to
make encompassing
decisions
Less reliant on others to
make decisions in a timely
manner  less roadblocks
Version 1.0
NEOPMI Presentation
Agile
•
•
•
•
•
Make decisions often
based on what we know at
that time
Flexible process enables
changes in decisions
Spread decision-making
across the entire project
Success is very reliant on
frequent communication
More reliant on others to
make timely decisions and
not delay the Sprint
12
Waterfall & Agile – Communication
Balance
• If either side dominates, the business loses
• If the business side dominates…
• …functionality and dates are mandated with little regard for
reality or whether the developers understand the requirements
•
If the developers dominate…
• …technical jargon replaces the language of the business
•
•
…developers lose the opportunity to learn from listening
…the project becomes a technical project rather than a
business project with technical components
Version 1.0
NEOPMI Presentation
13
Waterfall & Agile – Tracking & Control
Waterfall
•
•
•
•
WBS structure
•
% completes
•
Dependencies
•
Grouped by Deliverable
•
Hours estimations
Cost Estimates
•
Often fixed
•
Calculated from project plan
•
Estimated for entire project
Reports
•
% completion of each
element
•
Labor costs
•
Estimates to Complete
Escalation
•
Easy based on reports
based on % completion
Agile
•
•
•
•
•
Version 1.0
NEOPMI Presentation
Product Backlog  Sprint
•
Simple 30-day objectives
•
Testing & Fixing Errors?
Final product evolves
•
How long until you finish?
•
How many sprints will you
need?
Cost Estimates
•
High-Level on Product
Backlog
•
# sprints = $$
Reports
•
Progress towards meeting
sprint goal
Escalation
•
PM and Prod Owner
14
Waterfall & Agile – Synopsis
Waterfall
•
•
•
•
•
•
Requirements
intensive
Stepwise
Regimented
Dependencies
Lower Client
Involvement
Product at end of
project
Version 1.0
NEOPMI Presentation
Agile
•
•
•
•
•
•
Requirements
detailed as project
progresses
Iterative
30-day Sprints
Prioritized elements
High Client
Involvement
Product at end of
each Sprint
15
What Waterfall and Agile Say About Each Other
•
Agile says Waterfall fails to address reality of requirements:
•
•
•
•
Waterfall says Agile doesn’t allocate time for learning opportunities:
•
•
•
Waterfall presumes ability to fully define system when least information
is known
Waterfall assumes requirements won’t change as project proceeds
Waterfall ignores the existence of Emergent Requirements
Agile - substantial reduction in learning opportunities because of
backlog production & timeline pressure
Agile - learning occurs sporadically in the process so it can only
influence the next sprint
Agile says Waterfall costs-to-make-change later in the process can
be orders of magnitude greater than earlier
•
(reply = Agile changes have downstream impact on backlog
prioritizations and timelines)
Version 1.0
NEOPMI Presentation
16
What’s In It For Me?
•
Top Three Reasons for Project Failure:
1)
2)
3)
Lack of user (sponsor) involvement
No executive management support
Unclear, incomplete, & changing requirements
•
Are we referring to Waterfall or Agile?
•
Many projects experiences 25% change in requirements
•
If we understand some reasons for failure, it will help us
understand which methodology to choose.
Version 1.0
NEOPMI Presentation
17
What’s Wrong with Projects?
•
Most Executives today are unhappy
•
Though not able to pinpoint the cause
•
Missed deadlines / budget overruns / failed projects
•
Low confidence in estimates
•
Frustrated at their dependence on a dept outside their control
•
How to get appropriate attention to their priorities
•
Why does everything seem so hard?!
•
It must be “poor project management”
•
Or is it because we apply management processes used
elsewhere in business to the Project arena?
Version 1.0
NEOPMI Presentation
18
What’s Wrong with Projects?
•
If the project is “development” (software, R&D), then
applying those management practices may cause one or
more fatal errors:
• Are we ignoring the fundamental equations of
development?
• Are we creating organizational impediments to
success?
• Are we managing projects improperly?
• not the PMs but the way in which we approach
development projects
• Are we purchasing inappropriate packages (software,
equipment)
Version 1.0
NEOPMI Presentation
19
Fundamental Equations of Development?
•
Effort
•
As complexity increases, required effort increases geometrically
•
Each element added increases number of interactions needed
•
And that element will interact with other elements too
As number of people on the team increases, the required effort
increases geometrically
•
The more the people, the harder to keep them coordinated
Interactions
•
Productivity of the most talented S/W developers is 5-40X that of the
average
•
I’d rather have 6 Superstars than 120 average developers
Version 1.0
NEOPMI Presentation
20
Organizational Impediments to Success
•
“Tools & Techniques” employed by organizations to “improve” their ability to build
systems
•
A Systems Request Form
•
Can cause a formal relationship instead of mutual commitment
Systems Liaison or Systems Interface Groups
•
Why do you need someone to communicate for others?
•
Dramatically decreases the quality of communications
Detailed Requirements Process
•
Can you really do this? Maybe…
•
Developing a system is a learning process for all involved
•
Business learns about Development / Development learns the Business
•
Requirements are GOOD!
•
But don’t set expectations that they’re all completed and never changing
User Acceptance Testing
•
Who’s doing it? Is it really the user / client / sponsor?
•
Does Development just “throw it over the wall” or are they actively engaged and
accountable
•
•
•
Version 1.0
NEOPMI Presentation
21
So what about the Project Managers?
•
The Executives say it’s “poor project management”
•
What are their expectations of us?
•
•
•
•
•
•
Good estimating – defined as planning
Monitoring the progress of tasks in the plan
Managing risk to the project and business
Taking management action in case of any significant variances
Managing internal and external elements
Building appropriate quality control
•
Do these skills change whether using Waterfall or Agile?
•
•
But we know that our biggest skill set involves:
•
Leading developers effectively
•
Communication skills
•
Team Building
•
Problem solving
Do these skills change whether using Waterfall or Agile?
Version 1.0
NEOPMI Presentation
22
Purchase Inappropriate Packages – COTS Software
Commercial Off-The-Shelf
•
•
•
•
•
•
We’re told it makes sense to buy this way
•
Proven application
•
Elimination of risks of late delivery
•
Elimination of risks of exceeding budget
•
PM responsibility is reduced to:
•
Implementation and Rollout
Why all the troubles then?
•
Flawed selection process
“Best Package” does not infer that Requirements-to-Capability
gaps will be low or easy
Waterfall – if gap = interfaces and reporting
Agile – if gap = data mapping, design, and development work
Does the architecture and design fit existing way of doing biz?
Version 1.0
NEOPMI Presentation
23
Purchase Inappropriate Packages – Internal Develop
1)
Break both the work and teams into small parts with concrete
deliverables
•
remember Fundamental Equations of Software Development
2) Ensure involvement and accountability by both developers and users
•
Keep timeframes short so there is no room for stepping back
3) Set expectations that can be met
•
Well-stated approach to problem and concrete architecture
required up front
So why is this so hard to implement?
•
How much do you know about what you know?
•
How much Executive project control?
•
Do the Users think they can just tell the Developers what they
want and sit back and wait for delivery?
•
Does your organization stringently require signed-off
specifications?
Agile or Waterfall?
Version 1.0
NEOPMI Presentation
24
Where Does Your Project Fall?
Waterfall
Home Construction
Car Manufacturing
Building a new Starbucks
Wastewater Plant
Vendor Software Install
Space Station
Public Works Utilities
System Enhancements
RFP Process
Planning a Vacation
Version 1.0
NEOPMI Presentation
Agile
New S/W Development
New Facility in a New Location
R&D Project
International Project
Iterative / Incremental Progress
(Apollo)
25
Conclusions
1)
What does your client know about what they want?
- highly detailed like building a house = favors Waterfall
- low to moderate like developing a new software application = favors Agile
2)
How involved can your client be? and How flexible is your client?
- high to moderate = favors Agile
- low to moderate = favors Waterfall
3)
How much documentation detail is required?
- high (regulatory, legal, operational critical) = favors Waterfall
- low (system enhancements, bldg another franchise) = favors Agile
4)
How much power do you have to make decisions for the project?
- low (subcommittees, steering committees, micromanaging executives) = favors Waterfall
- high (rapid development, repetitive, trusted) = favors Agile
5)
How much Tracking, Control, Reporting is required?
- low (complexity is low, probability of variances is low) = favors Agile
- high (large budget or timeline constraint, finite resource timing, legal) = favors Waterfall
6)
Will you be able to change or modify the end product?
- unlikely = favors Waterfall (very costly)
- likely = favors Agile (relatively low in cost)
Version 1.0
NEOPMI Presentation
26
How to Decide?
In the end……
Which methodology will bring YOU the highest probability of success for
YOUR organization.
Depends on how your organizational culture and how they defines
success
You’re the Project Manager!
Remember who gets Fired!
Version 1.0
NEOPMI Presentation
27
Questions
Version 1.0
NEOPMI Presentation
(no guarantee of an answer!)
28