Agile Project Management - Introduction Agile Manifesto, Principles and Values Pavel Adámek Project management Outline of the lecture • •Introduction Agile Project Management • •Applying the Agile Manifesto and Principles • •Outlining the Four Values of the Agile Manifesto • •Defining the 12 Agile Principles • • Introduction •Agile project management is a style of project management that focuses on early delivery of business value, continuous improvement of the project’s product and processes, scope flexibility, team input, and delivering welltested products that reflect customer needs. • •A project is a planned program of work that requires a definitive amount of time, effort, and planning to complete. Projects have goals and objectives and often must be completed in some fixed period of time and within a certain budget. • •Pure waterfall project management - completing each step in full before moving to the next step. On waterfall projects, you move to the next phase only when the prior one is complete - hence, the name waterfall. • •This approach was inherently risky and recommended developing and testing within iterations to create products - suggestions that were overlooked by many organizations that adopted the waterfall methodology. • • • Introduction •Over the past two decades, people working on projects have recognized the growing problems with traditional project management and have been working to create a better model: agile project management. • • •The seeds for agile techniques have been around for a long time. • •In fact, agile values, principles, and practices are simply a codification of common sense. • • Introduction Agile Project Management Quick history of agile project management, dating to the 1930s with Walter Sherwart’s Plan-Do-Study-Act (PDSA) approach to project quality. •In 1986, Hirotaka Takeuchi and Ikujiro Nonaka published an article called “New New Product Development Game” in the Harvard Business Review. Takeuchi and Nonaka’s article described a rapid, flexible development strategy to meet fastpaced product demands. • •This article first paired the term scrum with product development. (Scrum originally referred to a player formation in rugby.) • •Scrum eventually became one of the most popular agile project management frameworks. Introduction Agile Project Management •In 2001, a group of software and project experts got together to talk about what their successful projects had in common. This group created the Agile Manifesto, a statement of values for successful software development: 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. • Introduction Agile Project Management •Agile, in product development terms, is a descriptor for project management approaches that focus on people, communications, the product, and flexibility. • •If you’re looking for the agile methodology, you won’t find it. • •However, all agile methodologies (for example, crystal), frameworks (for example, scrum), techniques (for example, user story requirements), and tools (for example, relative estimating) have one thing in common: adherence to the Agile Manifesto and the 12 Agile Principles. Introduction Agile Project Management Agile project management timeline Source: Layton, M. C., Ostermiller S. J. 2017. Agile Project Management Introduction Agile Project Management How agile projects work Agile approaches are based on an empirical control method — a process of making decisions based on the realities observed in the project. By using frequent and firsthand inspection of the work to date, you can make immediate adjustments, if necessary. Empirical control requires: •Unfettered transparency: Everyone involved in an agile project knows what is going on and how the project is progressing. •Frequent inspection: The people who are invested in the product and process the most regularly evaluate the product and process. •Immediate adaptation: Adjustments are made quickly to minimize problems; if an inspection shows that something should change, it is changed immediately. Introduction Agile Project Management How agile projects work •To accommodate frequent inspection and immediate adaptation, agile projects work in iterations (smaller segments of the overall project). • •An agile project involves the same type of work as in a traditional waterfall project: • •You Create requirements and designs, develop the product, document it, and if necessary, integrate the product with other products. • •You test the product, fix any problems, and deploy it for use. However, instead of completing these steps for all product features at once, as in a waterfall project, you break the project into iterations, also called sprints. Introduction Agile Project Management Source: Layton, M. C., Ostermiller S. J. 2017. Agile Project Management, p. 15 Applying the Agile Manifesto and Principles Over the next several months, these leaders constructed the following: •The Agile Manifesto: An intentionally streamlined expression of core development values • •The Agile Principles: A set of 12 guiding concepts that support agile project teams in implementing agile techniques and staying on track • •The Agile Alliance: A community development organization focused on supporting individuals and organizations that are applying agile principles and practices Applying the Agile Manifesto and Principles •The Agile Manifesto represents a big shift in focus in how projects are conceived, conducted, and managed. If we read only the items on the left, we understand the new paradigm that the manifesto signers envisioned. • •They found that by focusing more attention on individuals and interactions, teams would more effectively produce project product through valuable customer collaboration and by responding well to change. • •Whereas traditional approaches emphasize a rigid plan, avoid change, document everything, and encourage hierarchal-based control, the manifesto focuses on •People •Communications •The product •Flexibility Applying the Agile Manifesto and Principles •Today, people use agile approaches to create products in a variety of industries, including: •biotech, •manufacturing, •aerospace, •engineering, •marketing, •nonprofit work, •building construction. • •If you want early empirical feedback on the product or service you’re providing, you can benefit from agile methods. Outlining the Four Values of the Agile Manifesto • • • •The Agile Manifesto was generated from experience, not from theory. • •How do these values support meeting timeto-market goals, dealing with change, and valuing human innovation? Outlining the Four Values of the Agile Manifesto Value 1: Individuals and interactions over processes and tools When you allow each person to contribute his or her unique value to a project, the result can be powerful. When these human interactions focus on solving problems, a unified purpose can emerge. Moreover, the agreements come about through processes and tools that are much simpler than conventional ones. A simple conversation in which you talk through a project issue can solve many problems in a relatively short time. Trying to emulate the power of a direct conversation with email, spreadsheets, and documents results in significant overhead costs and delays. Instead of adding clarity, these types of managed, controlled communications are often ambiguous and time-consuming and distract the development team from the work of creating a product. Consider what it means if you value individuals and interactions highly! Outlining the Four Values of the Agile Manifesto Individuals and Interactions Have High Value Pros •Communication is clear and effective. •Communication is quick and efficient. •Teamwork becomes strong as people work together. •Development teams can self-organize. •Development teams have more chances to innovate. •Development teams can customize processes as necessary. •Development team members can take personal ownership of the project. •Development team members can have deeper job satisfaction. Cons •Development team members must have the capacity to be involved, responsible, and innovative. •People may need to let go of ego to work well as members of a team. Outlining the Four Values of the Agile Manifesto Value 2: Working software over comprehensive documentation •All projects require some documentation. On agile projects, documents are useful only if they support product development and are barely sufficient to serve the design, delivery, and deployment of a working product in the most direct, unceremonious way. • •Agile approaches dramatically simplify the administrative paperwork relating to time, cost control, scope control, or reporting. • •We often stop producing a document and see who complains. After we know the requestor of the document, we strive to better understand why the document is necessary. • •The five whys work great in this situation — ask “why” after each successive answer to get to the root reason for the document. After you know the core reason for the document, see how you can satisfy that need with an agile artefact or streamlined process. Outlining the Four Values of the Agile Manifesto Value 3: Customer collaboration over contract negotiation •The customer is not the enemy. Really. •You will never know less about a product than at the project’s start. Locking project product details into a contract at the beginning of your project means you have to make decisions based on incomplete knowledge. • •If you have flexibility for change as you learn more about a product, you’ll ultimately create better products. •The agile pioneers understood that collaboration, rather than confrontation, produced better, leaner, more useful products. As a result of this understanding, agile methods make the customer part of the project on an ongoing basis. • •Using an agile approach in practice, you’ll experience a partnership between the customer and the development team in which discovery, questioning, learning, and adjusting during the course of the project are routine, acceptable, and systematic. Outlining the Four Values of the Agile Manifesto Value 4: Responding to change over following a plan •Change is a valuable tool for creating great products. Project teams that can respond quickly to customers, product users, and the market are able to develop relevant, helpful products that people want to use. • •The relationship between time, opportunity for change, and the cost of change on a traditional project. As time — and knowledge about your product — increases, the ability to make changes decreases and costs more. Source: Layton, M. C., Ostermiller S. J. 2017. Agile Project Management, p. 26 Defining the 12 Agile Principles To support teams making agile transitions, they augmented the four values of the manifesto with 12 principles behind the Agile Manifesto. •These principles, along with the Platinum Principles can be used as a litmus test to see whether the specific practices of your project team are true to the intent of the agile movement. • •These agile principles provide practical guidance for development teams. • •Another way of organizing the 12 principles is to consider them in the following four distinct groups: –Customer satisfaction –Quality –Teamwork –Project management Defining the 12 Agile Principles Following is the text of the original 12 principles, published in 2001 by the Agile Alliance: 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. Defining the 12 Agile Principles Following is the text of the original 12 principles, published in 2001 by the Agile Alliance: 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 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 self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Defining the 12 Agile Principles A few traditional project management tasks, along with how you would meet those needs with agile approaches. Use comparison to capture your thoughts about your experiences and how agile approaches looks different from traditional project management. Source: Layton, M. C., Ostermiller S. J. 2017. Agile Project Management, p. 36 Defining the 12 Agile Principles Adding the Platinum Principles •Through in-the-trenches experience working with teams transitioning to agile project management - and field testing in large, medium, and small organization’s worldwide – that was developed three additional principles of agile development that we call the Platinum Principles. They are • •Resist formality. • •Think and act as a team. • •Visualize rather than write. Defining the 12 Agile Principles Changes as a Result of Agile Values •Agile approaches changed attitudes toward project management processes. In trying to improve processes, methodologists in the past worked to develop a universal process that could be used under all conditions, assuming that more process and greater formality would yield improved results. This approach, however, required more time, overhead, and cost and often diminished quality. • •Agile approaches changed attitudes toward knowledge workers. • •Agile approaches changed the relationship between business. • •Agile approaches corrected attitudes toward change. Defining the 12 Agile Principles Changes as a Result of Agile Values •Agile approaches changed attitudes toward project management processes. In trying to improve processes, methodologists in the past worked to develop a universal process that could be used under all conditions, assuming that more process and greater formality would yield improved results. This approach, however, required more time, overhead, and cost and often diminished quality. • •Agile approaches changed attitudes toward knowledge workers. • •Agile approaches changed the relationship between business. • •Agile approaches corrected attitudes toward change. RECAP The Agile Litmus Test - To be agile, you need to be able to ask, “Is this agile?” 1. Does what we’re doing at this moment support the early and continuous delivery of valuable product? 2. Does our process welcome and take advantage of change? 3. Does our process lead to and support the delivery of working functionality? 4. Are the developers and the product owner working together daily? Are customers and business stakeholders working closely with the project team? 5. Does our environment give the development team the support it needs to get the job done? 6. Are we communicating face to face more than through phone and email? 7. Are we measuring progress by the amount of working functionality produced? 8. Can we maintain this pace indefinitely? 9. Do we support technical excellence and good design that allows for future changes? 10. Are we maximizing the amount of work not done — namely, doing as little as necessary to fulfill the goal of the project? 11. Is this development team self-organizing and self-managing? Does it have the freedom to succeed? 12. Are we reflecting at regular intervals and adjusting our behavior accordingly?