Agile Methods in Project Management Lecture PDF

Summary

This lecture covers agile methods in project management, focusing on the Scrum framework. It details the roles, events, artifacts, and processes within Scrum, including sprint planning, daily scrums, sprint reviews, and retrospectives. The lecture also discusses product backlogs, sprint backlogs, and various techniques used in agile project management.

Full Transcript

Agile methods in project management Lecture Dr. Petr Cizek Agile methods in project management 1 What is project management? Project management is the discipline of planning, organizing, and managing resources to bring about the suc...

Agile methods in project management Lecture Dr. Petr Cizek Agile methods in project management 1 What is project management? Project management is the discipline of planning, organizing, and managing resources to bring about the successful completion of specific project goals and objectives. A project is a temporary endeavour with a defined beginning and end, undertaken to create a unique product, service, or result. Agile methods in project management 2 Waterfall vs agile? Agile methods in project management 3 Agile methods in project management 4 https://medium.com/informationartist/agile-manifesto-explained-visually-d2fb07211373 Agile approach What does agile mean? Agile is about a mindset, described in the 4 values of the Agile Manifesto, defined by 12 principles, and tested with countless practices. What doesn't agile mean? Something purchased, new, a process, an excuse for poor quality, undisciplined, unverified, a quick fix, a silver bullet. Agile methods in project management 5 12 agile principles 1. Customer satisfaction through early and continuous delivery of valuable software: 2. Welcome changing requirements, even late in development: 3. Deliver working software frequently, with a preference to the shorter timescale: 4. Collaboration between business people and developers throughout the project: 5. Build projects around motivated individuals, giving them the environment and support they need, and trust them to get the job done: 6. Use face-to-face conversation as the most efficient and effective method of conveying information: 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 and adjusts its behavior accordingly Agile methods in project management 6 Agile project management characteristics Agile methods in project management 7 Agile project management characteristics Agile methods in project management 8 Agile is iterative and incremental Iterative An approach to project management that emphasizes intentionally incorporating the possibility of revisiting and refining work through rework, changes, and improvements. Incremental A development style in which every iteration of the product is functional, and each subsequent version enhances the previous one by incorporating additional user-visible features. Agile methods in project management 9 Popular agile frameworks Scrum - 58% Scrumban – 10% Scrum/XP hybrid – 8% Kanban – 7% Extreme programming – 1% Other approaches - 16% Agile methods in project management 10 The 14th Annual State of Agile™ Report.” Digital.ai Software, Inc. May 26, 2020. https://stateofagile.com/#ufh-i-615706098-14th-annual-state-of-agile-report/7027494 Scrum Agile methods in project management 11 Scrum One of the most popular Agile methodologies An adaptive, iterative, fast, flexible, and effective method Designed to deliver value throughout the project Ensures transparency in communication Creates an environment of collective responsibility Applicable to “any” project Advantages and disadvantages Easy to understand Fun Challenging in practice Agile methods in project management 12 Key elements of Scrum Agile methods in project management 13 Three pillars of Scrum Transparency Significant choices rely on the apparent condition of Scrum’s Artifacts. Artifacts characterized by low transparency may result in decisions that reduce value and escalate risk. Transparency helps inspection, and examination lacking transparency is misleading and unproductive. Inspection We need to regularly check and carefully look at the Scrum items and how we're doing toward our goals. Checking things helps us make adjustments. Checking without making changes doesn't make sense. Scrum events are meant to make us change things when needed. Adaptation If any part of a process goes beyond acceptable limits or if the product isn't good, we need to fix the process or the materials we're using. A Scrum team should change things as soon as it finds out something new during inspection. Agile methods in project management 14 SCRUM process Agile methods in project management 15 Scrum framework Agile methods in project management 16 Scrum roles Agile methods in project management 17 Scrum framework Agile methods in project management 18 Scrum Team Scrum master Product owner Developers Usually 10 or less people There is no hierarchies or sub teams In charge of everything related to the product, including working with stakeholders, checking, maintaining, operating, experimenting, and doing research & development. The whole team is responsible for making something valuable and useful in each sprint. Agile methods in project management 19 Scrum master The Scrum Master is responsible for setting up Scrum according to the Scrum Guide. They achieve this by ensuring that everyone comprehends both the theory and practice of Scrum, whether it's within the Scrum team or the entire organization. The Scrum Master is also responsible for making sure the Scrum team works well. They help the team enhance its methods, both internally and across the organization. Scrum Masters are genuine leaders who work for the benefit of the Scrum team and the broader organization. Agile methods in project management 20 Scrum master Agile methods in project management 21 Product owner The person in charge of getting the most value from the Scrum team's work is the product owner. He is responsible for managing the product backlog effectively, which involves: Defining and clearly communicating the product goal. Creating and clearly communicating items on the product backlog. Putting product backlog items in the right order. Making sure the product backlog is clear, visible, and understood. The success of the product owner relies on everyone in the organization respecting his decisions. Agile methods in project management 22 Product owner Agile methods in project management 23 Team / Developers Developers are the individuals in the Scrum team dedicated to producing a usable part of the product every sprint. The skills required by developers are usually diverse and depend on the specific area of work. They always have the responsibility for: Formulating a plan for the sprint, known as the sprint backlog. Ensuring quality by following a 'definition of done.' Adjusting their plan daily to align with the sprint goal. Maintaining accountability as professionals and supporting each other. Agile methods in project management 24 Co-location A workspace that encourages teamwork and in-person communication while also providing the opportunity for focused, uninterrupted work. Visible information displays. A variety of adaptable and tangible tools for collaboration. Also a virtual tools are necessary such as video- conferencing, shared screens, instant messaging, digital Agile management tool Agile methods in project management 25 Scrum artifacts Agile methods in project management 26 Scrum framework Agile methods in project management 27 Scrum artifacts Scrum's artifacts show the work or value created. They are made to make important information clear to everyone. So, when people look at them, they all have the same information to make changes if needed. Agile methods in project management 28 Scrum artifacts and commitment Each artifact includes a promise to make sure it gives information that makes things clear and helps stay focused, allowing progress to be measured. These promises are there to support using evidence and following the Scrum values for the Scrum team and those involved. Agile methods in project management 29 Product backlog Agile methods in project management 30 Product backlog An evolving, ordered list of what is needed to improve the product A single source of work undertaken by the Scrum team The commitment for the backlog aligns with the product goal. The responsibility for managing the backlog effectively rests with the product owner. Agile methods in project management 31 Product backlog items Feature represents a group of connected user stories. Task Task Task Task User story Task Task Task Task Feature User story EPIC User story EPIC is generally described User story explains a and too big to finish within distinct section of a one sprint. User story feature or the entire functionality. Agile methods in project management 32 EPIC “As a customer I can login to the app So that I can personalize the offers.” An epic usually outlines a complete workflow and is extensive and broadly defined. When it's time to organize the work into sprints, epics are divided into smaller Product Backlog Items (PBIs), such as features and user stories. Epics come in handy when initiating a new product or collecting fresh requirements for a release update. Agile methods in project management 33 Feature Represents a group of connected user stories. Used as an intermediate planning and decomposition level between an epic and its individual stories. Agile methods in project management 34 User story “As a customer I can fill my email in the registration So that I can confirm my registration.” A story explains a distinct aspect of the overall product's functionality, serving as the foundational components for the product. It details a functionality that allows a customer to carry out a specific task or activity. The language used in the story should be clear to both business and technical individuals. Agile methods in project management 35 How to write good User stories 1. Always write from the user’s perspective. 2. Use personas to discover the right stories. 3. Create stories collaboratively. 4. Keep stories simple and concise. 5. Start with epics. 6. Refine stories until they are ready. 7. Add acceptance criteria. 8. Use paper cards or sticky notes. 9. Keep stories visible and accessible. 10. Don’t rely solely on user stories. Agile methods in project management 36 Acceptance criteria Originate from users who specify the requirements. Can be seen as the conditions needed for successful user testing in the development process. Must express the intent, not the solution. Should use relatively straightforward language. Are employed to showcase the requirement to the user during the sprint review event. Agile methods in project management 37 Product backlog refinement The process of breaking down and providing more details for product backlog items (PBIs). A continuous effort to add specifics to backlog items, including a description, order, and size. Refined items are considered ready for selection in a sprint planning session. Developers are tasked with determining the size of the items. The product owner assists developers in understanding the PBIs and making trade-off decisions. Occurs at any time and frequency as agreed with the product owner. Agile methods in project management 38 Sizing methods Perform sizing collaboratively. Use relative sizes instead of absolute. Two types of sizing methods: Ideal time Story points Agile methods in project management 39 Ideal time The time estimated to complete a user story under ideal conditions: No interruptions, no risk events, and no process wastes like waiting. With full access to knowledge, tools, skills, team support, and all required information available. Advantages The benefit of using ideal time is that it relies on a concept familiar to everyone, making it easier to understand. Disadvantage The drawback is that when discussing time, there's a tendency for others to expect the story to be completed within the specified time estimate. Agile methods in project management 40 Story points Used to eliminate any mention of time during sizing. Relies on relative sizing, taking into account the effort required to complete the work. Considers factors like the amount of work, complexity, risk, or uncertainty. Each story is compared to a reference story established as a baseline. Advantages: The benefit of using story points is that it helps sidestep the typical issues associated with time estimates turning into commitments, along with the resulting tendency to add extra time and assign blame. Disadvantage: The drawback of using story points is that there needs to be prior, familiar work that developers understand and can use as a reference. Agile methods in project management 41 Other sizing Agile methods in project management 42 https://www.scrumpoker-online.org/ Planning poker Agile methods in project management 43 Activity – estimating the diameter of planets in the solar system Mercury Venus Earth – 13 story points Mars Jupiter Saturn Uranus Neptune Agile methods in project management 44 Planning poker Agile methods in project management 45 Sprint backlog Agile methods in project management 46 Sprint backlog A plan crafted by developers during the sprint planning event. A prominently displayed, real-time representation of the tasks developers aim to complete in the sprint to reach the sprint goal. Continuously updated throughout the sprint. Should contain sufficient detail for progress inspection during the daily Scrum. Agile methods in project management 47 The Increment Agile methods in project management 48 The Increment A tangible progress step toward the product goal. Each increment builds upon prior ones and is verified to ensure compatibility. To deliver value, the increment must be usable. The combined result of multiple increments is showcased at the sprint review. Work is only included in an increment if it meets the definition of done. Agile methods in project management 49 Definition of done A formal description of the state of the increment when it satisfies the quality measures needed for the product. Enhances transparency by ensuring a shared understanding of the completed work within the increment. If aligned with the organization's standards, all Scrum teams must adhere to it as a minimum; otherwise, the Scrum team needs to create one suitable for the product. Agile methods in project management 50 Scrum events Agile methods in project management 51 Scrum framework Agile methods in project management 52 Sprint events All events, including the sprint itself, have a set time limit. Events promote predictability by facilitating the inspection and adaptation of progress toward a product goal. Skipping any sprint event results in a missed chance for assessment and adjustment. Agile methods in project management 53 Sprint events Agile methods in project management 54 Sprint planning Agile methods in project management 55 Sprint planning Initiates the sprint by outlining the tasks to be accomplished during the sprint. The entire Scrum team collaborates to develop a plan for the sprint. Involves a discussion on the most crucial product backlog items and how they align with the product goal. Others may be invited to offer advice. Agile methods in project management 56 Velocity Total points completed per sprint A crucial factor for success in sizing and planning work. Unique to each group of developers as it measures the completion of their planned tasks. Requires multiple sprints to establish realistic velocity; more data points improve accuracy. Avoid using velocity to compare one team or project to another. It is not a goal; it is a factual basis for forecasting. The focus is on maintaining steady or increasing velocity. Agile methods in project management 57 Sprint planning Agile methods in project management 58 Why is sprint valuable? The product owner suggests ways to enhance the product's value in the sprint. The entire Scrum team works together to establish a goal that says why the sprint is valuable to stakeholders. The sprint goal must be determined before the conclusion of sprint planning Agile methods in project management 59 What can be done this sprint? Developers, in collaboration with the product owner, choose PBIs to include in the sprint. Additional refinement may take place to enhance understanding and confidence. Developers' confidence in sprint forecasts increases with a good grasp of upcoming capacity, past performance, and their definition of done. The Scrum Master can offer coaching as required. Agile methods in project management 60 How will be the chosen work get done? For each chosen PBI, developers plan the tasks required to meet definition of done. This frequently includes breaking down PBIs into smaller work items, typically of one day or less. The approach is entirely up to the developers, as no one dictates how they should transform PBIs into valuable increments. Agile methods in project management 61 Daily Scrum / Stand-up Agile methods in project management 62 Daily Scrum / Stand-up All developers must attend. If the product owner or Scrum Master are actively involved in sprint backlog items, they join as developers. The meeting should be conducted consistently in the same location, at the same time, and kept within a 15- minute time limit. Any impediments raised during the meeting are documented for future discussion. Individuals with the expertise to address potential solutions to impediments wait until after the meeting, addressing it later ("taking it offline"). Agile methods in project management 63 Daily Scrum / Stand-up Agile methods in project management 64 Incomplete stories in Sprint If a selected product backlog item doesn't meet the Definition of Done (DoD), it cannot be showcased at the sprint review. These items are placed back into the product backlog for potential future consideration. Considering its previous priority, it might be selected again for the next sprint. While the story maintains its original effort size, the remaining effort is calculated to determine how many stories can fit in the sprint; once completed according to the DoD, full effort credit is acknowledged. Agile methods in project management 65 Scrum board Agile methods in project management 66 Burn down chart Agile methods in project management 67 Incomplete stories in Sprint If a selected product backlog item doesn't meet the Definition of Done (DoD), it cannot be showcased at the sprint review. These items are placed back into the product backlog for potential future consideration. Considering its previous priority, it might be selected again for the next sprint. While the story maintains its original effort size, the remaining effort is calculated to determine how many stories can fit in the sprint; once completed according to the DoD, full effort credit is acknowledged. Agile methods in project management 68 Sprint review Agile methods in project management 69 Sprint review The sprint review, the second-to-last event in the sprint, serves to examine the outcomes and identify future adaptations. During this session, the Scrum team showcases their work results to key stakeholders, engaging in discussions about progress toward the product goal. During the sprint review A collaborative session where the Scrum team presents their work results to key stakeholders for review. Progress toward the product goal is a focal point of discussion. Any changes in the environment are deliberated. Attendees work together to determine the next steps. The product backlog may be adjusted to accommodate new opportunities. Agile methods in project management 70 Sprint retrospective Agile methods in project management 71 Sprint retrospective The sprint retrospective is conducted with the aim of devising strategies to enhance quality and effectiveness. During the sprint retrospective The Scrum team reviews how the recent sprint performed in terms of individuals, interactions, processes, tools, and their definition of done. They identify assumptions that deviated from the intended path and explore their origins. The most impactful improvements are pinpointed for immediate implementation and may be added to the backlog for the next sprint. Agile methods in project management 72 Releasing the increment Agile methods in project management 73 Release backlog The release backlog is a portion of the product backlog that includes product backlog items finished in a sprint and approved by customers or key stakeholders. Agile methods in project management 74 SCRUM process Agile methods in project management 75