1 / 0

Agile Project Management An Introduction

Agile Project Management An Introduction. Presented by: Bryan Campbell MBA, PMP, CSM, ITIL. About the Presenter. More than 20 years of IT experience across a wide range of industries and organizations (government, public, private)

nevan
Télécharger la présentation

Agile Project Management An Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agile Project ManagementAn Introduction

    Presented by: Bryan Campbell MBA, PMP, CSM, ITIL
  2. About the Presenter More than 20 years of IT experience across a wide range of industries and organizations (government, public, private) The last 8 years focused on Agile and UP software development initiatives. Project and Program Manager of a wide range of small and very large projects. Extensive experience working in large scale enterprise environments (Telcos, Utilities, Software, Government, Finance) Recently the VP of Delivery Services for a consulting company specializing in agile software development. Currently, Lead Engagement Manager for OnDemand Solutions at BMC Software Inc. Articles and blog can be found at www.bryancampbell.com
  3. Agenda The Agile Story The Benefits of Agile PMI-ACP Domains The PMI-ACP Certification Links
  4. What Exactly is Agile? Evolved in the last 1990s in response to the burdens of heavy documentation and frequent requirements change. Essentially a ‘family’ of development processes such as Scrum, XP, Adaptive Software Development, Feature Driven Development, Crystal Clear and others (links on the last page) Emphasizes (amongst other things) face-to-face communication, working software as the primary demonstration of progress, emphasis on effective engineering techniques (Test Driven Development, Continuous Integration, Refactoring to Design Patterns), frequent demonstrations of progress Business and developer collaboration Retrospectives and continuous improvement Adopts a ‘it’s done when it’s done’ approach over excessive estimating and project completion predictions and has a ‘Just Do It’ feel.
  5. How Has Agile Evolved? Agile has its roots in a collection of software engineering techniques which emphasized a more lightweight, quality driven approach to software development: Test Driven Development: “Write a Test, Watch it Fail, Write some Code, Watch it Pass”, rich collection of unit tests at the method level, code not complete until all tests pass. Continuous Integration: Integration is hard and often delayed to just before the final build… if code is continuously compiled when code is checked in you can identify conflicts when they’re still easy to manage. Refactoring: Application of design patterns to code to improve code structure, reuse and maintainability and reduce technical debt. User Stories: Lightweight requirements capturing mechanism to speed the requirements gathering process and improve developer/BA communication.
  6. Overtime Agile Techniques Broadened Agile techniques began to enable other effective practices such as frequent demonstrations of working software, which encouraged greater customer collaboration and allowed more responsiveness to change. Eventually the Agile Manifesto was born: Agile Manifesto (www.agilemanifesto.org) Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
  7. Definition of Agile Agile is an iterative and incremental (evolutionary) approach to project development which is performed in a highly collaborative manner by self-organizing teams with "just enough" ceremony that produces high quality software in a cost effective and timely manner  which meets the changing needs of its stakeholders. - Scott Ambler, www.agilemodeling.com , Managing Agile Projects
  8. Agile = Fragile Many of the initial Agile engineering principles and the Agile Manifesto were greeted warmly at the grassroots developer level. It enabled developers to work in ways they hadn’t experienced before. However, Agile was ‘silent’ on many of the realities facing widespread adoption, specifically: Architecture Globally distributed teams Large scale initiatives PMP related disciplines (budgets, resources, communication, schedules, scope) Transition (ITIL) activities Agile was also struggling under the weight of its own success, more people with less experience were applying these techniques and the result was a number of failing ‘Agile’ projects.
  9. Agile – Less Engineering More Enabling Overtime, Agile has begun to emphasize many of the ‘people-centric’ aspects of Scrum and less of the engineering practices (although these are still good and useful). Lean and Six Sigma techniques began to infuse themselves into Agile practices include: Continuous Improvement: Japanese ideas like Kaizen began to appear in the form of retrospectives, the entire team regularly discussing what worked and what didn’t work in an iteration. Focus on the Value Chain: Extending agile techniques, particularly Pull, across each segment of the value chain. Business Value Emphasis: Understanding the business value of work and prioritizing effort around this work.
  10. The Agile Core Hallmarks of Agile Project Techniques : Iterations with Demos: The project should be broken into a series of time-boxed, iterations that have a demo to show progress to all stakeholders. User Stories reflect business value and priority: User Stories are managed in a backlog, prioritized by business value and releases are determined by the development velocity and what is deemed acceptable as a production release. Committed Product Owners: Tradeoffs are an important part of the process.Prioritizing business value of work with Business and IT working collaboratively to balance risk. Acceptance Tests for all Requirements: Everyone owns ‘quality’. Standards, Test automation and key principles such as Test Early / Test Often are emphasized. Automate tests and enable continuous integration where possible. Retrospectives: Weekly team retrospectives should be held to learn how to improve and enhance the project delivery efforts. Sustainable Pace/Velocity: Team members are involved in estimates and commitment dates. Overtime, weekend work and heroic efforts are ‘bad smells’. Communication: Daily ‘scrums’ should be held amongst team members to understand what has been accomplished, what will be accomplished and what roadblocks exist. Visibility: Information on project status, progress and issues/risks should be maintained in real-time, web accessible tools.
  11. Agile De-emphasizes Big design and requirement gathering ‘up-front’. Predictions on project completion. Death march projects where project teams make up the difference for poor estimates with unpaid overtime. Use of tools that force behaviors (task management tools, requirements management tools etc.). Top Down Management/Control. “Heavy” documentation, particularly Status Reports, Software Architecture Diagrams, Software Requirements Specifications, Test Plans etc.
  12. The Benefits of Agile Emphasizes many of the ‘right’ things: collaboration, team empowerment, working software, frequent demonstrations of progress etc. Lightweight, relies on whiteboards, index cards and facilitation techniques (planning poker, Fist of Five etc.) Very appealing to developers who make up a large portion of most development teams with its development focus. Business sponsors like the idea of time-to-market opportunities and driving the features of the development lifecycle. Implicitly focuses on ‘push vs. pull’ Simple and easy to understand. Contemporary and ‘modern’
  13. The Project Management Institute – Agile Certified PractitionerPMI-AGP

    An Overview of the PMI’s newest certification
  14. Six Domains Value Driven Delivery Stakeholder Engagement Boosting Team Performance Adaptive Planning Problem Detection and Resolution Continuous Improvement (Product, People and Process) Note: Items highlighted in Blue will be covered in the Agile Applied session later.
  15. An Agile Project Example Refactoring Continuous Integration Daily Stand-up Test Driven Development Product Owner User Stories Demonstration of Working Software Burndown charts
  16. Value Driven Delivery Define Positive Business Value Understanding the goals of the project and the business value they will provide Tailoring the project methodology to meet the project and organization goals Define acceptance criteria for features to determine a shared definition of ‘what is done’ Incremental Development (sprints or iterations) Deliver value in small increments to achieve unlock business value early in the project schedule Provide frequent demos of working functionality to solicit customer feedback
  17. Value Driven Delivery Avoid Potential Downsides Utilize spikes or proofs of concept to minimize risks Use Operational reviews and checkpoints to mitigate dependency risks and inform stakeholders Hold frequent demos to showcase functionality and ensure these meet customer requirements Prioritization Prioritize features and project related work items Re-prioritize as needed
  18. Plan and Estimate Planning is necessary for all projects. This includes Release Plans, Iteration Plans, Schedules with Milestones/Dependencies, Resource Plans. Differentiate between Estimates (wide confidence level) and Commitments (narrow confidence level). Familiarize stakeholders and teams withthe Cone of Uncertainty. One agile estimating technique isWide Band Delphi. A consensus driven approach to estimating by team ‘experts’ Planning Poker is a another popular form of agile estimating using playing cardswith estimates that the team plays after reviewing functionality.
  19. How Much Agility Can you have? Plan-driven: Highcriticality Juniordevelopers Requirementsdon'tchangetoo often Large number of developers Culture that demands order Agile: Low criticality Senior developers Requirements change very often Small number of developers Culture that thrives on chaos
  20. Stakeholder Engagement Stakeholder Needs Product owners who are empowered, engaged and committed to prioritize features and validating functionality Stakeholder Involvement Ensure effective stakeholder collaboration and participation Stakeholder Expectations Establish success criteria, deliverables and acceptable tradeoffs
  21. Product Owners and Trade-offs A critical role defined in Scrum and emphasized in Agile literature is the Product Owner The Product Owner is: part of the business (not a Business Analyst or other proxy) fully integrated into the project team Writes user stories, reviews demos and ensures that acceptance criteria are met Determines feature priorities and manages trade-offs
  22. Scrums, Pigs and Chickens One familiar adage used in Scrum projects is the differentiation between Pigs, committed project team members and Chickens, stakeholders not formerly part of the project team. During scrums only Pigs are allowed to provide project status.
  23. Boosting Team Performance Team Formation Establish ground rules in order to remove fear of conflict Ensure a common understanding of Agile principles and practices Identify team members with the right combination of soft and technical skills to maximize teamwork and reduce bottlenecks Team Empowerment Emphasize self-organization of the team Create a safe team environment Team Collaboration Establish team collaboration behaviors Facilitate close communication with the team and stakeholders Team Commitment Protect the team from outside distractions Measure capacity by tracking and measuring actual deliverables
  24. Adaptive Planning Levels of Planning Plan at multiple levels (Strategic, Release, Iteration, Daily) Adaptation Coach the team to adjust cadence based on project characteristics and deliverables Estimation Encourage the team participation in all estimates Refine estimates as new knowledge gained Velocity/Throughput/Cycle Time Accept a measure of accepted work to gauge progress and forecast completion
  25. Problem Detection and Resolution Create an open and safe environment to surface problems Engage the team to identify risks and create mitigation strategies Ensure that impediments are resolved or reset expectations if they can’t Maintain a Visible List of Risks and Impediments Communicate status of risks and impediments
  26. Continuous Improvement Incorporate feedback with retrospectives Remove wasteful process elements Improve team member knowledge and skills by pairing team members Experiment with new techniques and process ideas for short periods to discover more efficient/effective ways to work
  27. PMI Agile Certified Practitioner (PMI-ACP) Introduced in Q3 of 2011
  28. Exam Content Outline Tools and Techniques – 50% Communications, Estimation, Planning, Value based prioritization and others Knowledge and Skills – 50% Level 1 (33%) e.g. Agile Manifesto, Incremental Delivery, Prioritization Level 2 (12%) Agile frameworks, Continuous Improvement, Facilitation Level 3 (5%) Innovation Games, Agile Contracting, Variance/Trend Analysis
  29. Agile Development and Books Recommended by the PMI Methodologies Scrum Crystal Clear Extreme Programming Adaptive Software Development Feature Driven Development Dynamic Systems Development Method OpenUP Enterprise Unified Process Lean Software Development Techniques Planning Poker Fist of Five Reference Information Agile Wikipedia Reference Post-Agilism The Project Troika
  30. Agile Emphasizes Agile projects have several core attributes: Requirements are managed in a lightweight fashion, usually with ‘user stories’, short business narratives of functionality (sometimes described as a ‘place holder for a conversation’ between business users and developers). Requirements form a backlog which is prioritized by the business users. A Release backlog represents enough functionality that the system can be deployed into production. Empowered and co-located teams. Iterations are used to demonstrate functionality to business stakeholders and elicit feedback, iterations are timeboxed. Based on progress across iterations, velocity is determined which illustrates how rapidly the team is progressing. Velocity is mapped against the backlog and shows a burn-down for the release. Team retrospectives at the completion of each iteration to review what went well and what didn’t go well. Daily stand-up meetings where each team member shares What they Did, What They will Do and what obstacles/roadblocks they’re facing. A ScrumMaster enables and guides the teams without being prescriptive or commanding.
  31. Value Driven Delivery (some examples) Define Value Ensure that features are defined that identify their true value and prioritize in a Product Backlog Define acceptance criteria for features and agree on ‘what is done’ Build in increments or sprints Time-boxed duration Consistent and repeatable Demo of ‘value’ at the end
More Related