Más contenido relacionado La actualidad más candente (20) Similar a How to Rescue a Troubled IT Project with Agile (20) How to Rescue a Troubled IT Project with Agile1. Measure. Optimize. Deliver.
Phone +1.610.644.2856
Rescuing a Troubled Project
with Agile
Pat Eglin, Agile Coach
p.eglin@davidconsultinggroup.com
Tom Cagley, CFPS, Agile Practice Lead
t.cagley@davidconsultinggroup.com
2013
2. ©2013 David Consulting Group
Troubled Projects
• Is the project really in trouble?
– Tolerances
• Budget
• Calendar
• Quality
• Satisfaction
• Incompatibilities
1
Ok Disaster
3. ©2013 David Consulting Group
Assessing Typical Sources of Problems
• Poor Planning
– Lack of Correct Resources
• Poor Scope Management
– Scope Creep
– Scope Churn
– Building the Wrong Thing
• Not Managed Well
– Wrong People Doing The Right Things
• Poor Communications
– Lack of Involvement
• Poor Quality
– Trade-offs
– Defects Dominating
2
4. ©2013 David Consulting Group
Turn Around or Reset?
• Is there a coherent vision of the project’s goal?
– No? Reset.
• Does an external estimate to complete indicate
humans can actually deliver?
– No? Reset.
• Can the organization afford what is required to
deliver?
– No? Reset.
3
Ok Disaster
Turn
Around
5. ©2013 David Consulting Group
Why Agile
4
“Agile projects are successful three times
more often than non-Agile projects.”
- 2011 CHAOS Manifesto from the Standish Group
• Agile enhances the team’s ability to
deliver through:
– Involving the whole team in planning and meeting
the business need
– Focuses on defining what is needed then
controlling the “backlog”
– Utilizing a structure that allows the team to control
their process to meet the environment
– Short cycles, constant feedback and close
engagement with the product owner
6. ©2013 David Consulting Group
The Process
1. Assess The Project
– In trouble?
– Turn around or restart
2. Plan The Intervention
– Prep the teams
– Re-organize
– Decide who does what
3. JumpStart
4. Coach
5. Celebrate
5
7. ©2013 David Consulting Group
Assess: The Project
6
Process:
• Satisfaction
• Change
Management
• SDLC
Model:
• CMMI
• IT-CMF
• Cobit
Quantitative:
• Dates
• Defects
• Cost
• Productivity
• Effort
• Budget
Quantitative and
Process assessment
techniques compared
to implicit or explicit
tolerances are the
most common
troubled project
assessment
techniques.
8. ©2013 David Consulting Group
Reorganize / Form Teams: Capability Teams
Capability Team
Product
Owner
Scrum
Master
Business
Analyst
Tester
Tester
Developer
Developer
Developer
/ Tester
Value (Work) Flow
1. Form teams around organizational
capabilities
2. Team size of five to nine, including all
disciplines needed to deliver
3. Projects become less important than a
Flow of Value (Karl Scotland)
7
9. ©2013 David Consulting Group
Three “Typical” Agile Team Roles
Scrum Master
• Coach and facilitator
• Impediment
remover
The Team
• Developers, Testers, Business
Analysts/SMEs, Architects,
Data Analysts, etc.
• Frame, design, build and test
Product Owner
• Provides business
acumen and
support
• Owns and
prioritizes
backlog, answers
questions and
makes decisions
PO
SM
8
10. ©2013 David Consulting Group
Roles & Responsibilities – Key Participants
Product Owner
• Ensures backlog is visible to everyone;
• Makes decisions;
• Defines the product vision and the
features of the product;
• Prioritizes user stories according to
market value;
• Grooms the product backlog every
iteration;
• Accepts or rejects work results;
• Calls for and plans the releases;
• Involves customers, users, and other
stakeholders;
• Prepares for the product launch;
• Attends the Scrum meetings; and
• Collaborates with the team.
Scrum Master
• Responsible for ensuring that the Scrum
practices and rules are followed;
• Teaches the team by coaching and
leading;
• Helps the team understand and use self-
organization and cross functionality;
• Removes impediments;
• Ensures that the team is functional and
productive;
• Enables close cooperation across all roles
and functions; and
• Shields the team from external
interferences
9
11. ©2013 David Consulting Group
Coach: Attributes and Roles
• Role includes helping the team(s) to use
Agile techniques via:
– Teaching
– Demonstrating
– Pressure
– Observation
• Attributes:
– High levels of emotional intelligence
– Serves in a coaching role only
– From outside the organization
– Provides objective guidance, without
personal or political considerations
– Is an Agile expert
– Has successfully run Agile projects
10
12. ©2013 David Consulting Group
Outside Support Roles
• Business
– Provide subject matter expertise
– Support Product Owner
• IT Leads
– Provide standards
– Provide technical expertise
• Program Management
– Big picture coordination
– Remove external impediments
Frequent
support and
encouragement
11
13. ©2013 David Consulting Group
Final Notes On The Team . . .
12
Saving a
problem
project
cannot be a
hobby!
• Cross functional
• Shares the knowledge
• Generally full-time members
• Membership only changes
between iterations
• Self organizing
– No titles
– Everyone will wear multiple hats (developers test)
– Roll-up your sleeves – see something that needs to be done?
Do it.
– Agree to disagree – everyone's commitment to team decision is
important
14. ©2013 David Consulting Group
Why Agile JumpStart?
• The goal of the JumpStart Process in restarting or
turning around a project is to radically rearrange
how a project is run through an accelerated Agile
adoption. It provides an environment where
individual teams can quickly learn and apply Agile
methods to transform their projects. In other
words:
– One-on-one external coaching
– Show how by doing then transferring
knowledge
– Immediate process feedback
– Just-in-time training
– Coach withdraws as team gains confidence
13
15. ©2013 David Consulting Group
Sample Iteration Zero Agenda – Restart
9. Release
Planning
11. Iteration
Planning
Estimate
User Story
Backlog &
Assign
Value
Develop
Release
Plan
Develop
Iteration
Plan
Monday
4 hours
Tuesday
4-8 hours
Wednesday
8 hours
Thursday
4 hours
Friday
4 hours
Create
User Story
Backlog
10. Demos and
Retrospectives
8. Story
Points &
Estimating
Create
Project
Vision &
Team
Charter
6. User
Story Value
5. Writing
User Stories
4. Building
the Product
Backlog
3. Agile
Roles
2. Project
Vision &
Charter
1. Agile
Values &
Principles &
Scrum
7. Test-driven
Development
14
16. ©2013 David Consulting Group
Introduce Test-driven Development
During Rescue
Coding and Testing With TDD:
Starting with a test means that you have to describe what the story wants
to achieve before considering “how.” This focus helps to maintain the
right level of abstraction.
To ensure that you say what you mean:
1. Start with an English description
2. Write the code from the description
3. Translate the code back to English
4. Compare 3 to1
15
Pair Testers
or BAs with
Developers
when writing
tests!
TDD helps insure that as stories are written and accepted into the sprint,
they are understood (reducing defects and rework).
17. ©2013 David Consulting Group
TDD: Simple Process
Steps:
1. Design: Figure out what you want to do
2. Test: Write a test to express the design
– It should FAIL
3. Implement: Write the code
4. Test again
– It should PASS
– Repeat writing code until the test passes
16
18. ©2013 David Consulting Group
TDD: Limit Scope
Keep tests understandable and maintainable by limiting their scope.
Tests that are dozens of lines long mean the component being tested is
too large and needs to be broken up into smaller components.
• Every function should have:
– A single specific purpose
– If possible, a generally useful purpose
– A meaningful name
– A structure that is simple to understand
– An interface that is simple yet general enough
17
19. ©2013 David Consulting Group
Iteration Zero – Expectations and Deliverables
• Expectations
– Time boxed
– Resources dedicated to Agile transformation during time allocated
• Deliverables
– Concise project vision
– Point-specific training
– User Story backlog; estimated and prioritized
– Initial release plan created
– Team charter
18
20. ©2013 David Consulting Group
Agile Processes At A Glance
0
50
100
150
200
250
300
350
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41
Days
Burn-up Chart Example
Done
24 Hours
1-2 Weeks
Daily
Standup
Iteration
Backlog
Product
Backlog
Continuous
Reporting
Demo
Iteration
Planning
Potentially
Shippable
Retrospective
19
21. ©2013 David Consulting Group
Maximum
90 Minutes
Getting Started
Prior to the Agile JumpStart process:
• Confirm and get commitments on availability of key participants for
Iteration Zero and subsequent sprints
– Product Owner (PO)
– Scrum Master
– Team
– Coach
• Coach: Meet with POs and Scrum Master(s)
– Set expectations
– Review Agile overview, JumpStart, and role training
– Assess team dynamics
– Establish trust relationship
– Schedule JumpStart
20
22. ©2013 David Consulting Group
Coach
Transformation Coaching
Coach as leader
transitions to Scrum
Master and Product
Owner as Leaders
Attributes of JumpStart Coach:
• Aggressive Facilitator
• Leader
• High-Touch People Person
• 110% Self Starter Attributes of Scrum Master:
• Aggressive Facilitator
• Owns the Scrum Process
• Leader
• High-Touch People Person
• 110% Self Starter
Transition Zone
Begins
Iteration 0 Iteration 1 Iteration 2
Attributes of Product Owner:
• Understands the Business
• Owns the Product Backlog
• Leader
• High-Touch People Person
• 110% Self Starter
Scrum
Master
Product
Owner
Relative Levels
of Effort
21
23. ©2013 David Consulting Group
Case - Restarting
Large Alternate Asset Management Company with a multiple
vendor, technology and project environment
Large critical project, six project teams, four delivery dates
missed, 80% complete for six months, reporting green status
One Program Manager and six Project Managers assigned, little
business involvement
Significant requirements were still being discovered leading to
four hour change management “debates”
Experienced-based estimation based on bottom-up task
planning with large MS Project schedule
22
24. ©2013 David Consulting Group
Case One
Large software development firm, hierarchical
culture, and one very large project and many smaller
Mixed Scrum/XP (recent addition) and Plan-based
project environment
Strenuous budgeting process with tax accruals
Significant discovery was required to define, design and
develop the large project
Experienced-based estimation based on bottom-up task
planning – questionable on the large project!
23
25. ©2013 David Consulting Group
The Process
1. Assess The Project
– In trouble?
– Turn around or restart
2. Plan The Intervention
– Prep the teams
– Re-organize
– Decide who does what
3. JumpStart
4. Coach
5. Celebrate
24
26. ©2013 David Consulting Group
The Answer, Part 1
25
Assessment
• Teams were too large
• Vendors were leading teams
• Project was not 80% done
• Functionality marked complete had not been
tested
Impact
• Project managers were dismissed
• Teams were consolidated to 7 members each,
with an internal Scrum master, business product
owner and a coach
• Teams were co-located (3 geo-locations)
• All teams were tasked with rebuilding their
backlogs
• A one week sprint zero was decided upon
27. ©2013 David Consulting Group
The Answer, Part 2
26
JumpStart
• All teams went through a standard JumpStart
• Decided on team norms and completed Agile
Chartering
• Introduced Test-driven Development (Light)
• Each team built an initial backlog
• Program Manager facilitated developing an initial
release plan
• Each team planned and estimated their first iteration
and publicly committed to the plan (as a team)
• Completed team building
Coaching
• External coach facilitated each team
• Hands-on training for product owners and Scrum
masters
• Facilitated Scrum of Scrum and external weekly
status meeting
• Evangelized and trained external stakeholders
28. ©2013 David Consulting Group
Agile JumpStart Process Summary
• Agile JumpStart is designed to quickly and efficiently start the Agile
transformation with coaching and just-in-time training and workshops.
• Agile JumpStart intercepts a project as requirements or user stories are being
framed and coaches the team in how to use specific techniques as closely as
possible to the time the team needs to use the technique.
• An individual coach assigned to the project travels with the team through the
first few iterations until the team has learned to run.
• The process will begin with a ½ day session in which the basic principles and
techniques are reviewed and all participants agree upon their roles and
responsibilities.
• The “Agile JumpStart” projects will feed the process personnel in the standard
transformation path, specific process requirements and change management
data.
• Intimate, hands-on coaching will be required for three to four sprints before
entering a standard coaching stream.
27
29. ©2013 David Consulting Group
Contact Us
Pat Eglin:
p.eglin@davidconsultinggroup.com; (484) 889-9474
Tom Cagley:
t.cagley@davidconsultinggroup.com; (440) 668-5717
http://www.davidconsultinggroup.com
28
@DavidConsultGrp
/DavidConsultGrp
/company/David-Consulting-Group Measure. Optimize. Deliver.
Phone +1.610.644.2856
Notas del editor Creative Commons TCagley Creative Commons: m.gifford Creative Commons: wwward0 Form teams around organizational capabilities – things which will enable the business to make an impact. Small pieces of valuable work which enhance this capability can then be individually pulled by these teams, creating flow. This is called Capability Team.Projects become less important than a Flow of Value through Capability teams who are able to “do the right thing right”. These teams can stay together for as long as the capability is important, building knowledge about all aspects of what they are building, and how they build it..