Agile pm v2


Published on

Presentation we did to a group of project managers who had not had any exposure to using Agile methodologies. Gives a basic overview of Agile with a User Centered design approach.

Published in: Technology, Business
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • And on 17 March 1966 it reported: "It was not his fault that a succession of Governments and the Opera House Trust should so signally have failed to impose any control or order on the project .... his concept was so daring that he himself could solve its problems only step by step .... his insistence on perfection led him to alter his design as he went along."
  • Payment on first iteration (First major iteration is typically 8 weeks for a largish project) Payment on delivery of each subsequent identified 'feature‘ (Subsequent iterations are approx. 6 weeks, then 4 weeks, then 3 weeks)
  • Agile pm v2

    1. 1. Agile Project Management<br />Maria Horrigan and Matthew Hodgson<br />Senior Consultants<br />SMS Management and Technology<br />1<br />
    2. 2. Traditional PM Methodologies<br />Prince2 - PRojects IN Controlled Environments (PRINCE)<br /> PMBOK - Project Management Body of Knowledge <br />PMBOK describes many processes and activities, though the PMBOK can be seen as being descriptive (what), while in contrast Prince2 is more prescriptive (how). <br />
    3. 3. Prince2<br />Developed by the UK’s Office of Government Commerce <br />Prince2 describes many processes and activities covering the management, control and organization of projects, and is deliberately not restricted to IT projects.<br />Structured approach, provides a method for managing projects within a clearly defined framework<br />Describes procedures to coordinate people and activities in a project, how to design and supervise the project, and what to do if the project has to be adjusted if it doesn’t develop as planned<br />Each process is specified with its key inputs and outputs, specific goals and activities, which gives an automatic control of any deviations from the plan<br />
    4. 4. Processes involved in Managing Prince2 Projects<br />4<br />Even though Prince2’s popularity makes it a de facto standard for project management , it is criticized for being too prescriptive, too big and not easily customisable. <br />
    5. 5. PMBOK<br />Developed by the US-based Project Management Institute (PMI). <br />Internationally recognized standard providing the fundamentals of PM, not limited to IT-projects. <br />Five process groups: Initiating, Planning, Executing, Controlling and Monitoring, and Closing. <br />Nine knowledge areas: Project Integration Management, Project Scope Management, Project Time Management, Project Cost Management, Project Quality Management, Project Human Resource Management, Project Communications Management, Project Risk Management, and Project Procurement Management. <br />
    6. 6. 6<br />
    7. 7. What is a Successful Project ?<br />On time?<br />On budget?<br />Met users' expectations?<br />Met business objectives?<br />Are these the only measure of a successful project?<br />Can a project be considered successful if it is NOT delivered on time, on budget, meeting specifications?<br />7<br />
    8. 8. What about the Sydney Opera House?<br />Budget<br />Est$425M to build<br />Actual $2435M<br />Timeframe<br />Est1965 due date<br />Actual 1973 first opened<br />Delivered <br />Changed the face of Sydney Harbour<br />Most iconic, recognised symbol of Australia<br />Leading edge engineering invented<br />Revolutionised pre-fabrication<br />-<br />8<br />
    9. 9. Sydney Opera House – an agile project<br />Design team went through twelve iterations before a workable solution was completed.<br />Use of structural analysis to understand the complex forces to which the shells would be subjected<br />2400 precast ribs and 4000 roof panels prefabricated on the ground in an on-site factory, instead of being stuck on individually at height.<br />9<br />
    10. 10. What is Agile?<br />10<br />
    11. 11. When we think about ‘agile’ it is..<br />Light<br />Fast moving<br />Nimble<br />Flexible<br />Iterative<br />Changes direction easily<br />like a Cheetah<br />11<br />
    12. 12. What ‘agile’ is not<br />Slow moving<br />Hard to move/change direction<br />Heavy<br />Laborious<br />like an Elephant<br />12<br />
    13. 13. When people talk about ‘agile’<br /> “rapid iterations”, “working software”, “coping with change”, “communication”, “flexible”, “adaptable”, “eliminate waste”, “accepting changes”, “small iterations”, “feature-driven”, “continued integrations”, “test driven development”, “no documentation”, “people before process”, “adapt to change”, “the name”, “the team sets their own priority”, “early stakeholder involvement”.<br />13<br />
    14. 14. People, not process make projects work<br />That is, while there is value in the items on the right, we value the items on the left more.”<br /><br />
    15. 15. What Agile “IS and ISN’T”<br />Agile Isn’t<br />Agile Is<br />A “Silver Bullet” solution <br />An excuse for poor requirement definition<br />An excuse for poor design <br />An excuse for reducing quality<br />About failure to control the scope of a project, its about managed change<br />Doing more with fewer people<br />Doing more with less resources or budget<br />Complex<br />Chaotic<br />Unstructured<br /><ul><li>About people and collaboration
    16. 16. About mutual respect and ownership
    17. 17. About actions rather than discussions
    18. 18. Focused on delivery and outcomes
    19. 19. About delivering real business value
    20. 20. Producing “just enough” documentation to get the job done
    21. 21. Managed iterations
    22. 22. Responding to business changes
    23. 23. Managing change
    24. 24. Simple, fast and efficient
    25. 25. Based on industry best practice
    26. 26. Disciplined and structured</li></li></ul><li>Agile is a lot like life<br />Things change<br />We adapt<br />We learn from our mistakes (hopefully)<br />When one thing doesn't work we then try something else (mostly)<br />16<br />
    27. 27. (Application of) Agile as a philosophy<br />17<br />A set of values (or practices as Ivar Jacobson suggests), rather than a process<br />Identify need/features<br />Prioritise features<br />Documentation is a placeholder for a conversation<br />Choosing the best people and the best approach for the right job<br />Multidisciplinary approach<br />
    28. 28. Agile not Fragile<br />Developing by feature with business involvement<br />Use of teams with business involvement<br />Individual class ownership<br />Regular iterations <br />Regular Inspections of design <br />Configuration Management<br />Reporting / High visibility of results<br />Clearly defined roles<br />Encourage culture that embraces change and innovation<br />
    29. 29. Where did Agile come from?<br />Originally developed as a software engineering methodology<br />Evolved in the mid 1990s as part of a reaction against “heavyweight” methods, as typified by a heavily regulated, regimented, micro-managed use of waterfall model of development<br />Initially agile methods were call “lightweight” methods<br />Adapted to project management<br />19<br />
    30. 30. Reaction against Waterfall<br />20<br /><ul><li> Idea that we have to complete it from end-to-end and know everything up front in order to cost and understand the what the solution will look like
    31. 31. and if we don't then somehow we've failed?!</li></li></ul><li> Waterfall<br />Sequential process<br />“Analysis Paralysis”<br />One iteration<br />Long timeframes<br />Doesn’t cater for changing business environment.<br />linear process<br />little flexibility<br />limited ability to cope with change<br />21<br />
    32. 32. Do we know all the requirements up front?<br />people often say they know what they want<br />but people often don't actually know what they want until they see it<br />"that's not what I want!"<br />too expensive to go back now<br />maybe we'll try and train people how to use 'it' this way<br /> more expense<br /> more change management<br /> broken expectations about solution/delivery<br />22<br />
    33. 33. Waterfall – takes time and $$$$<br />In this appraoch, you could be trying to understand your requirements (design phase) for years before anything gets implemented<br />(Project example)<br />Only ever end up incorporating 50-60% of your requirements anyhow<br />means wastage of time (40-50% of requirements work becomes useless)<br />That’s expensive!<br />23<br />
    34. 34. Business Drivers - So why do Agile?<br />Maximise business value<br />Reduced time to market<br />Improved quality<br />Reduce waste/cost<br />Minimise risk profile<br />Improve responsiveness to business<br />Improve service levels to business<br />
    35. 35. Agile Today<br />25<br />
    36. 36. Formal methodologies<br />Takes from the best of a number of practices from the disciplines of Project Management and Engineering <br />But these won't teach us how to be Agile, they'll only teach us yet another process<br />
    37. 37. Scrum, FDD, XP<br />Agile Methodologies<br />Project Management<br />Engineering<br />FDD<br />Scrum<br />XP<br />
    38. 38. Early Agile Case studies<br />Case 0: Daimler Chrysler Chrysler Comprehensive Compensation System (C3) payroll project<br />28<br />
    39. 39. Extreme Programming (XP)<br />Pitched as: Addressing “the specific needs of software development conducted by small teams in the face of vague or changing requirements”<br />Invented by: Kent Beck who preferred being a Technical Lead to being a Project Manager.<br />Year first used: Pre-2000<br />First used on: C3 project Chrysler<br />XP is a set of best practices of which some are taken to an "extreme" level. <br />In the selection of its practices XP leans towards the daily software engineering activities of developers<br />Now used on: All over the place by different groups/people<br />29<br />
    40. 40. Requirments in XP<br />As with other agile methods, XP regards ongoing changes to requirements as a natural and desirable aspect of software development. <br />XP view of requirements<br />Onsite customer (implied singular customer)<br />Recognition that customer could be a team of people<br />Recognition of the role of a customer representative<br />30<br />
    41. 41. Scrum<br />“Management and control process that cuts through complexity" <br />Invented by: Jeff Sutherland, Ken Schwaber, Mike Beedle. Senior managers wanting to get product out faster. <br />Year first used: 1994 - now used all over the place with different groups/people<br />First used on: Advanced Development Methods - process automation software <br /> Scrum is a skeleton that includes a small set of practices and predefined roles <br /> Scrum is becoming a de facto standard for managing agile software development projects<br />Consists of a few common sense practices that can be applied in many situations<br />Scrum by itself is never enough, and that development teams have to shop in other methods (usually XP) for additional practices<br />31<br />
    42. 42. Scrum: Roles<br /><ul><li>Alternative Name: User, Customer
    43. 43. Role Definition: The Product Owner represents the custumer/user/sponsor of the project, and is part of the team which will deliver the product.
    44. 44. Main Activities: Define the vision for the product, manage the Return On Investment (ROI), present the needed requirements to the team for the product delivery, prioritize requirements, manage addition/changes to requirements, plan releases, assure the Domain Experts are available to the team.</li></ul>Product Owner<br /><ul><li>Alternative Names: Project Manager/Leader, Coach
    45. 45. Role Definition: The role of Scrum Master, unlike a Project Manager in many practices and methodologies, differ from the traditional “command and control”. In Scrum, the Scrum Master works with and, more important, for the team.
    46. 46. Main Activities: Allow the team to be self-managed, guide and help the team to correctly follow Scrum practices, remove any impediment found by the team, protect the team from external interference, facilitate the daily meetings.</li></ul>Scrum Master<br /><ul><li>Alternative Names: Developers, Technicians, Testers
    47. 47. Role Definition: A team member is someone committed to do the necessary work to achieve the Sprint goal.
    48. 48. Main Activities: Define the Sprint goal, be committed to the work and to the high quality, work towards the product vision and the Sprint goal, estimate items on the Product Backlog, attend the daily meetings.</li></ul>Team members<br />
    49. 49. Scrum: Lifecycle<br />6. Day<br />7. Daily StandupMeeting<br />5. Sprint(2-4 weeks)<br />4. Tasksdetailedby the team<br />8. Product Increment(potentially shippable)<br />3. Sprint Backlog<br />1. Vision<br />(ROI, milestones, releases)<br />2. Product Backlog, with features<br />prioritized by the Product Owner<br />9. Inspect and Adapt<br />
    50. 50. Feature Driven Development <br />“A framework of controls and best practice to enable and enforce the repeatable delivery of working software in a timely manner with highly accurate and meaningful information to all key roles inside and outside a project”<br />Invented by: Peter Coad, Jeff De Luca, Steven Palmer<br />Year first used: 1997<br />First used on: Hong Kong Banking Corp on a large 200 person Java project<br />FDD blends a number of industry-recognized best practices into a cohesive whole<br />These practices are all driven from a client-valued functionality (feature) perspective<br />Its main purpose is to deliver tangible, working software repeatedly in a timely manner.<br />34<br />
    51. 51. and there are others . . . <br />Crystal Methods<br />Dynamic Systems Development Method (DSDM)<br />Lean Development (LD)<br />Adaptive Software Development (ASD)<br />... etc ...<br />35<br />
    52. 52. Commonalities<br />Iterative<br />Evolutionary, not revolutionary (big bang)<br />Continuous learning<br />Focus on <br />Effective communication<br />Multi-disciplinary teams<br />Adding value, not 'deliverables' or 'products'<br />What will add value to the 'end-user'<br />36<br />
    53. 53. Why Agile?<br />37<br />
    54. 54. Underlying Principles<br />Continuous improvement is the cornerstone of Agile <br />Focus is not on perfection but just getting better.<br />Conversation is the most effective way to clarify what may seem to be a complex requirement<br />Need to provide clarity and answer the question “when are we done”?<br />Prototyping mitigates risk by focusing on just enough to gain the understanding needed<br />Iteration is the heart-beat of Agile <br />Estimation of all requirements before a project starts is unrealistic - learn over time, refine and update plans <br />Prioritise to deliver the most business critical pieces<br />38<br />
    55. 55. Key Features of Agile<br />Breakdown of work into small, incremental work packagesdelivered in 2-4 week cycles<br />Adaptability to new or changed requirements<br />Close involvement of end users and business owners<br />Highly business and end user focussed activities and outputs<br />Focus on face-to-faceworkshops and communications<br />Proactive Change Management to embed business change <br />39<br />
    56. 56. Benefits of Agile<br />Smarter way of working - innovative<br />Cross-functional teams<br />Contingent outcomes<br />Contingent processes and methodologies<br />Is about users and adding value, rather than 'managing deliverables/products<br />Less risk<br />Less waste<br />40<br />
    57. 57. How Agile Promotes Innovation<br />Not locked into one way of doing things<br />Take learnings from previous iterations and previous projects and apply directly, instantly, rather than having to wait til the next project<br />41<br />
    58. 58. Less risk<br />Easier to apply what you learn as you go<br />Encouraged to take things one step at a time<br />Build a skinny 'system' to work out the basics of what you need<br />Base decisions on light-weight requirements<br />Easier to change direction of scope as required when uncovering new issues<br />42<br />
    59. 59. Less waste<br />Encourages re-use<br />90-59% of requirements built rather than 50-60%<br />Means you could waste up to 50% of project costs on things you don't need, don't want, or don't work properly<br />Focus on documentation only when required<br />Less costly as a result<br />43<br />
    60. 60. Cost to Change Curve<br />$<br />$<br />Cost of Change<br />$<br />$<br />$<br />Lifecycle Stage<br />
    61. 61. Use of Cross Functional Teams<br />Choose the best skills for specific jobs<br />Incorporate best knowledge from across an organisation, not from within a single team<br />utilise network-information flow inherent in new information transfer<br />45<br />
    62. 62. Change management is built into the process<br />Users involved in developing solution <br />increased ownership<br />develops 'champions'<br />Users validate solution<br />means the result better aligns to what people want (they get to be involved with each iteration and see the results i.e.: what they'll get)<br />not as much training required<br />not as much change management required<br />46<br />
    63. 63. JIT Requirements Elaboration vs Up front elaboratio<br />JIT (Just in Time)<br />Rapid progress early<br />Earlier customer feedback<br />Could get blind-sided<br />Up front Elaboration<br />More up front effort, more time till customer feedback<br />Clarify overall scope and size sooner<br />Considerations<br />CostEffort of development<br />Governance framework, funding model<br />Uniqueness<br />
    64. 64. The Agile Lifecycle<br />Planning and Analysis<br />Effort<br />Time<br />Project Duration<br />
    65. 65. Disadvantages of Agile<br />It's relatively 'new' (people aren't as familiar with it as they are with Waterfall)<br />People are afraid of what they don't know<br />People tend to want to know what they're getting up front before they commit budget<br />Tends toward fragmentation of solution<br />Different people working on different components means UX suffers<br />Different incompatible solutions may arise out of each component/iteration<br />49<br />
    66. 66. Agile is a standards based approach<br />50<br />
    67. 67. ISO 13407<br />Understand context in which solution needs to operate<br />Involve users in developing a solution<br />Refine solution<br />Test solution with users<br />If solution validates, implement/build it<br />Roll onto next user need/feature<br />51<br />
    68. 68. User centered design<br />52<br />
    69. 69. Context<br />Good Requirements (IEEE definitions)<br />Set is complete<br />Set is consistent<br />Set is modifiable<br />Decomposition<br />Organize stories by relating to higher level artifacts<br />“If you lose a card, and if the customer does not detect that loss, then the card wasn’t very important.”Robert C. Martin<br />
    70. 70. User Involvement<br />Agile characteristics to promote user involvement<br />Frequent “releases”<br />Daily stand up<br />
    71. 71. Analysis of Business and User Needs<br />55<br />
    72. 72. User Stories<br />“A User Story is a story, told by the user, specifying how the system is supposed to work, written on a card, and of a complexity permitting estimation of how long it will take to implement. The User Story promises as much subsequent conversation as necessary to fill in the details of what is wanted. The cards themselves are used as tokens in the planning process after assessment of business value and [possibly] risk. The customer prioritizes the stories and schedules them for implementation.”<br />
    73. 73. User Stories<br />Three Cs<br />Card – encourages brevity, format easily used in prioritising<br />Promise for a conversation, not a fully-articulated requirement<br />Confirmation details enable us to know when we are done<br />57<br />
    74. 74. Stakeholder segmentation<br />Main target audience<br />Who can influence the main target audience<br />Who are the (community) gatekeepers who also need influencing to share what they know or lobby on your behalf?<br />Channel identification<br />What channels do we use to communicate most effectively with these people?<br />What messages to use<br />identifying user need/value – user stories<br />58<br />
    75. 75. Kernel Approach from Ivar Jacobson (UML God) <br />Things to produce<br />Things to apply<br />Things to do<br />Competencies to perform<br />Concept, Feature problem, Work package iteration, but its not a deliverable or a product<br />Your Own Best Practices<br />59<br />
    76. 76. Other Practice from many other sources<br />Use Cases<br />Architecture<br />Iterative approach<br />Waterfall approach<br />Team<br />User Stories<br />Process Maps<br />Storyboards<br />Card Sorting<br />Personas<br />Non-functional HTML prototypes<br />Fully-functional prototypes<br />Contextual inquiry<br />60<br />
    77. 77. Misconception that agile = no documentation and no rigour/discipline<br />61<br />
    78. 78. A "place-holder" for conversations<br />Story cards<br />Personas<br />Storyboards<br />Interaction design maps<br />Card sorting<br />Conversations become formalised to tell the story for those who follow<br />User requirements<br />Business requirements<br />System requirements<br />62<br />
    79. 79. Build a skeleton solution first<br />Assess need for parallel iterations<br />establish baseline <br />assess solutions according to baseline<br />Biggest/first major iteration cycle is about 6-8 weeks<br />End with fully-functional solution at the end<br />forms the baseline<br />Add bits to the skeleton, as identified by prioritisation/value proposition/need/funds<br />63<br />
    80. 80. Stand-up meetings<br />Risks<br />Scope<br />Change management<br />Reporting<br />64<br />
    81. 81. Sprint Planning Meeting<br />Turns product backlog into the sprint backlog<br />Gets the Team to commit to a level of delivery during the Sprint<br />Product Owner, Scrum Master &Team attend<br />Elaborate the features in the product backlog<br />Refine understanding & acceptance criteria<br />Create sub-tasks <br />Re-estimate<br />Features the Team commits to delivering form the Sprint Backlog. <br />Once formed the Sprint Backlog should not change<br />
    82. 82. Daily Scrum & Impediments List<br />Quick meeting to synchronize Team <br />Chance to escalate to Scrum Master<br />15 mins, 3 questions each<br />What did you do yesterday?<br />What are you going to do today?<br />What problems/issues do you have?<br />Issues go on an Impediments List<br />The Scrum Master is responsible for removing items from the Impediments List<br />
    83. 83. Adoption of Agile within Prince2 environment<br />67<br />Allowed client to address scope and requirements one piece at a time, which allowed the project to evolve and change on a ‘just-in-time’ basis, with risks identified and mitigated as required<br />
    84. 84. 68<br />
    85. 85. 69<br />
    86. 86. Key Agile activities<br />Discovery of current processes and end user needs, issues and requirements through workshops<br />Collaborative development of process refinements and end user experience improvements through visual storyboarding from the point of view of different users<br />Business process modelling derived from validated storyboards<br />Detailed user interface prototypes derived from business process maps<br />Iterative improvement of prototypes through validation with business owners<br />The prototypes form the basis of the features that will drive the strategic, business and user requirements specification for the resulting technology<br />70<br />
    87. 87. 71<br />Workshopping current processes and requirements<br />Iterative improvements to user interface prototypes<br />Process refinement through visual storyboarding<br />business process map (‘swim lane’ or cross-functional flow chart)<br />Refined visual storyboard mapping user experience and high level business processes<br />
    88. 88. 72<br />
    89. 89. Stakeholder Communication is Key<br />Don't underestimate the value of face-to-face conversations<br />Leveraging web 2.0 for responsive communication (a vehicle for getting quick feedback and collaboration)<br />Project blogs<br />Project status, Lessons learned, Comments, Criticisms and Discoveries<br />Announcements <br />Milestones, Blog posts, Media releases, Locations for system prototypes and Locations of solutions to<br />review<br />comment<br />share<br />Critique<br />73<br />
    90. 90. Communicate - formally or informally<br />Formal<br />group workshops<br />card sorting<br />personas<br />collaborative design<br />individuals<br />contextual inquiry<br />interviews<br />surveys/questionnaires<br />prototype testing<br />Informal<br />over coffee<br />over lunch<br />74<br />
    91. 91. Twitter<br />75<br />
    92. 92. Flickr<br />Photographs demonstrating engagement with stakeholders<br />76<br />
    93. 93. Delicious<br />Sharing 'discoveries'<br />77<br />
    94. 94. Dopplr<br />Sharing project milestones<br />Calendar/workshop dates<br />78<br />
    95. 95. Wikis<br />Benchmark project documentation<br />Iterate project documentation<br />Store for stencils, prototypes and templates<br />Features to manage projects<br />User sign-ons<br />Version control<br />Roll-backs<br />Audit trails<br />79<br />
    96. 96. Agile governance<br />Report lessons <br />Out of each major iteration<br />When reaching major milestones<br />Obtain sign-off/approval<br />When major solution components are identified<br />To pass major milestones<br />When new user-groups are identified and require involvement in requirements/validation<br />Major scope changes<br />80<br />
    97. 97. How to budget for Agile <br />Kernel/contingency project model?<br />How many parallel iterations?<br />How many people<br />What process<br />What practices<br />Payment on first iteration then delivery of each subsequent identified 'feature‘ <br />Payment decisions/perceived value<br />Assessment of time/materials/iteration requirements<br />81<br />
    98. 98. So what is agile really about and how can we use it on our projects?<br />82<br />
    99. 99. One size does not fit all<br />Not all projects (or iterations) are suited to Agile techniques<br />Agile doesn’t fix every problem<br />Agile doesn’t work on every project<br />Choose the right combination of techniques<br />Look for opportunities to be more agile<br />Analysis techniques are important, but as a means to actively elicit information rather than document<br />Constant evolution of process can be difficult<br />2 steps forward, 1 step back<br />Avoid stagnation<br />Verbal communication and interpersonal skills become more important in co-located team environments<br />Training and mentoring are the key<br />83<br />
    100. 100. Work smarter<br />Become creative with the documentation we do create<br />Leverage existing practices within your teams/divisions<br />Leveraging existing expertise<br />Leverage existing knowledge<br />84<br />
    101. 101. Pass on learnings<br />Add through issues logs<br />Risks<br />Scope changes<br />Knowledge gained<br />Capturing resourcing requirements per iteration<br />Pass on experience<br />85<br />
    102. 102. Next Steps<br />86<br />
    103. 103. Workshops<br />Presentation will be available on slideshare<br />QRG (quick reference guide) is being developed and will be available<br />Workshops with teams<br />Work through project issues <br />real cases and situations<br />One-on-one coaching <br />Tailor training requirement to individual team needs and level of familiarity with agile<br />87<br />