An evolving view of project management
-
Upload
mrmagpiejones -
Category
Business
-
view
68 -
download
0
description
Transcript of An evolving view of project management
An Evolving View of Project Management
Anthony Jones
Thanks for inviting me
Thanks for inviting me
Scope
• Discussion at level of “process models”
– Structured and agile methods of project management (PM)
• Based on my own experience and research
EFFECTIVE PROJECT MANAGEMENT
User Developer
User Developer
Business Client
User Developer
Business Client
(solution price – costs) * effectiveness = PROFIT
User Developer
Business Client
$
(solution price – costs) * effectiveness = PROFIT
User Developer
Business Client
Project Management
$
Effective project management
• Project management does not provide value by itself
• Project management influences the effectiveness of an existing system to amplify success
• Establishing and maintaining project management costs both time and money
• Effective project management represents a good return on investment (ROI)
* effectiveness
Project Management
KEY POINTS
Manifesto for Agile software development
We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools Working software over comprehensive documentation
Customer collaboration over contract negotiation Responding to change over following a plan
That is, while there is value in the items on the right,
we value the items on the left more.
Manifesto for Agile software development
Individuals and interactions
over processes and tools
Project management methods...
Comprehensive packages? Or flexible tools?
Key points
• Project management is people management
• Software development methods as tools
• Favour explicit pragmatic application based on people, culture, context and goals
BUILDING YOUR PROJECT MANAGEMENT TOOLBOX
Which project management method?
Select project management tools based on TEAM MATURITY
Team maturity
• Roy Osherove – Teams have varying levels
of maturity
• Chaotic Stage – (most teams)
• Mid-Life stage • Mature stage
• I’m expanding Roy’s idea...
Instructed team SCRUM
• Newly formed, less experienced teams
• Needs support and control to be effective
• Hierarchical roles in “service model”
– Product Owner, Scrum Master, Developers
• Limited and supported decision making
• Regular reviews
Mature team MIXED METHODS
• More experienced team, strong relationships
• Needs steering and coaching to be effective
• Peer roles based on suitability
– Including leadership roles
• Decisions primarily based on discussion, convincing others and reaching a consensus
• Regular discussions
Mature team MIXED METHODS
Free team NOTHING!
• Very experienced, highly trusted teams
• Needs culture and community to be effective
• No distinctive roles
– Developers adopt roles according to suitability
• Actions based on everyone doing what they feel is the right thing for the business
The Valve handbook for new employees
Free team NOTHING!
• Fred George
– Programmer Anarchy
Programmer Anarchy
• Stand ups
• Unit tests
• Story narratives
• Acceptance tests
• Retrospectives
• Refactoring
• Estimates
• Patterns
• Iterations
• Continuous integration
• Mandatory pairing
Agile best practices not used:
Copyright © 2011 by Forward Internet Group, Ltd 10
Programmer Anarchy
• Customer ✓
• Project manager X
• Business analyst X
• Developer ✓
• Quality assurance / tester X
• Manager of programmers X
Copyright © 2011 by Forward Internet Group, Ltd 10
Agile roles used:
Key points
• Project management is people management
• Software development methods as tools
• Favour explicit pragmatic application based on people, culture, context and goals
ESTIMATION AS AN OPTIONAL TOOL
If there is time...
Estimation in project management
• Certain project management methods require the developers to estimate the complexity of a task or the time required to complete it
• Estimates may be used to prioritise work, to establish deadlines and release dates
• Is this an effective tool?
DEADLINES BASED ON ESTIMATES We don’t do this...
Estimate or guess?
• Depends on availability of relevant knowledge
• Task = known work + unknown work
Developer
3 days + ? days
Project Management
Erm...
Estimate or guess?
• Unknown work
– Learning
– Problem solving
– Emergent complexity
• Can you really estimate these?
• For familiar tasks these may be constrained unknowns that may be given a rough estimate
Estimate or guess?
• Depends on availability of relevant knowledge
• Task = known work + unknown work
Developer
3 days + around
2 days
Around 5 days
Project Management
Estimate or guess?
• Unknown work
– Learning
– Problem solving
– Emergent complexity
• Can you really estimate these?
Estimate or guess?
• Unknown work
– Learning
– Problem solving
– Emergent complexity
• Can you really estimate these?
Rubik’s Cube
Four stages of competence
• You don’t know what you don’t know!
Estimate or guess?
• Padding is a common tactic
• Task = known work + unknown work
Developer
3 days + ? days
Project Management
Erm...
Estimate or guess?
• Padding is a common tactic
• Task = known work + unknown work
Developer
(3 days + around 2 days) * 3
Project Management
Around 15 days?
Developer Project Management
User
Estimate or guess?
Around 15 days?
Developer Project Management
User
Estimate or guess?
$!?*&
Be careful when setting user expectations
More honest communication?
Can we agree on releases based on dates or features, but acknowledge that doing both is much harder?
... Ok.
User Project Management
ESTIMATION AS A USEFUL TOOL We do estimate sometimes...
Not having an estimate
Not having an estimate is a useful sign of uncertainty, risk or training opportunities
Developer Project Management
I don’t know
Ok.
Having different estimates
Developer
3 days
Developer
Around 8 days?
Having different estimates is another useful sign of uncertainty, risk or training opportunities
Estimates and even guesses can be useful for prioritisation
Developer
Task A is smaller than
Task B
Let’s do Task A
first
Project Management
Key points
• Project management is people management
• Software development methods as tools
• Favour explicit pragmatic application based on people, culture, context and goals
THANKS FOR LISTENING