Agile Project Management Jim Highsmith Chapter 1 The Agile Revolution
Ultimate customer value is delivered at the point-of-sale, not the point-of-plan The key opportunity, uncertainty, and risk resides in the proposed product not in the approach to project management. Build quick, but don t hurry John Wooden Do the right things, but learn how to do them quickly. Strip away the overhead, the non-value-adding activities.
Anyone who practices ad hoc development under the guise of Agile Methods is an imposter Not linear thinking, prescriptive processes, and standardized practices! Development processes must change from anticipatory to adaptive. Project management must change! What is needed mobility, experimentation, and speed. and geared to business objectives
Agile Business Objectives 1. Continuous innovation Innovative ideas are not generated in structured, authoritarian environments but in an adaptive culture based on the principles of self-organization and self-discipline. 2. Product adaptability Lowering technical debt (improving the ability to adapt) 3. Improved time-to-market The iterative, feature based process improves time to market in three ways: focus, streamlining, and skill development 1 st : Constant attention to product features and their prioritization reduces overall workload 2 nd : Concentrates on value-added activities, elimination overhead and compliance activities 3 rd : Focus is on selecting the right skill for project team members and molding them into productive teams
Agile Business Objectives 4. People and process adaptability Team must be adaptable its members comfortable with change Learning and adapting is an integral part of delivering value to customers 5. Reliable results Production processes are designed to be repeatable A repeatable process is one in which doing the same thing in the same way produces the same results. One that is reliable delivers regardless of the impediments thrown in the way reliability means constantly adapting to meet a goal.
Agile Business Objectives 5. Reliable results (continued) Exploration processes are not repeatable Because of the uncertainty surrounding requirements and new technology, known, completely pre-specified results are not possible but a releasable product that meets customer goals and business requirements as they become known can be delivered. To deliver a valuable product to a customer within some targeted boundaries, when change and deadlines are significant factors, then reliable Agile processes work better.
Agility Defined Agility is the ability to both create and respond to change in order to profit in a turbulent business environment. Agility is the ability to balance flexibility and stability Highsmith (2002) In high-performance teams, the leaders managed the principles, and the principles managed the team. Carl Larson and Frank LaFasto (1989)
Key values for agile leaders: A traditional project manager focuses on following the plan with minimal changes, whereas an agile leader focuses on adapting successfully to inevitable changes Delivering value over meeting constraints (Value over Constraints) Leading the team over managing tasks (Team over Tasks) Adapting to change over conforming to plans (Adapting over conforming) The core value of an egalitarian meritocracy runs deep in the agile movement. It is surely not the only core value that can produce products, but it is a core value that defines how the majority of agilists view themselves.
Two Sources of Agile Values Principles, or rules.. affect how tools and practices are implemented. Practices are how principles are acted out. They help in making product decisions and evaluating development practices. Agile values: 1. Manifesto for Agile Software Development Developed with software development as the focus 2. Declaration of Interdependence Developed with the project leader as the focus
The Declaration of Interdependence Agile and adaptive approaches for linking people, projects and value We increase return on investment by making continuous flow of value our focus. We deliver reliable results by engaging customers in frequent interactions and shared ownership. We expect uncertainty and manage for it through iterations, anticipation, and adaptation. We unleash creativity and innovation by recognizing that individuals are the ultimate source of value, and creating an environment where they can make a difference. We boost performance through group accountability for results and shared responsibility for team effectiveness. We improve effectiveness and reliability through situationally specific strategies, processes and practices. 2005 David Anderson, Sanjiv Augustine, Christopher Avery, Alistair Cockburn, Mike Cohn, Doug DeCarlo, Donna Fitzgerald, Jim Highsmith, Ole Jepsen, Lowell Lindstrom, Todd Little, Kent McDonald, Pollyanna Pixton, Preston Smith and Robert Wysocki.
Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler Agile Manifesto 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. James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick 2001, the above authors This declaration may be freely copied in any form, but only in its entirety through this notice. C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas
Principles behind the Agile Manifesto We follow these 12 principles: 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Principles behind the Agile Manifesto We follow these 12 principles: 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity--the art of maximizing the amount of work not done--is essential. 11. The best architectures, requirements, and designs emerge from selforganizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
Traditional Iron Triangle of Project Management Rarely can you change 1 constraint without impacting the others. Scope is typically the primary driver (assumes scope is known early in the project) Cost and Schedule varied.
Agile Triangle This delivers the value to the customer Scope Scope Cost Cost Schedule These are The enablers Constraints are still important but not the only driver!
Agile Project Management Framework (APM) Again Production-oriented project management processes and practices emphasize complete early planning and requirements specification with minimal ongoing change. Exploration-based processes emphasize nominal early planning, good enough requirements, and experimental and evolutionary design with significant ongoing learning and change.
APM Delivery Approach Five phases Envision, Speculate, Explore, Adapt, and Close
Highlights of 3 rd Annual State of Agile Development (2008 Survey Results) Teams practicing Agile Development are increasing and getting more distributed 32% of respondents from development groups with over 250 people 76& of respondents from development with over 20 people Agile development is delivering meaningful and measurable business results. Respondents reporting specific improvements greater than 10% include: Increased productivity 89% of respondents Reduced Software Defects 84% of respondents Accelerated time to market 82% of respondents Reduced Cost 66% of respondents