Title: Steering Projects with Agile Project Management
1Steering Projects with Agile ProjectManagement
- Sanjiv AugustineOctober 02, 2003
2About Me
- Director, Technology at CC Pace in Fairfax,
Virginia, U.S.A. - Over 6 years of project management experience.
- Over 13 years of experience with IT applications
ranging from - microcontroller-based systems to
enterprise-class business - applications.
- Managed several Agile projects ranging in size
from 3 to 120 - people.
- Industry involvement
- Recent speaking engagements
- Agile Development Conference 2002, Australia/NZ
- Software Development Conference 2003,
Australia/NZ - Agile Development Conference 2003, Salt Lake City
- Project World 2003, Chicago
- Book in progress Managing Agile Projects
Prentice Hall 2004
3About CC Pace
- eXtreme Programming (XP) for 28 dog years
- 10 successful XP projects
- Teams ranging from 3-120 people
- Catalyst methodology combines XP software
- development with Agile Project Management
(APM) - and Usage-Centered Design practices.
- Our solution to previously intractable problems
with - software development in complex and
unpredictable environments - Cost-competitive alternative to offshore
outsourcing
4Agenda
- Background
- XP Overview
- The Need for APM
- What is APM?
- Complexity Theory Distilled
- The Chaordic Project
- APM Practices
- Wrapping XP with APM
- The Big Wrap
- Competition and Collaboration
- Practice 1 Guiding Vision
- Practice 2 Small, Networked Teams
- Emergence and Self-Organization
- Practice 3 Simple Rules
- Practice 4 Open Information
- Practice 5 Light Touch
- Learning and Adaptation
- Practice 6 Adaptive Leadership
- Discussion
5XP Overview
- Raison dEtre
- Reduce the cost of change
- Deliver in complex and unpredictable environments
- Innovate rapidly and reliably
- Practices 100,000 Foot View
- Individual Test-driven Development, Refactoring,
Pair Programming, Simple Design - Development Team Continuous integration,
Collective ownership, Coding standard,
Sustainable pace, Metaphor - Organization Planning game, Customer tests,
Small releases - Values
- Simplicity, Communication, Courage, Feedback
6The Need for APM
- Role of Project Manager in XP is Unclear
- Not enough design, requirements, architecture?
- Too much freedom, overhead, process?
- Too confusing points, stories?
- Fundamental assumptions of traditional management
are mismatched with Agile - Predictability, Stability, Rigidity and
Information Adequacy - Current management theory is mismatched with
Agile - Asset based Vs People and interaction based
- Project Theory Input-Process-Output
Transformation view - Management Theory Predictive planning, job
dispatching, thermostat model - Mechanistic management model is mismatched with
humanistic agile model
7What is APM?
- For whom is it?
- Managers of product development and other
innovative business solution delivery teams - What is their need?
- To lead highly skilled individuals in delivering
business value rapidly and reliably - What is it?
- APM is a project management paradigm that
provides core values, principles, practices and
tools to energize, enable and empower project
teams that work in close concert with customers
to meet their business needs. - Why is it different?
- Unlike traditional mechanistic management
approaches APMs humanistic approach considers
all members skilled and valuable stakeholders in
team management, and hence uses complexity theory
as a metaphor for embracing change and delivering
results in extreme environments.
8Complexity Theory Distilled
- Living systems are complex, in that they consist
of a great many autonomous agents interacting
with each other in many ways. -
- The interaction of individual agents is governed
by simple, localized rules and characterized by
constant feedback. -
- Collective behavior is characterized by an
overlaying order, self-organization, and a
collective intelligence so unified that the group
cannot be described as merely the sum of its
parts. -
- Complex order, known as emergent order, arises
from the system itself, rather than from an
external dominating force. -
- These complex, self-organizing Complex Adaptive
Systems (CAS) are adaptive in that they react
differently under different circumstances, and
co-evolve with their environment.
9The Chaordic Project
- A chaordic project harmoniously blends
characteristics of both chaos and order freedom
and control, optimization and exploration,
competition and cooperation - The Agile project as a chaordic CAS
- Competition and Collaboration
- Agents Individuals
- Mental Models Vision and Alignment
- Groups Project Teams
- Emergence and Self-Organization
- Interactions/Feedback Information exchange and
relationships among individuals - Simple Rules XP/SCRUM/FDD Practices
- Learning and Adaptation
- Learning Observation, monitoring, measurement
and reflection - Adaptation Process changes, team adjustments
- Environment Project Environment
10APM Practices Actualizing The Chaordic Project
11The Big Wrap
12Competition and Collaboration Practice 1 -
Guiding Vision
- Create a shared mental model for all team
members - Create shared expectations
- Clearly delineate scope/objectives
- Create an XP release plan
Done in a RApid Planning (RAP) Session The
Thomsett Company. Used with permission.
13Creating Shared Expectations
- More to success than on-time, within budget
- Understand stakeholders priorities
- Facilitate stakeholder negotiation
- Create a shared understanding/agreement of
success
14Delineating Scope/Objectives
IS-NOT COULD BE
IS
- Scope is best defined by both what is IN as well
as what is NOT - Stakeholders name things inside and outside
project scope - Unresolved items go to sponsor for resolution
- Everything outside scope is assigned to a
stakeholder or other project.
To automate loan underwriting process
To develop new process
To provide credit rating
To obtain credit rating from Agency 1
To provide insurance rating
To obtain insurance rating from Agency 2
UNRESOLVED
15Creating a Release Plan
- Identify major milestones
- Estimate initial team velocity (Points per
iteration) based on resources - Place user stories into iterations based on
teams estimated velocity - Pick release dates
- Prioritize stories to maximize value for each
Release - Link stories to business needs to ensure
alignment with strategic plan
16Competition and Collaboration Practice 2 -
Small, Networked Teams
- Enable interactions and adaptation through close
relationships on small, networked teams - Keep interaction penalty low with 7 or- 2 people
to a team - Implement Collective Ownership so that you can
move people around - Implement Pair Programming to improve
interaction, while also improving your bus
factor - Reorganize team to tackle new functionality
- Ensure a diversity of skills on team
17Emergence and Self-Organization Practice 3 -
Simple Rules
- Implement iterative, incremental delivery
- Schedule small releases (1 2 months) with
fixed-length iterations (1, 2 or 3 weeks in
duration) - Iteration Planning
- Design and Development
- Acceptance Testing
- Implement XP Development Practices. Provide
Training and Mentoring. - Manifest XP Values. Empower the Process Coach to
Continuously Reinforce XP Values. - Simplicity
- Communication
- Feedback
- Courage
18Emergence and Self-Organization Practice 4 -
Open Information
- Provide free and open Access to Information
- Hold daily standup meetings
- Practice whole team
- Facilitate co-location with caves and commons
- Implement on-site customer
- Install information radiators
- Whiteboards
- Posters
- Bulletin Boards
19Emergence and Self-Organization Practice 5 -
Light Touch
- Practice intelligent control
- Understand the difference between control and
order - Manage the project context, not the content
- Lighten up!
- Practice accepted responsibility to reduce
command-control - Maintain sustainable pace for a productive team
- Encourage collective problem solving for
self-organization - Encourage questioning, analysis and feedback to
nurture autonomy
20Learning and Adaptation Practice 6 - Adaptive
Leadership
- Tune to the edge of chaos
- Track and report iteration status 2-3 times an
iteration - Track and manage risks
- Conduct periodic process reflections to adapt
your approach - Use scenario planning to prepare for different
outcomes
21Learning and Adaptation Practice 6 - Adaptive
Leadership
- Track and Report Iteration Status
- Developers estimate points for each story (1
Point 1 Ideal Engineering Day) - Team Velocity is number of points/iteration
- Yesterdays Weather dictates that next
iterations estimated velocity is the same as
that completed in last - Map stories back to Release Plan
Iteration 5 Status
Submit Request
Loan Summary
Print Summary
Import Overwrite
Number Validation
Process Response
Complete
Remaining
22Learning and Adaptation Practice 6 - Adaptive
Leadership
- Track and manage risks
- List risks by impact (High/Medium/Low) and
probability (High/Medium/Low) - Provide a mitigation plan with clear
responsibility
Risk
Impact
Probability
Mitigation Plan
Key employee dependency
HIGH
MEDIUM
- Process Implementation
- Pair Programming
- (Jones)
- Rotation (Augustine)
Agency dependencies
HIGH
HIGH
- Agency Liaisons
- Agency 1 Smith
- Agency 2 Patel
23Learning and Adaptation Practice 6 - Adaptive
Leadership
- Process reflection
- Granular (In Iteration, Short) AND Coarse (Every
Few Iterations, Longer) - Whats Working ()
- Whats Not ( )
XP
Refactoring
Simple design
Communication
Acceptance testing
Unit testing
Other
Hardware procurement
Software procurement
24Learning and Adaptation Practice 6 - Adaptive
Leadership
- Scenario Planning
- Memory of the future
- Dont try to predict outcome
- Instead, prepare the team for different possible
outcomes
25Discussion
Contact Information sanjiv.augustine_at_ccpace.com h
ttp//www.ccpace.com 1 (703) 631 6600
Intelligent control appears as uncontrol or
freedom.And for that reason it is genuinely
intelligent control. Unintelligent control
appears as external domination.And for that
reason it is really unintelligent
control. Intelligent control exerts influence
without appearing to do so. Unintelligent control
tries to influence by making a show of
force. -- Lao Tzu, Book of Ethics