An evolving view of project management

50
An Evolving View of Project Management Anthony Jones

description

A lecture given to Aston University Computer Science students on 5th November 2013.

Transcript of An evolving view of project management

Page 1: An evolving view of project management

An Evolving View of Project Management

Anthony Jones

Page 2: An evolving view of project management

Thanks for inviting me

Page 3: An evolving view of project management

Thanks for inviting me

Page 4: An evolving view of project management

Scope

• Discussion at level of “process models”

– Structured and agile methods of project management (PM)

• Based on my own experience and research

Page 5: An evolving view of project management

EFFECTIVE PROJECT MANAGEMENT

Page 6: An evolving view of project management

User Developer

Page 7: An evolving view of project management

User Developer

Business Client

Page 8: An evolving view of project management

User Developer

Business Client

Page 9: An evolving view of project management

(solution price – costs) * effectiveness = PROFIT

User Developer

Business Client

$

Page 10: An evolving view of project management

(solution price – costs) * effectiveness = PROFIT

User Developer

Business Client

Project Management

$

Page 11: An evolving view of 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

Page 12: An evolving view of project management

KEY POINTS

Page 13: An evolving view of project management

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.

Page 14: An evolving view of project management

Manifesto for Agile software development

Individuals and interactions

over processes and tools

Page 15: An evolving view of project management

Project management methods...

Comprehensive packages? Or flexible tools?

Page 16: An evolving view of 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

Page 17: An evolving view of project management

BUILDING YOUR PROJECT MANAGEMENT TOOLBOX

Page 18: An evolving view of project management

Which project management method?

Select project management tools based on TEAM MATURITY

Page 19: An evolving view of project management

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...

Page 20: An evolving view of project management

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

Page 21: An evolving view of project management

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

Page 22: An evolving view of project management

Mature team MIXED METHODS

Page 23: An evolving view of project management
Page 24: An evolving view of project management

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

Page 25: An evolving view of project management

The Valve handbook for new employees

Page 26: An evolving view of project management

Free team NOTHING!

• Fred George

– Programmer Anarchy

Page 27: An evolving view of project management

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

Page 28: An evolving view of project management

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:

Page 29: An evolving view of 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

Page 30: An evolving view of project management

ESTIMATION AS AN OPTIONAL TOOL

If there is time...

Page 31: An evolving view of project management

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?

Page 32: An evolving view of project management

DEADLINES BASED ON ESTIMATES We don’t do this...

Page 33: An evolving view of project management

Estimate or guess?

• Depends on availability of relevant knowledge

• Task = known work + unknown work

Developer

3 days + ? days

Project Management

Erm...

Page 34: An evolving view of project management

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

Page 35: An evolving view of project management

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

Page 36: An evolving view of project management

Estimate or guess?

• Unknown work

– Learning

– Problem solving

– Emergent complexity

• Can you really estimate these?

Page 37: An evolving view of project management

Estimate or guess?

• Unknown work

– Learning

– Problem solving

– Emergent complexity

• Can you really estimate these?

Page 38: An evolving view of project management

Rubik’s Cube

Page 39: An evolving view of project management

Four stages of competence

• You don’t know what you don’t know!

Page 40: An evolving view of project management

Estimate or guess?

• Padding is a common tactic

• Task = known work + unknown work

Developer

3 days + ? days

Project Management

Erm...

Page 41: An evolving view of project management

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?

Page 42: An evolving view of project management

Developer Project Management

User

Estimate or guess?

Around 15 days?

Page 43: An evolving view of project management

Developer Project Management

User

Estimate or guess?

$!?*&

Be careful when setting user expectations

Page 44: An evolving view of project management

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

Page 45: An evolving view of project management

ESTIMATION AS A USEFUL TOOL We do estimate sometimes...

Page 46: An evolving view of project management

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.

Page 47: An evolving view of project management

Having different estimates

Developer

3 days

Developer

Around 8 days?

Having different estimates is another useful sign of uncertainty, risk or training opportunities

Page 48: An evolving view of project management

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

Page 49: An evolving view of 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

Page 50: An evolving view of project management

THANKS FOR LISTENING