SCRUM Method
(→Artifacts) |
(→Artifacts) |
||
Line 54: | Line 54: | ||
'''Product Backlog''' is a list of all tasks needed to develop a product including the requirements for the product (features, functions, technologies, and improvements) development and change. In other words, it is a To-Do list for the entire project, where the User Stories are estimated. The list is dynamic and changes along with customer’s requirements for the product. The responsible body for the Product Backlog is a Product Owner, who ensures that the changes in business requirements, market conditions, or technology are reflected and stored in a list. The latter incorporates items information about description, order, estimate, and value. | '''Product Backlog''' is a list of all tasks needed to develop a product including the requirements for the product (features, functions, technologies, and improvements) development and change. In other words, it is a To-Do list for the entire project, where the User Stories are estimated. The list is dynamic and changes along with customer’s requirements for the product. The responsible body for the Product Backlog is a Product Owner, who ensures that the changes in business requirements, market conditions, or technology are reflected and stored in a list. The latter incorporates items information about description, order, estimate, and value. | ||
− | '''Release Burndown Chart''' – is a graphical representation of the planned and remaining part of the project. It reflects the monitoring of the process and executed by the Product Owner in order to assess how the project aligns with the goal and desired time. [[File:Sprint Burndown Chart.png| | + | '''Release Burndown Chart''' – is a graphical representation of the planned and remaining part of the project. It reflects the monitoring of the process and executed by the Product Owner in order to assess how the project aligns with the goal and desired time. [[File:Sprint Burndown Chart.png| right| frame| 200 px| Sprint Burndown Chart. Note, the guideline for the progress assuming that all tasks will be completed within the sprint is a ''grey line'', the remaining effort on daily basis is a ''red line'', ''X axis'' displays working days, ''Y axis'' displays Story Points]] |
'''Sprint Backlog''' is a prioritized list of tasks chosen from the Product Backlog and is a starting point of each sprint. Scrum development team, Scrum Master and Product Owner estimate User Stories for each item in each sprint. Sprint Backlog is also a plan containing necessary steps and changes in order to deliver the functionality from “To-Do” status to “Done” in the end of the sprint. | '''Sprint Backlog''' is a prioritized list of tasks chosen from the Product Backlog and is a starting point of each sprint. Scrum development team, Scrum Master and Product Owner estimate User Stories for each item in each sprint. Sprint Backlog is also a plan containing necessary steps and changes in order to deliver the functionality from “To-Do” status to “Done” in the end of the sprint. |
Revision as of 19:56, 21 September 2015
Contents |
Introduction
SCRUM is a one of the most used agile methodologies focusing on organizing and project management. The method’s foundation inheres the commercial product development work in 1986 elaborated by Hirotaka Takaeuchi and Ikujiro Nonaka and officially defined in a paper written by Jeff Sutherland and Ken Schwaber in 1995. The Agile Manifesto for software development published 1991 broadened usage of the technique aiming to continuous development of valuable software.
The key aspects addressed in the Agile Manifesto are:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following the plan
SCRUM can be implemented to different projects aligning continuous requirements’ changes and strict deadlines. The aim of Scrum is to enhance teamwork, provide transparency, and optimize complexity of the projects and unpredictability of software development.
Method description
SCRUM is an iterative process, where iterations, called Sprint, normally lasts from two to four weeks. The Sprint’s functionality called User Stories serves as a priority measure in Product Backlog. The Product Owner, who links the customers’ needs and product development process, controls the Product Backlog.The most prioritized tasks represent the goal of the project and shall be divided into smaller tasks during the first Sprint Planning meeting. Thereafter, continuous Daily-Scrum meetings are to be hold within the project group. They are supported by the Scrum Board, which is the important visual tool to plan and control the progress of the Sprint Backlog. The Daily-Scrum meetings are under control of the Scrum Master.
Once the task from a Sprint Backlog is accomplished, its status needs to be updated on the Scrum Board, where all the updated information is stored in a Burndown Chart.
At the end of each Sprint, the Product Owner organizes the meeting called Sprint Review, which demonstrate the executable version of the project and value for the customer. The Retrospective Meeting of the accomplished Sprint takes place in order to analyze the progress of the accomplished project along with successfully achieved changes and pitfalls faced during the sprint. Moreover, it facilitates the implementation of improvements to the next Sprint . The process continues all the way around developing Sprint by Sprint, until the project is fully accomplished.
The key elements of SCRUM technique are roles, events, artifacts and rules that facilitate the rational decision-making process in order deliver the business values.
Roles
There are three roles in SCRUM method: Product Owner (PO), Scrum Master (SM), and Team, which supported by the customers and management involvement.
Product Owner
Product Owner (PO) is a person who has responsibility to continuously provide a clear communication through the Team along the vision and priorities, and ensure the link between team members, customers, and stakeholders. The Product Owner must understand the work, maintain the Product Backlog, and insure the team working on highest valued features.
Scrum Master
Scrum Master (SM) represents the role as facilitator for the PO and the team. The main responsibilities are to ensure productive work of team members and process improvement. During the project development process, Scrum Master ought to remove obstacles, and organize daily meetings called Daily Scrum. As a facilitator to PO, SM is able to find the way to maximize the return of investment (ROI) for the team.
Scrum Team
Scrum Team consists of developers who work in order to achieve an execution of Backlog items during each Sprint and form the final product. The team usually consists of 7-9 members. Team members are self organized and can decide how to develop a new functionality. Moreover, Scrum team’s responsibilities include reviewing Backlog along with providing recommendations towards possible changes to the project, and estimating user stories.
Customers
Customers often play an important role participating in Sprints related to the Backlog, having a close dialog with the team members and management in order to reconcile requirements for the functionalities and set expectations.
Management
Management ensures the organization’s target values and requirements to be achieved. It is management who chooses the Product Owner, monitors the progress, and optimizes Backlog in cooperation with Scrum Master.
Events
Sprint is an event that lasts from one week to maximum of one month. It includes Release Planning meeting, Spring Planning meeting, Sprint Review and Sprint Retrospective meeting.
Release planning meeting
During the release planning meeting the goal and the main objectives for the team members and for the whole organization needs to be set and clarified.
Sprint Planning meeting
Sprint Planning meeting is organized to plan the next Sprint. Specifically, during the first part of the meeting, the plan of action should be set. The decision about product development with the new functionality is taken during the second part of the meeting.
Sprint Review
During the Sprint Review meeting, the achieved results for the relevant sprint shall be evaluated in collaboration with customer or Product Owner, or both.
Sprint Retrospective
Sprint Retrospective meeting aims to evaluate performance of the previous sprint, namely team members, processes and tools. The meeting follows the Sprint Review, and is a prior to the next Sprint Planning meeting. The results of the Sprint Retrospective meeting are the identified process improvements that will be applied in the next Sprint
Daily Scrum
Daily Scrum focuses on what was discussed on the last meeting, what needs to be analyzed on the next meting, and which impediments the scrum team faces and how to cope with them. The meeting lasts in 15 minutes and aims betters communication within the team, and fast decision-making.
Artifacts
Product Backlog is a list of all tasks needed to develop a product including the requirements for the product (features, functions, technologies, and improvements) development and change. In other words, it is a To-Do list for the entire project, where the User Stories are estimated. The list is dynamic and changes along with customer’s requirements for the product. The responsible body for the Product Backlog is a Product Owner, who ensures that the changes in business requirements, market conditions, or technology are reflected and stored in a list. The latter incorporates items information about description, order, estimate, and value.
Release Burndown Chart – is a graphical representation of the planned and remaining part of the project. It reflects the monitoring of the process and executed by the Product Owner in order to assess how the project aligns with the goal and desired time.Sprint Backlog is a prioritized list of tasks chosen from the Product Backlog and is a starting point of each sprint. Scrum development team, Scrum Master and Product Owner estimate User Stories for each item in each sprint. Sprint Backlog is also a plan containing necessary steps and changes in order to deliver the functionality from “To-Do” status to “Done” in the end of the sprint.
Sprint Burndown Chart is a graph representing the remaining amount of work in a sprint backlog, team performance, and forecast when the team will achieve the goal of the sprint.
Rules
Method implementation
Scrum agile methodology is considered as a simple way to manage software development projects more effectively. Software development projects characterize with rapid change and emerging requirements. Therefore, the agile scrum methodology is highly applicable here with its inspecting and adapting ability. Its rapid iterative cycles (sprints) reveal better collaboration and combined efforts.
- Managers, Product Owner and Scrum Master have to remember that the principles of agile development and scrum rules are very important in order to achieve this goal. It is their work to clarify them through the entire team.
Once the Product backlog is prioritized, and is visible, and clear to the scrum team, the appropriate sprint length is established. The Sprint Planning Meeting ends with clear understanding by the Development Team on how to develop a product and accomplish the Sprint Goal.
The Scrum Board used in scrum, is visual tool used to manually monitor the process. It is located near the Product Owner and shows post-it notes for the ordered Product Backlog list, Sprint Backlog list, Sprints and estimated User Stories for each functionality. The changes within the sprint need to be registered using relevant software, however the board is continuously updated along with new alterations. This is done in order to ensure that the Sprint Meeting is transparent and organized for the entire team. The use of the board makes meetings more dynamic, provide better cooperation, and continuously focuses on the main objectives.
With regard to the Scrum Board, tasks can be moved from the Backlog List to the position, marked “To-Do list”, “In process”, or “Done”. The Scrum Master records all changes during the Sprint, resolves all problems that the team faces during the phase, and improves productivity .
Daily Scrum meetings support the Sprint on the daily basis in order to improve communication, identify impediments, improve fast decision-making, and team members’ level of knowledge.The reporting is crucial in scrum process. Keeping the management teams well informed ensures that projects stay on track for deadlines, budgets, and features. During the Sprint Review meeting, the Product Owner tells to the meeting participants what items/tasks have been “Done” and what are the remaining tasks. They discuss the reasons that some tasks have not been completed, and how to improve the process in the next sprint.
The Sprint Report is an essential document for the Sprint Retrospective meeting, because it generates the information from the Sprint performance and let the scrum team understand the work completed or pushed back to the backlog in each sprint. Moreover, it consists of only those estimations for tasks that recorded at the time sprint started. Tasks added to the sprint after the start date used to be marked with an asterisk. In order to view the Story Points, the Burndown Chart can be shown to the team. Based on the sprint report and Burndown Chart, Product Owner explains the total work remaining and the forecast of achieving the sprint goal.
Advantages and pitfalls
The advantages of adopting Scrum methodology for project management develop team centric approach to software development rather that individual approach. Performance and productivity reflects the team’s collective efforts.
The incremental delivery of the project developed during each Sprint enable some functionality to be ready to the customer in a shorter time. The customers are satisfied because each completed backlog represents a new release of a product. Moreover, the process can be done without exhausting, costly documentation covering all aspects of a software project comparing with for example the waterfall project management methodology .
All functionalities are tested during the sprint, because a continuous review and changes’ adoption of the process takes place during each sprint. Frequent testing enables receiving a prompt feedback. This provides in-time correction of uncovered mistakes.
Scrum project management methodology provides transparency of the requirements, process, and common understanding of what needed to be accomplished through the entire organization . This helps to reduce costs and increase quality for the deliverables.
Despite the simplicity of the method, there are some challenges while using the scrum methodology.
- The frequent changes in the requirements set by the customer may bring a lot of confusion to the team members. During the Scrum planning meeting the clear functionalities are defined for the product development. Moreover, the approximate deadlines are identified. Nevertheless, when the team faces uncertainties and narrow deadline due to upcoming changes, they might fail or delay in developing the features, or deliver the functionalities that do not match newly established requirements. Therefore, the Scrum Master must be aware of this condition and ensure the right questions will be ask during the Daily Scrum. Scrum Master have to ensure that the team members working in the right direction. In addition, it could be wisely to allocate a customer inside the company, and ensure frequent communication.
- Another difficulty in managing scrum projects appears when customers do not understand the agile methodology and/or have difficulties with accepting the Scrum. In order to cope with this issue, an effective training and coaching have to be introduced.
- Scrum agile methodology can also be challenging for companies who want to adopt and implement it. The transit from individual contribution to the teamwork implies group conflicts due to different cultural background, and expertise.