Scrum Framework is one of the most popular frameworks in Agile Methodology. Most organizations use Scrum as it is easy to understand, lightweight, and can be used to develop complex products incrementally and iteratively. Scrum helps the team to effectively complete products, especially when multiple deliveries and quick turnarounds are necessary for the product. Scrum helps teams to create adaptive solutions for complex problems by generating value through product development and delivery. The Scrum Team consists of the Scrum Master, the Product Owner, and Developers. Team members use various processes, methods, and techniques, to complete a specific product. The product is processed by the collective intelligence of the people as Scrum gives importance more to the relationships and interactions as it is built based on lean thinking and empiricism. Empiricism gives importance to the knowledge which is gained from experience and educates the team members to make decisions based on what is observed by them. Lean Thinking helps the team to decrease the wastes and motivates them to focus on the essentials. Scrum employs an iterative and incremental approach so the predictability could be optimized and the risk is managed.
What is Scrum?
Scrum requires a Scrum Master to facilitate an environment where the Product Owner decides the work required to complete a complex problem and converts it into a Product Backlog. The Scrum Team picks up the items on the Product Backlog into the Sprint Backlog based on the priority of the Product Increments. The items on the Sprint Backlog are completed in a time-boxed frame called the Sprint which lasts about 2-4 weeks, maximum upto one month. The Scrum Team along with the stakeholders reviews the items completed in the Sprint during the Sprint Review and this process is repeated till the product is completed. The Scrum framework does not aim to get the complete picture of the product at the beginning of the product development, it encourages the team members to focus on the present value and build on based on the external and internal feedbacks, and also through the current requirements of the customers, the market trends, etc.
What are Scrum Artifacts?
One of the main factors of how the product development process is completed is by the use of Scrum Artifacts. Scrum Artifacts are tools that help the team members process the Scrum Framework and develop products successfully. Team members use the Scrum Artifacts to ensure that whatever necessary items are required to complete the Sprint and for the final deliverable product is organized. There can be multiple deliverables and plans created by the Scrum team such as Product Backlog, Burndown charts, product vision, the definition of done, etc. However, three fundamental Scrum Artifacts would be extremely necessary for the product development process to occur and for the product to be successful. These three artifacts store the crucial information of the product which the team must complete and also have the list of items arranged according to priority. These Scrum Artifacts make the work of the stakeholders easier as they can access them without any hassle. Scrum Artifacts are tools that represent value or work and are designed to maximize the transparency of the product details. Each artifact consists of commitment that ensures that the team members provide the information which enhances the focus and brings the team closer to the product goal.
The Three Scrum Artifacts
The three Scrum Artifacts are:
- Product Backlog
- Sprint Backlog
- Product Increment
1. Product Backlog
Product Backlog is a list of items which is ordered and emergent and would improve the product. The single source of work for the Scrum Team is the Product Backlog. It is managed by the Product Owner and is the sole person who is responsible for handling the Product Backlog. There is only one singular Product Backlog for a particular product which is transparent and visible to everyone working on the team, as one of the three pillars of Scrum is transparency. The Scrum Team chooses items from the Product Backlog in the Sprint Planning meeting. These are the items that are of high priority and are picked by the team members. Product Backlog would be the same for all the Scrum Teams working on a particular product. The Product Backlog usually contains the features needed to be added to the product, or bugs and defects which need to be resolved, and other product or technical work that has to be finished before the product completes.
Product Backlog items are arranged based on the priority of the item, the highest priority items are kept in the first, and as the list goes on the priority of the item decreases. The Product Backlog would include all the ideas and features that would be given by the team members when the minimum viable product is being formed. The tasks immediately requiring attention, and critical tasks that need to be addressed are kept at the top for the team to complete. The Product Owner conducts one of the meetings called the Product Backlog Refinement meetings where the team comes together and breaks down the Product Backlog items into smaller and precise items. In this meeting, the Product Owner also adds many details such as the order, description, or size of the Product Backlog item. Here, the developers who are responsible for a specific Product Backlog item, also are responsible for its sizing. In this case, the Product Owner may guide the developers about the sizing by explaining to them to select trade-offs.
Commitment: Product Goal
The Commitment of the Product Backlog item is the Product Goal, which the Scrum Team can use as a target to achieve. The goal of the product is included in the Product Backlog. The remaining items of the Product Backlog would contain elements that would define “what” will fulfill the product goal. Any product is like a vehicle that is used to deliver value to the users and customers. The product contains a clear boundary, well-defined users and customers, and known stakeholders. The product could be physical, a service, or something more abstract. The long-term objective for the Scrum Team is the product goal where the team fulfills (or leaves) one objective before they come to the next one.
2. Sprint Backlog
The Scrum conducts a Sprint Planning meeting to decide the items which they would complete in a particular Sprint. In this meeting, the team members pick items from the Product Backlog and list them in a different backlog called the Sprint Backlog. The Sprint Backlog is specific to a particular team and every team makes its Sprint Backlog. It contains only the items which would be completed during the current Sprint. The Sprint Backlog covers most of the present activities and has more complete User Stories and details of the Product Increments than the Product Backlog. The Sprint Backlog also contains a release plan which explains how the team intends to complete the features of the backlog and achieve the Sprint requirements.
The Sprint Backlog is planned by and for the developers which they have to achieve by the end of the Sprint. The backlog is highly-visible and gives a real-time picture of the work which the developers plan to achieve. The Sprint Backlog is constantly updated throughout the Sprint and has enough details where the progress of the team can be evaluated in daily Scrum.
Commitment: Sprint Goal
Sprint Goal is the single objective of the Sprint that the developers decide during the Sprint Planning meetings. It is the commitments of the developers which provide flexibility concerning the work needed to accomplish the goal. This goal creates focus and coherence which encourages the team to collaborate and not work individually. The Sprint Goal is decided during the Sprint Planning and later added to the Sprint Backlog. The course of work during the Sprint is directed towards achieving the Sprint Goal. If the work done by the developers turns out to be different than the Sprint Goal, the team members negotiate with the Product Owner the scope of the Sprint Backlog. This is done within the Sprint such that the Sprint Goal is not affected.
An increment could be thought of as a concrete stepping stone to achieve the Product Goal. Every increment becomes cumulative to the previous increments and is thoroughly verified, which ensures that all the increments work together. The increments must be usable and should work together to provide value to the product. Developers can create many increments within a particular Sprint. Scrum supports empiricism as the total increments are presented at the Sprint Review. However, the Sprint Review is not a gate to release value. An increment can also be delivered to stakeholders before the course of the Sprint. The increment is considered completed when it meets the definition of done. The Product Increment is the version of the product which is delivered at the end of each Sprint. It contains the details of the outcome of all the work. It is a prototype, working version, or draft of the final product which is desired by the user.
If a product is being developed, at the end of the first Sprint, the product version one is delivered, which includes all the Sprint Backlog items. At the second sprint’s end, version two is delivered which contains items already present in product one and also features or changes that are added in the second Sprint. Each Product Increment contains features of the current Sprint and also contains a fully integrated backlog that is updated from all past Sprints.
Commitment: Definition of Done
The Definition of Done is a set of requirements that a particular increment needs to meet the quality measures necessary for the product. It is a formal description where all the criteria to be fulfilled by the increment is listed. When a Product Backlog is created, the Definition of Done is also created simultaneously. The DoD provides information to all the developers about the work that has to be completed for the increment to be valid. If a particular Product Backlog item does not meet the criteria of the DoD, they are not released or present at the Sprint Review. It may be held on for future considerations. When multiple teams are working on the same product, they must mutually define the Definition of Done and comply with the same DoD.
How to manage the Scrum Artifacts?
Many other Scrum tools can help the Scrum Team to manage the 3 artifacts of Scrum. Here are six ways to manage Scrum Artifacts:
- Burndown charts: It is a graphical representation of the work completed by the team members. It shows how quickly the team is achieving the tasks on the Product Backlog. And also helps Scrum Master to evaluate how efficient the team is, and helps them to schedule issues.
- Kanban Boards: These boards can also be used to manage Sprint Backlogs to increase visibility and quickly change the priorities of the sprint as the requirement occurs.
- Release plan: This plan helps the team to be on track and ensures that the Sprint and other project requirements are efficiently completed.
- Backlog Refinement: The Product Backlog must be reviewed, and the changes should be communicated so that everyone is on the same page and no key features are missed.
- Refining as the team progresses: The Product Backlog items need not be overly defined. As the Sprint Backlog is made and the items move according to priority, then each item can be defined.
- Having a clear Definition of Done: The DoD should be transparent and clear for all the members of the team and the stakeholders to understand. It should be documents and the Acceptance Criteria should be shared with everyone.
The three Scrum Artifacts are the most important tools used in Scrum to achieve any product. The Scrum framework includes completing the tasks within a short time while focusing on the bigger picture and overall project requirements and goals. This requires a great deal of transparency, confidence, and frequent communication such that all the artifacts are updated. Each of the artifacts has a specific commitment; for the Product Backlog it is the Product Goal, for Sprint Backlog, the Sprint Goal, and for the iIncrement, it is the Definition of Done. Every artifact helps the work of the developers more efficiently and is a necessary component in completing any product using Scrum. These artifacts exist so that the concept of empiricism and Scrum values are introduced to the Scrum Team and the stakeholders.