Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

An evolving view of project management

219 views

Published on

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

Published in: Business, Technology
  • Be the first to comment

  • Be the first to like this

An evolving view of project management

  1. 1. An Evolving View of Project Management Anthony Jones
  2. 2. Thanks for inviting me
  3. 3. Thanks for inviting me
  4. 4. Scope • Discussion at level of “process models” – Structured and agile methods of project management (PM) • Based on my own experience and research
  5. 5. EFFECTIVE PROJECT MANAGEMENT
  6. 6. User Developer
  7. 7. User Developer Client Business
  8. 8. User Developer Client Business
  9. 9. User Developer Client Business $ (solution price – costs) * effectiveness = PROFIT
  10. 10. User Developer Project Management Client Business $ (solution price – costs) * effectiveness = PROFIT
  11. 11. 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 Project Management time and money • Effective project management * effectiveness represents a good return on investment (ROI)
  12. 12. KEY POINTS
  13. 13. 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.
  14. 14. Manifesto for Agile software development Individuals and interactions over processes and tools
  15. 15. Project management methods... Comprehensive packages? Or flexible tools?
  16. 16. Key points • Project management is people management • Software development methods as tools • Favour explicit pragmatic application based on people, culture, context and goals
  17. 17. BUILDING YOUR PROJECT MANAGEMENT TOOLBOX
  18. 18. Which project management method? Select project management tools based on TEAM MATURITY
  19. 19. 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...
  20. 20. 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
  21. 21. 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
  22. 22. Mature team  MIXED METHODS
  23. 23. 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
  24. 24. The Valve handbook for new employees
  25. 25. Free team  NOTHING! • Fred George – Programmer Anarchy
  26. 26. Programmer Anarchy Agile best practices not used: • • • • • Stand ups Unit tests Story narratives Acceptance tests Retrospectives • • • • • • Refactoring Estimates Patterns Iterations Continuous integration Mandatory pairing Copyright © 2011 by Forward Internet Group, Ltd 10
  27. 27. Programmer Anarchy Agile roles used: • • • • • • Customer ✓ Project manager X Business analyst X Developer ✓ Quality assurance / tester X Manager of programmers X Copyright © 2011 by Forward Internet Group, Ltd 10
  28. 28. Key points • Project management is people management • Software development methods as tools • Favour explicit pragmatic application based on people, culture, context and goals
  29. 29. If there is time... ESTIMATION AS AN OPTIONAL TOOL
  30. 30. 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?
  31. 31. We don’t do this... DEADLINES BASED ON ESTIMATES
  32. 32. Estimate or guess? • Depends on availability of relevant knowledge • Task = known work + unknown work 3 days + ? days Erm... Developer Project Management
  33. 33. 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
  34. 34. Estimate or guess? • Depends on availability of relevant knowledge • Task = known work + unknown work + around 3 days 2 days Around 5 days Developer Project Management
  35. 35. Estimate or guess? • Unknown work – Learning – Problem solving – Emergent complexity • Can you really estimate these?
  36. 36. Estimate or guess? • Unknown work – Learning – Problem solving – Emergent complexity • Can you really estimate these?
  37. 37. Rubik’s Cube
  38. 38. Four stages of competence • You don’t know what you don’t know!
  39. 39. Estimate or guess? • Padding is a common tactic • Task = known work + unknown work 3 days + ? days Erm... Developer Project Management
  40. 40. Estimate or guess? • Padding is a common tactic • Task = known work + unknown work (3 days + around 2 days) * 3 Around 15 days? Developer Project Management
  41. 41. Estimate or guess? Around 15 days? Developer Project Management User
  42. 42. Estimate or guess? $!?*& Developer Project Management Be careful when setting user expectations User
  43. 43. More honest communication? ... Ok. Project Management User Can we agree on releases based on dates or features, but acknowledge that doing both is much harder?
  44. 44. We do estimate sometimes... ESTIMATION AS A USEFUL TOOL
  45. 45. Not having an estimate I don’t know Ok. Developer Project Management Not having an estimate is a useful sign of uncertainty, risk or training opportunities
  46. 46. Having different estimates Around 8 days? 3 days Developer Developer Having different estimates is another useful sign of uncertainty, risk or training opportunities
  47. 47. Estimates and even guesses can be useful for prioritisation Task A is smaller than Task B Let’s do Task A first Developer Project Management
  48. 48. Key points • Project management is people management • Software development methods as tools • Favour explicit pragmatic application based on people, culture, context and goals
  49. 49. THANKS FOR LISTENING

×