Merge branch 'master' of github.com:bike-bill/readyset-gfm.wiki

This commit is contained in:
William Sandner 2023-11-17 18:06:44 +01:00
commit 5438289227
3 changed files with 636 additions and 170 deletions

11
.vscode/settings.json vendored
View File

@ -1,7 +1,16 @@
{
"markdownlint.config": {},
"cSpell.words": [
"accountabilities",
"Burndown",
"JDBC"
"inspectable",
"JDBC",
"McKenna",
"Newspage",
"OOPSLA",
"Schwaber",
"Scumniotales",
"timebox",
"timeboxed"
]
}

264
SDM.md
View File

@ -9,8 +9,11 @@
###### Related Documents
- ::LINKS TO RELEVANT STANDARDS
- ::LINKS TO OTHER DOCUMENTS
- [The Scrum Guide](https://www.scrumguides.org/scrum-guide.html)
- [The Agile Manifesto](https://agilemanifesto.org)
- [Agile Documentation: Methodology & Best Practices](https://document360.com/blog/agile-documentation)
- [Scrum Documentation Template](https://www.infotech.com/research/scrum-documentation-template)
- [What is Agile Scrum Methodology?](https://www.inflectra.com/Methodologies/Scrum.aspx)
- [Glossary](Glossary)
### Table of Contents
@ -128,406 +131,329 @@ The Product Owner represents stakeholders and is accountable for maximizing the
The Development Team consists of professionals who do the work of delivering a potentially releasable Increment of the product at the end of each Sprint. They are self-organizing and cross-functional, meaning they collectively possess all the skills necessary to deliver the product. The Development Team collaborates with the Product Owner to clarify requirements and with the Scrum Master to continually improve their processes.
#### Scrum Artifacts
#### 2.3 Scrum Artifacts
Scrum utilizes three essential artifacts to facilitate a clear understanding of the product being developed and the progress made during the development process:
##### Product Backlog
##### 2.3.1. Product Backlog
- Purpose: The Product Backlog is a dynamic and prioritized list of all the work items (user stories, features, bug fixes, improvements) needed to be completed for the product. It represents the requirements and the vision of the product.
- Importance: The Product Backlog acts as the single source of truth for the development team and stakeholders, ensuring a shared understanding of the product's scope and priorities. It enables transparency and allows for the continuous inspection and adaptation of the project's requirements.
##### Sprint Backlog
##### 2.3.1. Sprint Backlog
- Purpose: The Sprint Backlog is a subset of the Product Backlog that includes the work items selected by the Development Team to complete during a Sprint. It represents the tasks the team commits to accomplishing during the Sprint.
- Importance: The Sprint Backlog is crucial because it helps the Development Team understand what needs to be done during the Sprint. By selecting a set of items from the Product Backlog, the team commits to achieving specific goals within the Sprint. The Sprint Backlog serves as a guide during the Daily Stand-up, where team members can track progress and identify any obstacles or challenges that need to be addressed.
##### Product Increment
##### 2.3.1. Product Increment
- Purpose: The Product Increment is the sum of all the completed and potentially releasable Product Backlog items at the end of a Sprint. It is the tangible output of the team's work during the Sprint.
- Importance: The Product Increment's significance lies in providing a tangible outcome at the end of each Sprint. It allows stakeholders to see and experience the value delivered by the team continuously. A well-defined Increment, meeting the Definition of Done, demonstrates the team's ability to deliver a functional and potentially releasable product at regular intervals, even if the decision to release it or not is made by the Product Owner. This fosters trust, transparency, and collaboration between the team and stakeholders.
Overall, these artifacts promote transparency, collaboration, and continuous improvement throughout the software development process. By providing a clear vision of the project, measurable goals for each Sprint, and tangible outcomes, the Scrum artifacts enable effective decision-making, alignment, and value delivery.
#### Scrum Events
#### 2.4 Scrum Events
##### Sprint Planning
##### 2.4.1 Sprint Planning
- Objective: The primary objective of Sprint Planning is to define what the Development Team will work on during the upcoming Sprint. It involves collaborative discussions between the Product Owner and the Development Team to select the most valuable Product Backlog items to be delivered in the Sprint.
- Contribution to Team's Success: Sprint Planning ensures that the team has a clear understanding of the Sprint Goal and the scope of work for the Sprint. By collaboratively selecting and committing to work items, the team gains a sense of ownership and accountability for achieving the Sprint Goal. This event sets the direction for the Sprint and helps the team stay focused on delivering the highest value increments.
##### Daily Stand-up (Daily Scrum)
##### 2.4.1 Daily Stand-up (Daily Scrum)
- Objective: The Daily Stand-up is a short, time-boxed meeting held every day during the Sprint. The objective is to facilitate communication and collaboration within the Development Team by providing a forum to share progress, discuss any impediments, and synchronize efforts.
- Contribution to Team's Success: The Daily Stand-up promotes transparency and fosters a shared understanding of the team's progress and challenges. It enables quick identification and resolution of obstacles, promoting a sense of teamwork and collective accountability. The event helps the team stay on track towards achieving the Sprint Goal, and it encourages a culture of continuous improvement by addressing issues as they arise.
##### Sprint Review
##### 2.4.3 Sprint Review
- Objective: The Sprint Review is held at the end of the Sprint and involves a demo of the Product Increment completed during the Sprint. The Product Owner, stakeholders, and the Development Team collaborate to inspect the Increment and provide feedback.
- Contribution to Team's Success: The Sprint Review ensures that the Product Increment aligns with stakeholders' expectations and provides valuable insights for future improvements. Feedback from stakeholders helps the Development Team understand the product's evolving requirements and refine the Product Backlog accordingly. It also fosters transparency and builds trust between the team and stakeholders.
##### Sprint Retrospective
##### 2.4.4 Sprint Retrospective
- Objective: The Sprint Retrospective is a time-boxed meeting held after the Sprint Review, where the Development Team reflects on the Sprint's processes, actions, and collaboration. The team identifies strengths and areas for improvement to enhance future Sprints.
- Contribution to Team's Success: The Sprint Retrospective promotes a culture of continuous improvement by encouraging the team to inspect their processes and adapt accordingly. By addressing challenges and building on successes, the team can become more efficient and effective over time. The retrospective also allows team members to voice concerns, identify bottlenecks, and make necessary adjustments to work collaboratively.
### Scrum Team Establishment
### 3. Scrum Team Establishment
#### Team Formation
#### 3.1 Team Formation
Forming a successful Scrum Team is a crucial aspect of implementing Scrum effectively. The Scrum Team is a self-organizing and cross-functional group responsible for delivering the product increment. Here's a step-by-step explanation of how the Scrum Team will be formed, including selecting team members with the right skills and expertise for the project:
##### Define Project Needs and Scope
##### 3.1.1 Define Project Needs and Scope
Begin by defining the project's needs, objectives, and scope in collaboration with the Product Owner and relevant stakeholders. Understanding the project's requirements will help in identifying the necessary skills and expertise.
##### Identify Core Scrum Roles
##### 3.1.2 Identify Core Scrum Roles
Identify the core Scrum roles within the Scrum Team: the Product Owner, Scrum Master, and Development Team. Each role has distinct responsibilities that contribute to the project's success.
##### Assess Required Skills and Competencies
##### 3.1.3 Assess Required Skills and Competencies
Determine the skills and competencies required for the project's successful execution. This assessment should align with the product vision and the items in the Product Backlog.
##### Cross-Functional Expertise
##### 3.1.4 Cross-Functional Expertise
Ensure that the Scrum Team is cross-functional, meaning it possesses all the skills necessary to deliver the product increment. Look for team members who have diverse skills, such as design, development, testing, user experience, etc.
##### Collaborative Team Building
##### 3.1.5 Collaborative Team Building
Team building should be a collaborative process involving the Product Owner, Scrum Master, and any existing team members. If the team is new, involve stakeholders or subject matter experts as needed.
##### Skill Gap Analysis
##### 3.1.6 Skill Gap Analysis
Conduct a skill gap analysis to identify any areas where expertise may be lacking within the team. Address these gaps by either hiring new team members or providing training to existing ones.
##### Identify Potential Team Members
##### 3.1.7 Identify Potential Team Members
Identify potential team members based on their expertise, experience, and track record of successful project delivery. Look for individuals with a proven ability to work well in collaborative, Agile environments.
##### Soft Skills and Collaboration
##### 3.1.8 Soft Skills and Collaboration
Consider the soft skills of potential team members, such as communication, adaptability, and teamwork. Effective collaboration and communication are crucial for a high-performing Scrum Team.
##### Balancing Workload
##### 3.1.9 Balancing Workload
Ensure a balanced workload among team members to avoid overburdening individuals and to maintain sustainable pace throughout the project.
##### Commitment and Empowerment
##### 3.1.10 Commitment and Empowerment
Select team members who are committed to the project's success and embrace the values and principles of Scrum. Empowerment and a sense of ownership are essential for a self-organizing team.
##### Formalize Roles and Responsibilities
##### 3.1.11 Formalize Roles and Responsibilities
Once the Scrum Team members are selected, formalize their roles and responsibilities to establish clear expectations and promote accountability.
##### Scrum Team Continuous Improvement
##### 3.1.12 Continuous Improvement
The Scrum Team is not static, and continuous improvement is vital. Regularly inspect team dynamics and performance during Sprint Retrospectives and make necessary adjustments to optimize effectiveness.
##### Promote Trust and Collaboration
##### 3.1.13 Promote Trust and Collaboration
Foster a culture of trust, openness, and collaboration within the Scrum Team and with stakeholders. Encourage a safe environment for feedback and ideas.
Forming the Scrum Team with the right mix of skills, expertise, and collaboration is fundamental to the project's success. A well-formed Scrum Team, working together cohesively and empowered to make decisions, will enhance the chances of delivering a high-quality product increment and achieving project goals.
#### Team Collaboration
#### 3.2 Team Collaboration
Ensuring effective collaboration within the Scrum Team is essential to achieve cross-functionality and a shared understanding of project goals. Here's an explanation of how the team will collaborate to achieve these objectives:
##### Cross-Functional Team
##### 3.2.1 Cross-Functional Team
The Scrum Team is designed to be cross-functional, meaning that it possesses all the skills and expertise required to deliver the product increment. This includes skills such as development, testing, design, user experience, and any other necessary disciplines. By having a diverse range of skills within the team, members can collaborate and contribute to different aspects of the project.
##### Collaborative Environment
##### 3.2.2 Collaborative Environment
Create a collaborative work environment where team members feel comfortable sharing ideas, discussing challenges, and seeking help from each other. Encourage open communication, active listening, and a culture of respect and trust among team members.
##### Sprint Planning Collaboration
##### 3.2.3 Sprint Planning
During Sprint Planning, the Product Owner collaborates with the Development Team to discuss the items from the Product Backlog and define the Sprint Goal. The team members contribute their insights, estimations, and concerns to ensure a shared understanding of what needs to be achieved in the upcoming Sprint.
##### Definition of Done (DoD)
##### 3.2.4 Definition of Done (DoD)
Establish a clear and agreed-upon Definition of Done that defines the criteria for a Product Backlog item to be considered complete. This shared understanding ensures that all team members know what is expected and can work together to meet the DoD for each increment.
##### Daily Stand-up
##### 3.2.5 Daily Stand-up
Conduct Daily Stand-up meetings to promote collaboration and transparency within the team. Each team member briefly shares their progress, challenges, and plans for the day. The stand-up allows the team to identify any impediments or dependencies that require collective attention.
##### Pair Programming and Peer Reviews
##### 3.2.6 Pair Programming and Peer Reviews
Encourage pair programming, where two team members work together on the same piece of code, which fosters knowledge sharing and ensures higher code quality. Additionally, promote peer reviews of code, design, and other artifacts to leverage collective expertise and maintain high standards.
##### Sprint Review Collaboration
##### 3.2.7 Sprint Review
The Sprint Review is an opportunity for the team to collaborate with stakeholders to demonstrate the completed increment and gather feedback. Collaboration during this event helps validate that the product increment aligns with stakeholder expectations.
#### Sprint Retrospective Collaboration
#### 3.2.8 Sprint Retrospective
The Sprint Retrospective allows the team to reflect on their processes and collaboration during the Sprint. Team members discuss what went well, what could be improved, and any action items to enhance collaboration and productivity.
##### Continuous Improvement Collaboration
##### 3.2.9 Continuous Improvement
Emphasize the value of continuous improvement within the team. Encourage team members to propose process improvements, experiment with new approaches, and learn from both successes and failures.
##### Knowledge Sharing
##### 3.2.10 Knowledge Sharing
Organize knowledge sharing sessions or workshops within the team to facilitate the transfer of expertise and best practices. Cross-training and skill development initiatives ensure that team members can contribute effectively in different areas.
##### Agile Ceremonies and Artifacts
##### 3.2.11 Agile Ceremonies and Artifacts
Use Agile ceremonies (e.g., Sprint Planning, Daily Stand-up, Sprint Review, and Sprint Retrospective) and Scrum artifacts (e.g., Product Backlog, Sprint Backlog) as tools for collaboration, transparency, and continuous alignment with project goals.
By fostering a collaborative environment, promoting cross-functional expertise, and leveraging Agile practices, the Scrum Team can ensure effective collaboration, shared understanding of project goals, and a focus on delivering high-quality increments that meet the needs of stakeholders. Collaboration within the team is a cornerstone of Scrum, enabling it to adapt and succeed in a dynamic and changing environment.
### Scrum Process Flow
### 4. Scrum Process Flow
#### Product Backlog Management
#### 4.1 Product Backlog Management
##### Creating the Product Backlog
##### 4.1.1 Creating the Product Backlog
The Product Backlog is a dynamic and evolving list of all the work items needed to deliver the product. It is created during the initial stages of the project, driven by the product vision, user needs, and stakeholder requirements. Input from stakeholders, customers, market research, and the team's expertise contribute to populating the Product Backlog.
##### Prioritizing the Product Backlog
##### 4.1.2 Prioritizing the Product Backlog
The Product Backlog items are prioritized based on their business value, customer needs, market demands, technical dependencies, and risks. The Product Owner plays a critical role in setting the priorities, aligning with stakeholders, and ensuring that the most valuable items are placed at the top.
##### Refining the Product Backlog
##### 4.1.2 Refining the Product Backlog
Backlog refinement, also known as "Backlog Grooming," is an ongoing process where the Product Owner and the Development Team collaboratively review, revise, and update the Product Backlog. This ensures that the backlog remains relevant, actionable, and ready for Sprint Planning.
##### Involvement of the Product Owner
##### 4.1.3 Involvement of the Product Owner
The Product Owner (PO) is primarily responsible for managing the Product Backlog. Their involvement includes:
- Defining and Communicating Vision: The PO defines the product vision and communicates it to the team and stakeholders. The vision serves as a guide for prioritizing the items in the Product Backlog based on their alignment with the product's overall goals.
- 4.1.3.1 Defining and Communicating Vision: The PO defines the product vision and communicates it to the team and stakeholders. The vision serves as a guide for prioritizing the items in the Product Backlog based on their alignment with the product's overall goals.
- Gathering Stakeholder Requirements: The PO collaborates with stakeholders, customers, and users to understand their needs, requirements, and feedback. They gather input and insights to ensure the Product Backlog reflects the most valuable features and improvements.
- 4.1.3.2 Gathering Stakeholder Requirements: The PO collaborates with stakeholders, customers, and users to understand their needs, requirements, and feedback. They gather input and insights to ensure the Product Backlog reflects the most valuable features and improvements.
- Prioritization: The PO prioritizes the items in the Product Backlog, considering the stakeholders' needs and the product's strategic goals. High-priority items are positioned at the top of the backlog to be addressed earlier.
- 4.1.3.3 Prioritization: The PO prioritizes the items in the Product Backlog, considering the stakeholders' needs and the product's strategic goals. High-priority items are positioned at the top of the backlog to be addressed earlier.
- Continuous Refinement: The PO continuously refines the Product Backlog, ensuring that it contains clear, well-defined, and actionable items. They add new items, revise existing ones, and remove obsolete or less valuable items based on changing priorities and feedback.
- 4.1.3.4 Continuous Refinement: The PO continuously refines the Product Backlog, ensuring that it contains clear, well-defined, and actionable items. They add new items, revise existing ones, and remove obsolete or less valuable items based on changing priorities and feedback.
- Collaboration with the Development Team: The PO collaborates closely with the Development Team to provide clarifications on requirements and answer questions during backlog refinement. This ensures that the team has a clear understanding of the items before Sprint Planning.
- 4.1.3.5 Collaboration with the Development Team: The PO collaborates closely with the Development Team to provide clarifications on requirements and answer questions during backlog refinement. This ensures that the team has a clear understanding of the items before Sprint Planning.
##### Involvement of the Development Team
##### 4.1.4 Involvement of the Development Team
The Development Team plays an active role in Backlog Refinement, ensuring that the items in the Product Backlog are "ready" for Sprint Planning. Their involvement includes:
- Asking Clarifying Questions: During backlog refinement sessions, the Development Team seeks clarifications from the Product Owner regarding the details, acceptance criteria, and expected outcomes of the items.
- 4.1.4.1 Asking Clarifying Questions: During backlog refinement sessions, the Development Team seeks clarifications from the Product Owner regarding the details, acceptance criteria, and expected outcomes of the items.
- Estimating Effort: The Development Team estimates the effort required to implement each item. These estimates help the Product Owner and stakeholders understand the relative size and complexity of the work items.
- 4.1.4.2 Estimating Effort: The Development Team estimates the effort required to implement each item. These estimates help the Product Owner and stakeholders understand the relative size and complexity of the work items.
- Providing Feedback: The Development Team provides feedback on the feasibility, technical constraints, and potential risks associated with the items. They offer insights into alternative approaches or potential improvements to enhance value delivery.
- 4.1.4.3 Providing Feedback: The Development Team provides feedback on the feasibility, technical constraints, and potential risks associated with the items. They offer insights into alternative approaches or potential improvements to enhance value delivery.
- Splitting User Stories: If backlog items are too large or complex, the Development Team collaborates with the Product Owner to split them into smaller, more manageable user stories that can be completed within a single Sprint.
- 4.1.4.4 Splitting User Stories: If backlog items are too large or complex, the Development Team collaborates with the Product Owner to split them into smaller, more manageable user stories that can be completed within a single Sprint.
- Commitment to Deliver: Before Sprint Planning, the Development Team commits to delivering a set of items from the Product Backlog for the upcoming Sprint. This commitment ensures a shared understanding and responsibility for achieving the Sprint Goal.
- 4.1.4.5 Commitment to Deliver: Before Sprint Planning, the Development Team commits to delivering a set of items from the Product Backlog for the upcoming Sprint. This commitment ensures a shared understanding and responsibility for achieving the Sprint Goal.
Through effective collaboration between the Product Owner and the Development Team, the Product Backlog becomes a valuable tool for prioritizing and aligning the team's efforts with the product's vision and objectives. Continuous refinement ensures that the team works on the most valuable and relevant items, contributing to the success of the project.
#### Sprint Planning
#### 4.2 Sprint Planning
Sprint Planning is the first event in each Scrum sprint, and it sets the stage for the entire sprint. During Sprint Planning, the team collaborates to define the work to be completed in the upcoming sprint and creates a plan for how to achieve that work.
::Describe the process of Sprint Planning, including the selection of items from the Product Backlog, defining the Sprint Goal, and creating the Sprint Backlog.
**Objectives of Sprint Planning:**
#### 4.3 Daily Stand-up
* To understand the overall goal of the sprint and the desired outcomes
* To select and prioritize items from the product backlog to work on during the sprint
* To break down the selected backlog items into manageable tasks
* To estimate the effort required to complete each task
* To create a sprint backlog that outlines the work to be done during the sprint
::Explain how the Daily Stand-up will be conducted, its purpose, and what questions each team member will answer.
**Participants in Sprint Planning:**
* The entire Scrum Team, including the Product Owner, Scrum Master, and Development Team
**Steps in Sprint Planning:**
1. **Review the product backlog:** The Product Owner presents the product backlog to the team and discusses the overall goals and priorities for the upcoming sprint.
2. **Select and prioritize backlog items:** The team collaborates to select a subset of backlog items to work on during the sprint. The Product Owner provides guidance on prioritization based on business value and customer needs.
3. **Break down backlog items into tasks:** The team breaks down the selected backlog items into smaller, more manageable tasks. This involves defining the specific work to be done for each task and ensuring that each task has a clear and measurable outcome.
4. **Estimate effort:** The team estimates the effort required to complete each task. This involves assigning a time value to each task based on the team's experience and understanding of the work.
5. **Create the sprint backlog:** The team compiles the selected backlog items, tasks, and effort estimates into a sprint backlog. The sprint backlog serves as a roadmap for the sprint and provides a clear understanding of the work to be done.
**Outcomes of Sprint Planning:**
* A clear understanding of the sprint goal and desired outcomes
* A prioritized list of tasks for the sprint backlog
* Estimates of effort for each task
* A shared commitment from the team to complete the work in the sprint backlog
**Tips for Effective Sprint Planning:**
* Keep the meeting focused and time-boxed to no more than 4 hours for a two-week sprint.
* Use visual aids, such as whiteboards or online tools, to capture and organize information.
* Encourage active participation from all team members.
* Be realistic about the amount of work that can be completed in the sprint.
* Be prepared to adapt the plan as needed during the sprint.
#### Daily Stand-up
The Daily Stand-up is a short, daily meeting held by Scrum teams to synchronize their work, identify and address any impediments, and ensure that they are on track to achieve the sprint goal. It is typically held at the same time and place each day, and it should not last longer than 15 minutes.
**Purpose of the Daily Stand-up**
The Daily Stand-up serves several important purposes:
* **Synchronization:** It helps team members stay informed about each other's work and ensures that everyone is aligned on the sprint goal.
* **Problem-solving:** It provides a forum for team members to identify and address any impediments that are blocking their progress.
* **Adaptation:** It allows the team to adapt their plan as needed based on new information or changes in priorities.
**Questions for Team Members**
During the Daily Stand-up, each team member will answer three questions:
1. **What did I accomplish yesterday?**
This question helps team members reflect on their progress and share their accomplishments with the team.
2. **What will I work on today?**
This question helps team members communicate their plans for the day and ensure that everyone is working towards the same goal.
3. **Are there any impediments in my way?**
This question helps team members identify any obstacles that are preventing them from making progress and allows the team to work together to find solutions.
**Conducting the Daily Stand-up**
The Daily Stand-up should be a quick and focused meeting. Here are some tips for conducting an effective Daily Stand-up:
* Start on time and end on time.
* Have everyone stand up. This helps to keep the meeting short and focused.
* Follow the three-question format.
* Use a timer to keep the meeting on track.
* Encourage active participation from all team members.
* Address any impediments immediately.
* End the meeting by summarizing the key takeaways.
The Daily Stand-up is a valuable tool for Scrum teams to improve their communication, collaboration, and productivity. By following these tips, you can ensure that your Daily Stand-ups are effective and help your team achieve its goals.
#### Sprint Review
#### 4.4 Sprint Review
::Describe the Sprint Review process, including the demonstration of the Product Increment and gathering feedback from stakeholders.
#### Sprint Retrospective
#### 4.5 Sprint Retrospective
::Explain how the Sprint Retrospective will be conducted to reflect on the previous Sprint and identify areas for improvement.
### Scrum Ceremonies and Artifacts
### 5. Scrum Ceremonies and Artifacts
#### Sprint Backlog
#### 5.1 Sprint Backlog
::Explain how the team will manage and update the Sprint Backlog throughout the Sprint.
#### Definition of Done
#### 5.2 Definition of Done
::Outline the Definition of Done and how it will be applied to ensure the quality of the product increment.
#### Burndown Charts
#### 5.3 Burndown Charts
::Describe the use of Burndown Charts to track progress and identify potential issues during the Sprint.
#### Product Increment
#### 5.4 Product Increment
::Explain how the Product Increment will be reviewed and potentially released after each Sprint.
#### User Stories and Acceptance Criteria
#### 5.5 User Stories and Acceptance Criteria
::Provide guidelines on writing clear and concise User Stories with well-defined Acceptance Criteria.
### Scrum Practices
### 6. Scrum Practices
#### Sprint Length
#### 6.1 Sprint Length
::Explain how the team determined the appropriate Sprint length and the considerations behind the decision.
#### Definition of Ready
#### 6.2 Definition of Ready
::Outline the criteria for User Stories to be considered "Ready" for inclusion in a Sprint.
#### Definition of Done
#### 6.3 Definition of Done
::Explain the team's agreed-upon Definition of Done for User Stories and increments.
#### Sprint Backlog Refinement
#### 6.4 Sprint Backlog Refinement
::Describe how the team will conduct Sprint Backlog Refinement meetings to ensure that backlog items are ready for Sprint Planning.
#### Release Management
#### 6.5 Release Management
::Outline how the team plans and executes product releases, including Sprint Reviews with stakeholders and customers.
### Monitoring and Metrics
### 7. Monitoring and Metrics
#### Velocity
#### 7.1 Velocity
::Explain how the team will measure and track Velocity to forecast future Sprint capacity.
#### Sprint Burndown
#### 7.2 Sprint Burndown
::Describe how the team will use the Sprint Burndown chart to monitor progress during the Sprint.
#### Release Burndown
#### 7.3 Release Burndown
::Explain how the team will use the Release Burndown chart to track progress towards achieving project milestones.
#### Cumulative Flow Diagram
#### 7.4 Cumulative Flow Diagram
::Describe how the Cumulative Flow Diagram will be used to visualize work in progress and identify bottlenecks.
#### Sprint Retrospective Actions
#### 7.5 Sprint Retrospective Actions
::Explain how the team will use Sprint Retrospective outcomes to implement improvements and action items.
### Communication and Collaboration
### 8. Communication and Collaboration
#### Daily Stand-up Guidelines
#### 8.1 Daily Stand-up Guidelines
::Provide guidelines for conducting effective Daily Stand-up meetings, including the recommended time and format.
#### Sprint Review Guidelines
#### 8.2 Sprint Review Guidelines
::Outline the structure and objectives of Sprint Review meetings and how stakeholders' feedback will be collected.
#### Sprint Retrospective Guidelines
#### 8.3 Sprint Retrospective Guidelines
::Explain how the team will facilitate Sprint Retrospectives to encourage open feedback and identify areas for continuous improvement.
#### Collaborative Tools
#### 8.4 Collaborative Tools
::List the tools and technologies that the team will use to facilitate collaboration and communication within the team.
### Scrum in the Organization
### 9. Scrum in the Organization
#### Integrating Scrum with Existing Processes
#### 9.1 Integrating Scrum with Existing Processes
::Describe how Scrum will integrate with other existing organizational processes to ensure smooth collaboration.
#### Scrum and Project Management
#### 9.2 Scrum and Project Management
::Explain the relationship between Scrum and project management, and how the Scrum framework will be used to manage projects effectively.
#### Scrum and Product Management
#### 9.3 Scrum and Product Management
::Describe how Scrum will collaborate with product management to ensure the alignment of product vision and development efforts.
### Conclusion
### 10. Conclusion
#### Summary
#### 10.1 Summary
::Provide a summary of the key points covered in this document, emphasizing the benefits and expected outcomes of adopting Scrum.
#### Conclusion: Continuous Improvement
#### 10.2 Continuous Improvement
::Reiterate the importance of continuous improvement and the team's commitment to inspecting and adapting its practices.
#### Acknowledgments
#### 10.3 Acknowledgments
::Acknowledge the contributions of team members, stakeholders, and others who have supported the adoption of Scrum within the organization.

531
Scrum-Guide.md Normal file
View File

@ -0,0 +1,531 @@
# The Scrum Guide
## The Definitive Guide to Scrum: The Rules of the Game
## Ken Schwaber & Jeff Sutherland
## November 2020
## Purpose of the Scrum Guide
We developed Scrum in the early 1990s. We wrote the first version of the Scrum Guide in 2010 to help
people worldwide understand Scrum. We have evolved the Guide since then through small, functional
updates. Together, we stand behind it.
The Scrum Guide contains the definition of Scrum. Each element of the framework serves a specific
purpose that is essential to the overall value and results realized with Scrum. Changing the core design
or ideas of Scrum, leaving out elements, or not following the rules of Scrum, covers up problems and
limits the benefits of Scrum, potentially even rendering it useless.
We follow the growing use of Scrum within an ever-growing complex world. We are humbled to see
Scrum being adopted in many domains holding essentially complex work, beyond software product
development where Scrum has its roots. As Scrums use spreads, developers, researchers, analysts,
scientists, and other specialists do the work. We use the word “developers” in Scrum not to exclude,
but to simplify. If you get value from Scrum, consider yourself included.
As Scrum is being used, patterns, processes, and insights that fit the Scrum framework as described in
this document, may be found, applied and devised. Their description is beyond the purpose of the
Scrum Guide because they are context sensitive and differ widely between Scrum uses. Such tactics for
using within the Scrum framework vary widely and are described elsewhere.
Ken Schwaber & Jeff Sutherland November 2020
```markdown
© 2020 Ken Schwaber and Jeff Sutherland
```
```markdown
This publication is offered for license under the Attribution Share-Alike license of Creative Commons,
accessible at https://creativecommons.org/licenses/by-sa/4.0/legalcode and also described in summary
form at https://creativecommons.org/licenses/by-sa/4.0/. By utilizing this Scrum Guide, you
acknowledge and agree that you have read and agree to be bound by the terms of the Attribution
Share-Alike license of Creative Commons.
```
- Purpose of the Scrum Guide
- Scrum Definition
- Scrum Theory
- Transparency
- Inspection
- Adaptation
- Scrum Values
- Scrum Team
- Developers
- Product Owner
- Scrum Master
- Scrum Events
- The Sprint
- Sprint Planning
- Daily Scrum
- Sprint Review
- Sprint Retrospective
- Scrum Artifacts
- Product Backlog
- Commitment: Product Goal
- Sprint Backlog
- Commitment: Sprint Goal
- Increment
- Commitment: Definition of Done
- End Note
- Acknowledgements
- People
- Scrum Guide History
## Scrum Definition
Scrum is a lightweight framework that helps people, teams and organizations generate value through
adaptive solutions for complex problems.
In a nutshell, Scrum requires a Scrum Master to foster an environment where:
1. A Product Owner orders the work for a complex problem into a Product Backlog.
2. The Scrum Team turns a selection of the work into an Increment of value during a Sprint.
3. The Scrum Team and its stakeholders inspect the results and adjust for the next Sprint.
4. _Repeat_
Scrum is simple. Try it as is and determine if its philosophy, theory, and structure help to achieve goals
and create value. The Scrum framework is purposefully incomplete, only defining the parts required to
implement Scrum theory. Scrum is built upon by the collective intelligence of the people using it. Rather
than provide people with detailed instructions, the rules of Scrum guide their relationships and
interactions.
Various processes, techniques and methods can be employed within the framework. Scrum wraps
around existing practices or renders them unnecessary. Scrum makes visible the relative efficacy of
current management, environment, and work techniques, so that improvements can be made.
## Scrum Theory
Scrum is founded on empiricism and lean thinking. Empiricism asserts that knowledge comes from
experience and making decisions based on what is observed. Lean thinking reduces waste and focuses
on the essentials.
Scrum employs an iterative, incremental approach to optimize predictability and to control risk. Scrum
engages groups of people who collectively have all the skills and expertise to do the work and share or
acquire such skills as needed.
Scrum combines four formal events for inspection and adaptation within a containing event, the Sprint.
These events work because they implement the empirical Scrum pillars of transparency, inspection, and
adaptation.
### Transparency
The emergent process and work must be visible to those performing the work as well as those receiving
the work. With Scrum, important decisions are based on the perceived state of its three formal artifacts.
Artifacts that have low transparency can lead to decisions that diminish value and increase risk.
Transparency enables inspection. Inspection without transparency is misleading and wasteful.
### Inspection
The Scrum artifacts and the progress toward agreed goals must be inspected frequently and diligently to
detect potentially undesirable variances or problems. To help with inspection, Scrum provides cadence
in the form of its five events.
Inspection enables adaptation. Inspection without adaptation is considered pointless. Scrum events are
designed to provoke change.
### Adaptation
If any aspects of a process deviate outside acceptable limits or if the resulting product is unacceptable,
the process being applied or the materials being produced must be adjusted. The adjustment must be
made as soon as possible to minimize further deviation.
Adaptation becomes more difficult when the people involved are not empowered or self-managing. A
Scrum Team is expected to adapt the moment it learns anything new through inspection.
## Scrum Values
Successful use of Scrum depends on people becoming more proficient in living five values:
```markdown
Commitment, Focus, Openness, Respect, and Courage
```
The Scrum Team commits to achieving its goals and to supporting each other. Their primary focus is on
the work of the Sprint to make the best possible progress toward these goals. The Scrum Team and its
stakeholders are open about the work and the challenges. Scrum Team members respect each other to
be capable, independent people, and are respected as such by the people with whom they work. The
Scrum Team members have the courage to do the right thing, to work on tough problems.
These values give direction to the Scrum Team with regard to their work, actions, and behavior. The
decisions that are made, the steps taken, and the way Scrum is used should reinforce these values, not
diminish or undermine them. The Scrum Team members learn and explore the values as they work with
the Scrum events and artifacts. When these values are embodied by the Scrum Team and the people
they work with, the empirical Scrum pillars of transparency, inspection, and adaptation come to life
building trust.
## Scrum Team
The fundamental unit of Scrum is a small team of people, a Scrum Team. The Scrum Team consists of
one Scrum Master, one Product Owner, and Developers. Within a Scrum Team, there are no sub-teams
or hierarchies. It is a cohesive unit of professionals focused on one objective at a time, the Product Goal.
Scrum Teams are cross-functional, meaning the members have all the skills necessary to create value
each Sprint. They are also self-managing, meaning they internally decide who does what, when, and
how.
The Scrum Team is small enough to remain nimble and large enough to complete significant work within
a Sprint, typically 10 or fewer people. In general, we have found that smaller teams communicate better
and are more productive. If Scrum Teams become too large, they should consider reorganizing into
multiple cohesive Scrum Teams, each focused on the same product. Therefore, they should share the
same Product Goal, Product Backlog, and Product Owner.
The Scrum Team is responsible for all product-related activities from stakeholder collaboration,
verification, maintenance, operation, experimentation, research and development, and anything else
that might be required. They are structured and empowered by the organization to manage their own
work. Working in Sprints at a sustainable pace improves the Scrum Teams focus and consistency.
The entire Scrum Team is accountable for creating a valuable, useful Increment every Sprint. Scrum
defines three specific accountabilities within the Scrum Team: the Developers, the Product Owner, and
the Scrum Master.
### Developers
Developers are the people in the Scrum Team that are committed to creating any aspect of a usable
Increment each Sprint.
The specific skills needed by the Developers are often broad and will vary with the domain of work.
However, the Developers are always accountable for:
```markdown
- Creating a plan for the Sprint, the Sprint Backlog;
- Instilling quality by adhering to a Definition of Done;
- Adapting their plan each day toward the Sprint Goal; and,
- Holding each other accountable as professionals.
```
### Product Owner
The Product Owner is accountable for maximizing the value of the product resulting from the work of
the Scrum Team. How this is done may vary widely across organizations, Scrum Teams, and individuals.
The Product Owner is also accountable for effective Product Backlog management, which includes:
```markdown
- Developing and explicitly communicating the Product Goal;
- Creating and clearly communicating Product Backlog items;
- Ordering Product Backlog items; and,
- Ensuring that the Product Backlog is transparent, visible and understood.
```
The Product Owner may do the above work or may delegate the responsibility to others. Regardless, the
Product Owner remains accountable.
For Product Owners to succeed, the entire organization must respect their decisions. These decisions
are visible in the content and ordering of the Product Backlog, and through the inspectable increment at
the Sprint Review.
The Product Owner is one person, not a committee. The Product Owner may represent the needs of
many stakeholders in the Product Backlog. Those wanting to change the Product Backlog can do so by
trying to convince the Product Owner.
### Scrum Master
The Scrum Master is accountable for establishing Scrum as defined in the Scrum Guide. They do this by
helping everyone understand Scrum theory and practice, both within the Scrum Team and the
organization.
The Scrum Master is accountable for the Scrum Teams effectiveness. They do this by enabling the
Scrum Team to improve its practices, within the Scrum framework.
Scrum Masters are true leaders who serve the Scrum Team and the larger organization.
The Scrum Master serves the Scrum Team in several ways, including:
```markdown
- Coaching the team members in self-management and cross-functionality;
- Helping the Scrum Team focus on creating high-value Increments that meet the Definition of
Done;
- Causing the removal of impediments to the Scrum Teams progress; and,
- Ensuring that all Scrum events take place and are positive, productive, and kept within the
timebox.
```
The Scrum Master serves the Product Owner in several ways, including:
```markdown
- Helping find techniques for effective Product Goal definition and Product Backlog management;
- Helping the Scrum Team understand the need for clear and concise Product Backlog items;
- Helping establish empirical product planning for a complex environment; and,
- Facilitating stakeholder collaboration as requested or needed.
```
The Scrum Master serves the organization in several ways, including:
```markdown
- Leading, training, and coaching the organization in its Scrum adoption;
- Planning and advising Scrum implementations within the organization;
- Helping employees and stakeholders understand and enact an empirical approach for complex
work; and,
- Removing barriers between stakeholders and Scrum Teams.
```
## Scrum Events
The Sprint is a container for all other events. Each event in Scrum is a formal opportunity to inspect and
adapt Scrum artifacts. These events are specifically designed to enable the transparency required.
Failure to operate any events as prescribed results in lost opportunities to inspect and adapt. Events are
used in Scrum to create regularity and to minimize the need for meetings not defined in Scrum.
Optimally, all events are held at the same time and place to reduce complexity.
### The Sprint
Sprints are the heartbeat of Scrum, where ideas are turned into value.
They are fixed length events of one month or less to create consistency. A new Sprint starts immediately
after the conclusion of the previous Sprint.
All the work necessary to achieve the Product Goal, including Sprint Planning, Daily Scrums, Sprint
Review, and Sprint Retrospective, happen within Sprints.
During the Sprint:
```markdown
- No changes are made that would endanger the Sprint Goal;
- Quality does not decrease;
- The Product Backlog is refined as needed; and,
- Scope may be clarified and renegotiated with the Product Owner as more is learned.
```
Sprints enable predictability by ensuring inspection and adaptation of progress toward a Product Goal at
least every calendar month. When a Sprints horizon is too long the Sprint Goal may become invalid,
complexity may rise, and risk may increase. Shorter Sprints can be employed to generate more learning
cycles and limit risk of cost and effort to a smaller time frame. Each Sprint may be considered a short
project.
Various practices exist to forecast progress, like burn-downs, burn-ups, or cumulative flows. While
proven useful, these do not replace the importance of empiricism. In complex environments, what will
happen is unknown. Only what has already happened may be used for forward-looking decision making.
A Sprint could be cancelled if the Sprint Goal becomes obsolete. Only the Product Owner has the
authority to cancel the Sprint.
### Sprint Planning
Sprint Planning initiates the Sprint by laying out the work to be performed for the Sprint. This resulting
plan is created by the collaborative work of the entire Scrum Team.
The Product Owner ensures that attendees are prepared to discuss the most important Product Backlog
items and how they map to the Product Goal. The Scrum Team may also invite other people to attend
Sprint Planning to provide advice.
Sprint Planning addresses the following topics:
Topic One: Why is this Sprint valuable?
The Product Owner proposes how the product could increase its value and utility in the current Sprint.
The whole Scrum Team then collaborates to define a Sprint Goal that communicates why the Sprint is
valuable to stakeholders. The Sprint Goal must be finalized prior to the end of Sprint Planning.
Topic Two: What can be Done this Sprint?
Through discussion with the Product Owner, the Developers select items from the Product Backlog to
include in the current Sprint. The Scrum Team may refine these items during this process, which
increases understanding and confidence.
Selecting how much can be completed within a Sprint may be challenging. However, the more the
Developers know about their past performance, their upcoming capacity, and their Definition of Done,
the more confident they will be in their Sprint forecasts.
Topic Three: How will the chosen work get done?
For each selected Product Backlog item, the Developers plan the work necessary to create an Increment
that meets the Definition of Done. This is often done by decomposing Product Backlog items into
smaller work items of one day or less. How this is done is at the sole discretion of the Developers. No
one else tells them how to turn Product Backlog items into Increments of value.
The Sprint Goal, the Product Backlog items selected for the Sprint, plus the plan for delivering them are
together referred to as the Sprint Backlog.
Sprint Planning is timeboxed to a maximum of eight hours for a one-month Sprint. For shorter Sprints,
the event is usually shorter.
### Daily Scrum
The purpose of the Daily Scrum is to inspect progress toward the Sprint Goal and adapt the Sprint
Backlog as necessary, adjusting the upcoming planned work.
The Daily Scrum is a 15-minute event for the Developers of the Scrum Team. To reduce complexity, it is
held at the same time and place every working day of the Sprint. If the Product Owner or Scrum Master
are actively working on items in the Sprint Backlog, they participate as Developers.
The Developers can select whatever structure and techniques they want, as long as their Daily Scrum
focuses on progress toward the Sprint Goal and produces an actionable plan for the next day of work.
This creates focus and improves self-management.
Daily Scrums improve communications, identify impediments, promote quick decision-making, and
consequently eliminate the need for other meetings.
The Daily Scrum is not the only time Developers are allowed to adjust their plan. They often meet
throughout the day for more detailed discussions about adapting or re-planning the rest of the Sprints
work.
### Sprint Review
The purpose of the Sprint Review is to inspect the outcome of the Sprint and determine future
adaptations. The Scrum Team presents the results of their work to key stakeholders and progress
toward the Product Goal is discussed.
During the event, the Scrum Team and stakeholders review what was accomplished in the Sprint and
what has changed in their environment. Based on this information, attendees collaborate on what to do
next. The Product Backlog may also be adjusted to meet new opportunities. The Sprint Review is a
working session and the Scrum Team should avoid limiting it to a presentation.
The Sprint Review is the second to last event of the Sprint and is timeboxed to a maximum of four hours
for a one-month Sprint. For shorter Sprints, the event is usually shorter.
### Sprint Retrospective
The purpose of the Sprint Retrospective is to plan ways to increase quality and effectiveness.
The Scrum Team inspects how the last Sprint went with regards to individuals, interactions, processes,
tools, and their Definition of Done. Inspected elements often vary with the domain of work.
Assumptions that led them astray are identified and their origins explored. The Scrum Team discusses
what went well during the Sprint, what problems it encountered, and how those problems were (or
were not) solved.
The Scrum Team identifies the most helpful changes to improve its effectiveness. The most impactful
improvements are addressed as soon as possible. They may even be added to the Sprint Backlog for the
next Sprint.
The Sprint Retrospective concludes the Sprint. It is timeboxed to a maximum of three hours for a one-
month Sprint. For shorter Sprints, the event is usually shorter.
## Scrum Artifacts
Scrums artifacts represent work or value. They are designed to maximize transparency of key
information. Thus, everyone inspecting them has the same basis for adaptation.
Each artifact contains a commitment to ensure it provides information that enhances transparency and
focus against which progress can be measured:
```markdown
- For the Product Backlog it is the Product Goal.
- For the Sprint Backlog it is the Sprint Goal.
- For the Increment it is the Definition of Done.
```
These commitments exist to reinforce empiricism and the Scrum values for the Scrum Team and their
stakeholders.
### Product Backlog
The Product Backlog is an emergent, ordered list of what is needed to improve the product. It is the
single source of work undertaken by the Scrum Team.
Product Backlog items that can be Done by the Scrum Team within one Sprint are deemed ready for
selection in a Sprint Planning event. They usually acquire this degree of transparency after refining
activities. Product Backlog refinement is the act of breaking down and further defining Product Backlog
items into smaller more precise items. This is an ongoing activity to add details, such as a description,
order, and size. Attributes often vary with the domain of work.
The Developers who will be doing the work are responsible for the sizing. The Product Owner may
influence the Developers by helping them understand and select trade-offs.
#### Commitment: Product Goal
The Product Goal describes a future state of the product which can serve as a target for the Scrum Team
to plan against. The Product Goal is in the Product Backlog. The rest of the Product Backlog emerges to
define “what” will fulfill the Product Goal.
```markdown
A product is a vehicle to deliver value. It has a clear boundary, known stakeholders, well-defined
users or customers. A product could be a service, a physical product, or something more abstract.
```
The Product Goal is the long-term objective for the Scrum Team. They must fulfill (or abandon) one
objective before taking on the next.
### Sprint Backlog
The Sprint Backlog is composed of the Sprint Goal (why), the set of Product Backlog items selected for
the Sprint (what), as well as an actionable plan for delivering the Increment (how).
The Sprint Backlog is a plan by and for the Developers. It is a highly visible, real-time picture of the work
that the Developers plan to accomplish during the Sprint in order to achieve the Sprint Goal.
Consequently, the Sprint Backlog is updated throughout the Sprint as more is learned. It should have
enough detail that they can inspect their progress in the Daily Scrum.
#### Commitment: Sprint Goal
The Sprint Goal is the single objective for the Sprint. Although the Sprint Goal is a commitment by the
Developers, it provides flexibility in terms of the exact work needed to achieve it. The Sprint Goal also
creates coherence and focus, encouraging the Scrum Team to work together rather than on separate
initiatives.
The Sprint Goal is created during the Sprint Planning event and then added to the Sprint Backlog. As the
Developers work during the Sprint, they keep the Sprint Goal in mind. If the work turns out to be
different than they expected, they collaborate with the Product Owner to negotiate the scope of the
Sprint Backlog within the Sprint without affecting the Sprint Goal.
### Increment
An Increment is a concrete stepping stone toward the Product Goal. Each Increment is additive to all
prior Increments and thoroughly verified, ensuring that all Increments work together. In order to
provide value, the Increment must be usable.
Multiple Increments may be created within a Sprint. The sum of the Increments is presented at the
Sprint Review thus supporting empiricism. However, an Increment may be delivered to stakeholders
prior to the end of the Sprint. The Sprint Review should never be considered a gate to releasing value.
Work cannot be considered part of an Increment unless it meets the Definition of Done.
#### Commitment: Definition of Done
The Definition of Done is a formal description of the state of the Increment when it meets the quality
measures required for the product.
The moment a Product Backlog item meets the Definition of Done, an Increment is born.
The Definition of Done creates transparency by providing everyone a shared understanding of what
work was completed as part of the Increment. If a Product Backlog item does not meet the Definition of
Done, it cannot be released or even presented at the Sprint Review. Instead, it returns to the Product
Backlog for future consideration.
If the Definition of Done for an increment is part of the standards of the organization, all Scrum Teams
must follow it as a minimum. If it is not an organizational standard, the Scrum Team must create a
Definition of Done appropriate for the product.
The Developers are required to conform to the Definition of Done. If there are multiple Scrum Teams
working together on a product, they must mutually define and comply with the same Definition of Done.
## End Note
Scrum is free and offered in this Guide. The Scrum framework, as outlined herein, is immutable. While
implementing only parts of Scrum is possible, the result is not Scrum. Scrum exists only in its entirety
and functions well as a container for other techniques, methodologies, and practices.
### Acknowledgements
#### People
Of the thousands of people who have contributed to Scrum, we should single out those who were
instrumental at the start: Jeff Sutherland worked with Jeff McKenna and John Scumniotales, and Ken
Schwaber worked with Mike Smith and Chris Martin, and all of them worked together. Many others
contributed in the ensuing years and without their help Scrum would not be refined as it is today.
#### Scrum Guide History
Ken Schwaber and Jeff Sutherland first co-presented Scrum at the OOPSLA Conference in 1995. It
essentially documented the learning that Ken and Jeff gained over the previous few years and made
public the first formal definition of Scrum.
The Scrum Guide documents Scrum as developed, evolved, and sustained for 30-plus years by Jeff
Sutherland and Ken Schwaber. Other sources provide patterns, processes, and insights that complement
the Scrum framework. These may increase productivity, value, creativity, and satisfaction with the
results.
The complete history of Scrum is described elsewhere. To honor the first places where it was tried and
proven, we recognize Individual Inc., Newspage, Fidelity Investments, and IDX (now GE Medical).
```markdown
© 2020 Ken Schwaber and Jeff Sutherland
```
This publication is offered for license under the Attribution Share-Alike license of Creative Commons,
accessible at <https://creativecommons.org/licenses/by-sa/4.0/legalcode> and also described in summary
form at <https://creativecommons.org/licenses/by-sa/4.0/>. By utilizing this Scrum Guide, you
acknowledge and agree that you have read and agree to be bound by the terms of the Attribution
Share-Alike license of Creative Commons.