Title: Agile Project Management: Breaking Old Software Management Paradigms
1Agile Project Management Breaking Old Software
Management Paradigms
- Presented by Ryan Martens
- President Founder, Rally SDC
2Background on Speaker
- Ryan Martens
- President Founder, Rally Software Development
Corp. - Former Director Product Management, BEA Systems
- VP Services, Avitek (Custom Java Development
Firm) - Director/Project Manager, BDM Technologies
(Systems Integrator) - MBA, BSCE (Construction Mgmt) Minor CS
The Most Agile Route Between Two Points
On Course On Time
Rally increases the reliability and
responsiveness of software-driven companies by
enhancing development productivity and agility
3Audience Survey
- What part of the software industry do you work
in? - Software (ISV, ASP)
- Corporate (IT)
- Services (ISV, Consultant)
- Other
- How many people are PMP certified?
- YES
- NO
4Objectives for Today
- Thesis
- Agile Project Management is becoming a mainstream
alternative to Plan Driven Project Management.
Agile is both disciplined and innovative it
makes your team more reliable and responsive. - What you will learn
- What does Agile look like?
- What project management paradigms are we
breaking with Agile versus Plan-Driven
Development? - How do you get to Agile?
- How does it change the Day-in-the-life of a
PM? - How do you get started?
- What tools and resources are available?
5Agile Adoption Survey
- What is your current level of experience in Agile
Project Management and Development? - Know the concept
- Learning
- Some experience on a team using it
- Active practitioner
6What does Agile look like?
7Survey of Agile Methods
- Dynamic System Development Method (Dane Faulkner)
- Adaptive Software Development (Jim Highsmith)
- Crystal (Alistair Cockburn)
- SCRUM (Ken Schwaber)
- XP (Kent Beck)
- Lean Software Development (Mary Poppendieck)
- Feature Driven Development (Jeff DeLuca)
- Agile RUP
8A Generalized Agile Process
Release
Iteration 1
Iteration 2
Iteration 3
Iteration
Backlog
- Feature 1
- Feature 2
- Feature 3a
- Feature 4c
- Feature 6
- Feature 7
9An Agile Iteration
10What project management paradigms are we breaking?
11What Paradigms Are We Breaking?
Agile Development
WaterfallDevelopment
Iterative Development
Iterative and Incremental Development
Parallel Development
AcceptanceTest Driven Development
Process
Measure of Success
Conformance to Plan
Response to Change
Culture
Command-and-Control
Leadership /Collaborative
Design
QA
Tool Support
12New Measures of Success
Agile Development
WaterfallDevelopment
Iterative Development
Iterative and Incremental Development
Parallel Development
AcceptanceTest Driven Development
Process
Measure of Success
Conformance to Plan
Response to Change
- Critical Path -------------------------
- Work Breakdown Structure
--------------------------------
--------- - Complete of tasks --------------
- Serial functions --------------------
- Procedural process -----------------
- Fixed scope -------------------------
- Critical Chain
- Feature Breakdown Structure
- of Features accepted
- Parallel functions
- Empirical time boxes
- Fixed time and resources
13Culture of Discipline and Collaboration
Agile Development
WaterfallDevelopment
Iterative Development
Iterative and Incremental Development
Parallel Development
AcceptanceTest Driven Development
Process
Culture
Command-and-Control
Leadership /Collaborative
- Culture of sign-offs -----------------
- High-level plans Roll-up of detailed plans
------------------------ - Detailed Planning early ------------
- Protect the Project Scope ----------
- Demonstrate at End -----------------
- Weekly PM meetings --------------
- Culture of learning
- Gross estimates of backlog create the high-level
plans - Detailed Planning in chunks
- Protect the Iteration Scope
- Demonstrate every Iteration
- Daily Stand-up meetings
14Continuous Design Test
Agile Development
WaterfallDevelopment
Iterative Development
Iterative and Incremental Development
Parallel Development
AcceptanceTest Driven Development
Process
Design
QA
- Contract with Customer ----------
- Big Design sign off ---------------
- Dreaded Integration phase -------
- Never miss Dev. Cmpt date -----
- Work in big phases ---------------
- Testing squeezed -----------------
- Partner with Customer
- LPM Design Decisions
- Continuous Integration
- Never break the build
- Work in small chunks
- Low Features squeezed
15Agile Project Tooling
Agile Development
WaterfallDevelopment
Iterative Development
Iterative and Incremental Development
Parallel Development
AcceptanceTest Driven Development
Process
Tool Support
- Focus on Individuals -------------
- Optimize the parts ----------------
- Integrate with batch update -----
- Manage large inventories --------
- Un-integrated with the WBS ----
- Visibility through manual PM report
--------------------------------
- Focus on the team
- Optimize the whole
- Tight integration
- Manage rapid throughput
- Manage the FBS
- Real-time visibility up, down and across the team
16Benefits from Implementing Agile
- Deliver benefits early (First Iteration is
demonstrable) - Avoid significant rework by only doing
just-in-time detailed design - Avoid dead-end design decisions by managing with
LPM decisions and trade-off matrix - Raise quality by moving testing forward in the
process - Become responsive by supporting scope adjustments
every iteration - Become reliable by instituting regular heartbeats
to the team - Increase estimating accuracy by working in small
chunks - Decrease risk by always having working software
- Increase throughput via real-time visibility
- Increase team moral by dropping the death
marches.
17How do you get to Agile?
18Four Paths to Great Software(Consistently
Responsive)
Culture of Discipline
Hierarchical
High
Great Organization
Agility Innovation
High
Low
Bureaucratic
Start-up
Low
(Adapted from Collins Good-to-Great Matrix of
Creative Discipline, 2002)
19Four Paths to Great Software(Consistently
Responsive)
Culture of Discipline
Hierarchical
High
Great Organization
Agile Organization
Waterfall
Agility Innovation
Agile Development
High
Low
Solo Virtuosos
Chaos
Bureaucratic
Start-up
Low
(Adapted from Collins Good-to-Great Matrix of
Creative Discipline, 2002)
20Four Paths to Great Software(Consistently
Responsive)
Culture of Discipline
Hierarchical
High
Great Organization
Agile Organization
Path 4 Scaling Extending Agile
Path 1 Agility
Waterfall
Agility Innovation
Agile Development
High
Low
Path 2 Discipline
Path 3 Agility Discipline
Solo Virtuosos
Chaos
Bureaucratic
Start-up
Low
(Adapted from Collins Good-to-Great Matrix of
Creative Discipline, 2002)
21How Organizations Become More Responsive
D. Anderson Agile Software Management
Accounting for Systems
22Agile Increasing Success
Agile Development
Cycle Time
Increasing Throughput
Detailed Inventory
Decreasing Investment
Feedback Delays
Decreasing Operating Expense
Increasing Success
Risks
23Incremental and Iterative
Agile Development
Cycle Time
Year
Quarters
Months
Detailed Inventory
Whole Project
Phase
Iteration
Feedback Delays
Across Job Functions
Across Phase
Across Iteration
Risks
Entire Business
Project
Iteration
24Incremental Iterative Cadence
Development Complete
Demonstration
Detailed Iteration Planning Design
Develop all Features in Parallel
Automate Tests
Elaborate Features Into Requirements
Fix Deferred Defects
Manual Test Bug Fix
Elaborate Manual Tests
Iteration N1
Iteration N-1
Iteration N
25Parallel Development Cadence
Development Complete
Demonstration
Detailed Iteration Planning Design
Test Fix
Dev Feature Priority 1
Automate Tests
Elab. Tests Feature 1
Elaborate Features Into Requirements
Test Fix
Dev Feature Priority 2
Fix Deferred Defects
Elab. Tests Feature 2
Test Fix
Dev Feature Priority 3
Elab. Tests Feature 3
Iteration N1
Iteration N-1
Iteration N
26Acceptance Test Driven Development Cadence
Demonstration
Detailed Iteration Planning Design
Dev Feature Priority 1
Dev Feature Priority 4
Auto. Tests Feature 1
Auto. Tests Feature 4
Elaborate Features Into Requirements and Test
Cases
Dev Feature Priority 2
Dev Feature Priority 5
Auto. Tests Feature 2
Auto. Tests Feature 5
Dev Feature Priority 3
Auto. Tests Feature 3
Iteration N1
Iteration N-1
Iteration N
27Increasing Agility Success
Agile Development
Cycle Time
Year
Quarters
Months
Weeks
Detailed Inventory
Whole Project
Phase
Iteration
Increment
Feature
Feedback Delays
Across Job Functions
Across Phase
Across Iteration
Across Increment
Across Feature
Risks
Entire Business
Project
Iteration
Increment
Feature
28The Day in the Life of an Agile Project Manager
29Customer Success Story
- Before
- 8 month release, 2 month iterations
- Dilemma
- Still missing the opportunities Iteration goals
- After
- 2 week iterations exposed issues
- Separate Patch Support team
- Lowered defect inventory
- As a results
- Reliably Responsive to new opportunities
30How do I get started?
31Evolution of Agile inside a team
- Rollover
- Implement daily stand-up meetings, create an
automated build process to always be close to
shippable code - Apply Agile Project Management (APM) practices
- Create and track a Backlog of stories, a Release,
and its Iterations through to Acceptance - Create short iterations and release small batches
- Extend APM upstream into requirements elaboration
- Capture use cases, scenarios for richer
requirements statements, and build parent-child
relationships to pull testing forward - Build tight link to the customer for feedback
- Extend APM into test to increase quality measures
- Track test case results to story cards, manage
defects from iteration to iteration - Implement an automated acceptance testing
framework
32Technical Team Disciplines
- Develop coding and naming standards
- Track remaining on tasks
- Automate the build process and share results
- Implement a Testing Framework that includes unit
test, application tests and GUI tests - Develop a continuous integration process and
server - Move toward collective code ownership
- Cross-train through pair programming to increase
flexibility, domain knowledge and reduce risk
33Resources to Self-teach Agile
- Suggested Reading
- Home of SCRUM www.controlchaos.com/
- Agile Iterative Development www.craiglarman.com
- Lean Software Development www.poppendieck.com/
- Agile Project Management www.jimhighsmith.com/
- Rally Whitepaper
- Tactical Management of Iterative Development
Achieving Competitive Advantage, www.rallydev.com
- Suggested Process
- Internal champion
- Suggested reading
- Brown bag discussions
- Guest lectures
- Local Agile/XP user groups
- Agile Conferences
- Agile Development
- XP / Agile Universe
- Software Development
- Where to start on the web
- www.agilealliance.org
- Articles, events user groups
- Great resource for getting started with Agile
34Professional Help
- Training Opportunities
- Lean Manager Practitioners Classes
- www.poppendieck.com/courses.htm
- SCRUM Master Class
- www.controlchaos.com/certifiedscrum/
- eXtreme Programming
- www.xprogramming.com/xpmag/services.htm
- Rallys 1-day Agile Workshop
- Mentoring Programs
- Individual consulting
- Ken Schwaber
- Mary Tom Poppendieck
- Jim Highsmith
- Mike Cohn
- Or see www.agilealliance.org
- Rally Agile Pilot Program
- 1-day team workshop
- Developing the Agile Management Team
- Delivering the first Agile iterations
35Just give me two weeks
- Execute - Have daily standup meetings for 15
minutes. - Be accountable. Hold the demo exactly when
planned no matter how much you have achieved. - Reflect on what youve learned.
- Do it again.
- Pick a date two weeks from this Friday. Call it
Iteration 1 End Date. Schedule a demo for
stakeholders. - Decide which feature the team will accomplish
(the bite-size chunk that can be completed). - Define the tasks required to achieve the
objective and have the team bid each task. - Adjust scope until it looks like it might fit.
Commit.
36Audience Survey
- How many people use these Project Management
Tools for planning and tracking? - MS-Project Stand alone
- MS-Project Enterprise (or other Project Servers)
- Spreadsheets
37Tools
- Open Source
- M-ASE
- Story Server
- TWiki XPTrackerPlugin
- UserStory.NET
- XPlanner
- XpCgi
- XPWeb
- XPSwiki
- Commercial
- Rally
- AgilePlan
- VersionOne
- Iterate
- Scope Manager
- ScrumWorks
- DevPlanner
- XpPlanIt
Most co-located teams start with paper, note
cards and a whiteboard
38Planning an Agile Project
- Prioritized Backlog of features with gross
estimates - Estimate of team velocity
- Creates Release Iterations
- Draft Iteration FBS
- Detailed Planning for the next Iteration
39Tracking an Agile Project
- Complete detailed estimates tasks
- Rank FBS for Iteration
- Start work update status
- Track status of tasks, tests defects
- Demonstrate new features
- Collect metrics
40Report on an Agile Project
- Remaining burn-down
- Accepted features
- Velocity of team
- Prioritized Backlog
- Test Coverage
- Outstanding bugs
- Current Iteration dates
41Objectives for Today
- Thesis
- Agile Project Management is becoming a mainstream
alternative to Plan-Driven Project Management.
Agile is both disciplined and innovative it
makes your team more reliable and responsive. - What you learned
- What does Agile look like?
- What project management paradigms are we
breaking with Agile versus Plan-Driven
Development? - How do you get to Agile?
- How does it change the Day-in-the-life of a
PM? - How do you get started?
- What tools and resources are available?
42Questions?Ryan.martens_at_rallydev.com
ORAgilecoach_at_rallydev.com