SCRUM
What are the pros to using a Minimum Value Product (MVP)
- Allows for a fast feedback loop - Reduces scope creep
What is a T-shaped resource?
- Broad knowledge at a high level in several areas - Deep knowledge in one area
Who all should be involved in Sprint Planning?
- Development Team Members - SCRUM Master - Product Owner
What responsibilities do Project Managers, Product Owners or SCRUM Masters have?
- Grooming the Product Backlog - Setting up the Sprint - Helping the team create the Sprint Backlog - Starting the Sprint - Monitoring the Sprint progress - Closing the Sprint - Creating versions of the Sprint - Creating versions to track the Software released - Creating/Analyzing Reports
What is Product Vision?
- Serves as a guide for your team - Established by the PO before any work begins
What are 3 SCRUM boundaries?
1. Business-approved and Customer-ready product completed often. 2. Teams need to meet every day in what's known as a daily standup. 3. Teams need to have time to reflect and think about what they can do to improve. This is why SCRUM mandates a ceremony called Retrospectives.
In order for SCRUM to work, it relies on the 3 C's which are?
1. Collaboration 2. Communication 3. Cadence
dfdfd
1. Create a new Project - Projects > Create project > Choose project type 2. Configure Board Settings 3. Think through the work required in the project and start creating issues i.e. Epics, User Stories, Tasks, Bugs, etc. 4. Go into each individual Issue and update fields as necessary. 5. Create Sprint. It will automatically name the Sprint the key of the project followed by Sprint 1. 6. Either create Issues for the Sprint or move existing issues into the Sprint. 7. Part of the Sprint Review Meeting, the team would work together to put in the Issue details i.e. Estimates or Original Time Estimate (however the Board is configured). One of the main topics is to make sure that the total estimate of all the issues is something the team can realistically target by the end of the Sprint. You can compare a previous Sprint Velocity to determine if this Estimate makes sense. 8. Start the Sprint. 9. Compare estimated story points or time against what has been logged. 10. Create Release Versions, which are targeted software releases. 11. Once all the Issues are addressed you can release release the Version.
Once the vision is complete, it's time to start decomposing the vision into functional parts.
1. Identify your themes. Themes are a broad grouping of similar work i.e. Profile, Order, Payment, etc. Themes help by triggering ideas about what needs to be development to meet the MVP. Themes also help group work for efficiency and security. 2. Break themes into features i.e. Profile can be broken down into Login, Account, etc.
What are the key principles for incremental development that have made Agile what it is today?
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. 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.
What is the SCRUM Flow?
1. Product Backlog - This contains all the features you want to build in the form of User Stories. These features get prioritized, so the most important features are at the top of the Backlog. - It's important that the features at the top of the Backlog are in a ready state with all requirements and details laid out and that they are ready for development. 2. Sprint Backlog - A group of features from the Product Backlog which are ready for development are moved into the Sprint Backlog. These features are what the development team will implement during the Sprint. 3. Sprint - A Spring is a pre-determined length of time, usually between 2 to 4 weeks, where the development team takes the tickets from the Sprint Backlog and gets them to a done state by the end of the Sprint. - During the Sprint, the team has a daily SCRUM meeting to discuss the progress of the Sprint. 4. Release - At the end of the Sprint, the team should have a shippable group of features that can be reviewed by customers or relevant stakeholders.
What two key roles are essential to SCRUM?
1. Product Owner 2. SCRUM Master The SCRUM Master responsibilities include: - Resolve day-to-day issues and counterbalance the ongoing requirement changes
SCRUM summarized.
1. The Product Owner creates and manages the Product Backlog by filling it with Product Backlog Items (PBIs) AKA User Stories, which can represent a Feature to be developed. 2. A Sprint Planning Meeting is then held with the entire team, including Developers, where the highest priority User Stories, which are at the top of the Product Backlog are put into the Sprint Backlog. During this process, the Developers also provide an estimate of effort (hours or story points) for each of the User Stories. 3. The Sprint, which usually lasts 2 to 4 weeks begins and every day there is a 15-minute SCRUM Meeting AKA Stand-Up where Developers detail: - What I did yesterday - What I plan to do today - Do I have any blockers The SCRUM Master facilitates this and ensures the Development team is on track and unblocked. 4. Demo/Retrospective: - Demo: The Development team demos the features completed in the Sprint to the Business and relevant Stakeholders. - Retrospective: The team discusses what went right and what can be worked on to become better. 5. The Product Owner works with the team to package the completed features into a potentially shippable product.
What is the SCRUM framework in its simplest form?
1. The Product Owner has a prioritized backlog of work for the team to do. 2. Every two weeks the team looks at the backlog and decides what they can accomplish in the next two weeks. 3. The team develops and tests their solution to the backlog items until they're done and ready for use. 4. At the end of the two weeks, the team demonstrates their accomplishments to the Product Owner and Stakeholders. 5. The team reflects on how things went during the last two weeks and decides what they can do to improve their work practices.
What are Sprint General Guidelines?
1. The teams definition for done. This definition states the minimum requirements for all User Stories. For example: For a User Story on our team to be considered done, it has been code-reviewed and tested in the pre-release environment. 2. Prioritizing your Product Backlog, this is also known as Backlog Grooming. Which means that User Stories are continually sequenced in value order. The more valuable the outcome of the User Story, the higher it is in the Product Backlog. The Product Owner wants the most valuable User Stories delivered first. That way even if time runs out, a valuable Product has still been delivered. 3. Establishing a Sprint cadence. SCRUM says that a Sprint can be anywhere from 1 to 4 weeks in length with a preference towards shorter time scale. Remember, the SCRUM best practices state you should fail and learn fast. It's recommended to use 2-week Sprints.
The SCRUM Master limits updates to three questions which are?
1. What did you do yesterday? 2. What are you going to do today? 3. Is there anything blocking your progress? As individuals go through these questions, the whole team understands their progress as a unit and sees how their work fits into the whole. At the same time, if a team member didn't complete something the day before, or for several consecutive days, this is the team's opportunity to hold them accountable.
How long should Stands-ups last?
15 minutes or less.
As a general guide how many hours should be applied to a working day?
6, the other two are generally filled with phone calls, interruptions, email, etc.
What is a Burnup Chart?
A Burnup Chart tracks the total scope independently from the total work done. This helps your team manage its progress and better understand the effect of scope change.
What is a Sprint Report?
A Sprint Report helps you understand the work completed or pushed back to the Backlog in each Sprint. This helps you determine if your team is overcommiting or if there is excessive Scope Creep.
What is a Task Board?
A Task Board is a simple tool that acts as the heart of your Sprint execution and shows the User Stories committed in a Sprint and the User Story's current status and what has been completed or marked Done thus far.
What is a Velocity Chart?
A Velocity Chart tracks the amount of work completed from Sprint to Sprint. This helps you determine your team's velocity and estimate the work your team can realistically achieve in future Sprints.
What is the foundation for a new set of project management and software development methodologies?
Agile Manifesto
What is an Epic?
An Epic can be defined as a larger body of work or work that cannot be completed in a given iteration and so it usually gets broken into multiple user stores.
What is an Information Radiator?
An Information Radiator is anything that you post that helps everyone understand what the team is doing and how everything is going. At a minimum teams will post their Task Board and Burndown Chart.
What is a User Story?
Any interaction a customer or user has with the product can be considered a UserStory. A User Story is the smallest unit of work and can represent a feature that is to be developed quickly. Anyone can write a User Story, but more often than not it's the Product Owner's responsibility. As the stakeholder and representative for the customer, it's the Product Owner's duty to ensure everything in the Product Backlog adds value for the customer.
What is the format to write good User Stories?
As a <user role>, I want <user requirement> so that <desired benefit>. This can be broken into: 1. Functional User Story: Functional User Stories serves a function for the end user. 2. Non-Functional User Story: Non-Functional User Stories help support the functionality the end user needs without directly benefiting them. Functional User Story Example: As a mobile customer, I want to create a profile so that future orders are faster to place. Non-Functional User Story Example: As a developer, I want to upgrade the database software to the latest version so that we have a supported product.
What is Sprint Planning in SCRUM?
As the development team prepares for the Sprint, more detailed collaboration is necessary, which is the purpose of Sprint Planning. Using the Product Backlog, the Product Owner presents the highest value User Stories to the team in order. Sprint Training is used for the team to ask questions. The goal is that everyone on the team fully understands the intent of the User Story, specific Acceptance Criteria for the User Story, and what the team considers as being done. It's so important the question and answer aspect of Sprint Planning is. At the end of Sprint Planning, the team is going to commit or make a promise that they'll finish all this work. Errors in understanding must be avoided, and this is the forum to clear the air on the User Stories. Once everyone has clarity on the details of the User Story, the team writes down the tasks needed to get each User Story done.
What are the two type of estimating in Agile and SCRUM?
Estimation is meant to be lightweight and fast. It shouldn't take days, or even hours, to determine how much effort you'll put into something. 1. Actual Estimating 2. Relative Estimating: Relative Estimating is getting a rough size of work required by comparing User Stories to each other. User Stories themselves are rough guides to how the User wants to interact with the Product. Because it's a rough statement, you don't want Stakeholders to think you know precisely what it's going to take to get the User Story done.
What slogan is SCRUM known for?
Fail fast - Learn fast. Traditionally, project managers and developers would work for months or years before seeing the results. Most of the time, around 80% in fact, the software and projects failed. Failure is okay as long as you're learning from it, but if you have to wait too long, you're not going to learn nearly as much from it.
What is velocity?
How many story points the Development team can complete in a Sprint.
When writing a User Story the Product Owner can follow Bill Wakes INVEST methodology as a guide. What is INVEST?
I: Independent. Good User Stories are independent and can be delivered separately from other stories and have value by itself. N: Negotiable. Until the User Story is committed for work, it can be rewritten, changed or cancelled at any time. V: Valuable. User Stories must be valuable. It delivers value for the Product Owner, stakeholders and customers. E: Estimable. You must be able to estimate the size of the User Story in Story Points. That means the User Story is descriptive enough, so, you know what has to be done to finish it. S: Small. User Stories must be small enough to be completed in one Sprint. T: Testable. The User Story provides enough information that you can develop tests for it.
How does SCRUM work?
It works by breaking projects down into smaller bits of user functionality represented by Epics and User Stories.
What is Agile in Software Development?
It's a methodology that has an iterative approach to development, building and releasing software incrementally from the start of the project rather than trying to deliver everything at once. This iterative approach involves: - Planning a development iteration - Implementing the work planned for that iteration - Delivering a version of the product thus that feedback can be gathered and used to plan the next iteration This process continues until the product is fully polished. This process allows the team to adapt to changing requirements. This frequent delivery of the product results in customer satisfaction as they are able to monitor the progress of development and are able to test and provide feedback early on, thereby ensuring that their requirements are met and the team is on track. The goal is to keep requirements and documentation lightweight and flexible, and this can only be achieved by ensuring close collaboration between team members, especially between business people and the developers.
How does Kanban differ from SCRUM?
Kanban does not have Sprints.
What is the SCRUM approach to project success?
On a project team, the goal is to get the project done. Historically, using traditional methods, this meant planning and designing the whole project at the beginning and sticking to that plan with no variation. In real life, project work is completely unpredictable. The Agile Project Management movement comes out of a desire to adapt in real time to the changing circumstances that teams face. So instead of focusing on the entire project, you focus on small milestones and deliverables, focusing on one goal until its done.
What are SCRUM roles and their responsibilities?
Product Owner: - Defines vision of the product - What should be built and why - The Product Owner is responsible for defining what goes into the Product Backlog - The Product Owner creates User Stories, prioritizes them and ensures they are groomed with all relevant details Development Team: - Builds the product SCRUM Master: - Facilitates the SCRUM process
How does SCRUM and the Agile manifesto work together?
SCRUM takes the Agile manifesto and its key principles and boils them down to a very simple framework that encourages small scale focus and rapid learning cycles. The framework is designed to encourage one continuous, fast feedback loop.
With Agile, what constraint: time, cost, or scope became flexible?
Scope: - You can have this team: cost - For this long: time - You can build whatever you believe is most valuable
Who all should be part of the Standup?
Simply put, everyone: - Developers - Testers - Product Owners - SCRUM Master
What are SCRUM Events?
Sprint Planning: - The Sprint Planning is where the Sprint Backlog is created by selecting the fully groomed and highest priority features from the Product Backlog that the Development team can work on during the next Sprint. - The Development team then goes ahead and provides their estimates for time and effort to implement the features. This happens during a Sprint Planning Meeting. Estimates can be in hours or story points. Story point estimates is done where estimates are made relative to the smallest component or item with a known level of difficulty. Daily SCRUM Meetings: - What I did yesterday - What I plan to do today - Do I have any blockers - If a Development member is blocked, the SCRUM Master can step in to help get that Development member unblocked Sprint Review & Retrospective: - Review: What was completed/not completed - Retrospective: What went well during the Sprint and what could be improved for the next Sprint
How are Stories defined?
Stories are typically defined by: - Specifying the type of user involved - What the user is trying to achieve - The benefit for achieving it
What is a Burndown Chart?
The Burndown Chart is used by the team to measure how well the Development team is executing the Sprint. Where the Task Board tells you about task completion, it doesn't tell you how that compares to where the Development team is in the Sprint, a Burndown Chart does that. Ideally, the Burndown Chart should run in a linear fashion.
What is a Minimum Viable Product (MVP)
The MVP is the destination contained within the vision. It's about developing a product just enough to get out the door for early adopters. This will allow feedback to be received from end users.
What are the Product Owner (PO) Responsibilities?
The PO is the keeper of the product vision and defines and manages the backlog of work to be done and the prioritization of the work items. The PO focuses on what needs to be done. - Acts as the full-time business representative - Reviews the team's work - Ensures the highest value is delivered - Interacts with stakeholders - Maintains the product vision
In SCRUM what is a Release Plan?
The Release Plan is a high-level plan that's meant to connect the Roadmap to the Sprints. It provides visibility to how the team will deliver.
In SCRUM what is a Roadmap?
The Roadmap is very high-level, and is intended to apply your themes over time. This way, everyone has a general sense of what the focus will be in a given timeframe.
In SCRUM, the Product Owner is accountable to whom?
The team and Stackholders.
What are the SCRUM Master Responsibilities?
To counterbalance the PO responsibilities. The SCRUM Master focuses on how the team does the work. - Protect the team and the process. - Keeps the team working at a sustainable pace - Acts as a spokesperson for the team - Helps remove any roadblocks - Holds the team accountable to the PO
What is the purpose of Kanban?
To have a smooth flow of work from start to completion without any stoppage or bottlenecks. This would be represented through a Kanban board, where the goal is to move all work items from left to right, from start to end. The teams can limit the number of work items found on each column of the Kanban board. These limits represent the capacity of the team.
What is Acceptance Criteria (AC)?
User Stories are not enough. Each User Story must also have Acceptance Criteria. The Acceptance Criteria is the most powerful tool the team has to reduce errors in getting a User Story done. Whenever a User Story is written, the Product Owner and the team collaborate to determine the Acceptance Criteria for the User Story. So each User Story has its own unique Acceptance Criteria. The Acceptance Criteria should be as explicit as possible. So all parties on the team know what done truly means.
Why does Waterfall not work in software?
Waterfall methodologies do not work in software development because of their empirical nature. You cannot upfront plan for the process of discovery. Traditionally, Waterfall project teams face three constraints: time, cost, and scope. They are unable to change any of these once the project starts. The problem is during the course of a project the business environment changes around you. This means by the time you're done what you built is no longer valuable. Business needs are changing more rapidly than ever. Project requirements are shifting just as quickly to keep up.