SCRUM Method

From apppm
Revision as of 17:42, 18 December 2018 by Tkokotas (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Developed by Nataliia Kulikova

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. [1]

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 [2]


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. [3] [4]

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
Figure 3: 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
(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.[5] [6] [4]

Method implementation

Scrum agile methodology is considered as a simple and highly effective way to manage software development projects. Software development projects are characterized with rapid change and emerging requirements. Due to that, the agile scrum methodology is highly applicable here with its inspecting and adapting ability. Moreover, its rapid iterative cycles (sprints) reveal better collaboration and combined efforts on the way to project delivery.

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 organization.

Once the Product backlog is prioritized, is visible, and clear to the scrum team, the appropriate sprint length is established. Following the "To Do" list, team starts developing the product features. The entire sprint is supplemented with daily meetings in order to remove impediments appeared during the daily work, and controlled by the retrospective meeting by the end of the sprint. The performance is evaluated, problems and improvements are identified. Those will serve as the basis for the Sprint Planning Meeting that takes place before the new sprint begin, and ends with clear understanding by the Development Team on how to improve product and accomplish the new Sprint goal.

The Scrum Board applied in scrum methodology as visual tool aiming manually monitor the process. It is usually 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 to be registered using relevant software as part of the optimization of the project management process, however the board is used and 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 .

Figure 4: Sprint Report

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.[6]

Advantages and pitfalls

Scrum project management methodology provides transparency of the requirements, processes, as well as common understanding of what to be accomplished through the entire organization. The advantages of adopting and implementing Scrum methodology of project management are:

  • Development of 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 be delivered to the customer in a shorter time. Thus, customer satisfaction and high quality to be emphasized.
  • In contrast with the waterfall project management methodology, scrum process is characterised with absence of exhausting, costly documentation covering all aspects of a software project.
  • All functionalities are tested during the sprint due to a continuous review and changes’ adoption that takes place during during each sprint. Frequent testing enables receiving a prompt feedback from the customer that ensure in-time correction of uncovered mistakes.

The aforementioned advantages may finally imply cost reduction within the organization and quality increase of the deliverables.[7]

Despite the simplicity and growing popularity of the method, there are some pitfalls while using the scrum methodology.

  • The frequent changes in the requirements set by the customer during one sprint may bring a lot of confusion to the team members. Due to that, the team might face uncertainties in how the final product should look like and narrow deadline due to upcoming changes. Thus, they might fail or delay in developing the features, or deliver the functionalities that do not match newly established requirements.
  • Daily meetings sometimes can be a problem in companies where teams are geographically dispersed. Setting a different time which will work for everyone could be inconvenient for both Team members and management. Even though the meeting takes place within one geographical area, they often overshoots 15 minutes due to someone joining the meeting late, or due to the long team's reporting talks to the Scrum Master. That can be considered as wasting time instead of using it to develop the product and use constant feedback on it.
  • 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 problematic for companies who want to adopt and implement it. Moving from yearly or semi-annual releases to weekly iterations is very, very hard. And very easy to fail at. MOreover, the transit from individual contribution to the teamwork implies group conflicts and poor outcome.
  • When the company adopting the scrum methodology ignores the philosophical principles of scrum, the organization may face the consequences of losing high productivity, great software quality, and happy customers.[8][9][6]

Conclusion

Scrum method is becoming more popular methodology for companies with different project context. The practice has shown that it is though an optimal framework for software development projects providing its adaptability, transparency, and quality. It offers effective open-communication, social integration, control, and coordination mechanisms that are the key aspects for agile project management. The components and implementation technique of Scrum aim to cope with complexity and risk within an organization. It facilitates the rational decision-making process in order deliver business values. Despite its advantages and simplicity, Scrum method may appear hard to structure internally and align values externally, especially on the method adapting stage.

Annotated bibliography

Agile Product Management with Scrum. Roman Pichler. (2010): This book focuses on the role of the product owner and the challenges he/she faces in agile project management with Scrum. The book presents examples on how to take an advantage of emerging requirements, receive customer feedback in time, and how to ensure close collaboration within the development team. It facilitates the practitioner to fully understand possible challenges, how to avoid them, explains the structure and key elements within Scrum product management.

Succeeding with Agile. Mike Cohn (2009): The main objectives of the book is both - the introduction of the scrum for the beginners and implementing improvements into teamwork, test-driven development, quality and the management process itself.

References

  1. http://www.scruminc.com/takeuchi-and-nonaka-roots-of-scrum The Roots of Scrum
  2. http://agilemanifesto.org Manifesto for Agile Software Development
  3. http://www.methodsandtools.com/archive/archive.php?id=18 Adaptive Project Management Using Scrum
  4. 4.0 4.1 Agile Product Management with Scrum. Roman Pichler. (2010)
  5. http://www.scrumguides.org/scrum-guide.html The Scrum Guide
  6. 6.0 6.1 6.2 Succeeding with Agile. Mike Cohn (2009)
  7. https://www.exin.com/assets/exin/frameworks/124/whitepaper/Flyer-Agile-Scrum-EN.pdf AGILE SCRUM: the flexible and adaptable approach to any project
  8. http://www.agileconnection.com/article/five-common-pitfalls-when-organizations-neglect-agile-values?page=0%2C0 Five Common Pitfalls When Organizations Neglect Agile Values
  9. https://communities.bmc.com/groups/india-user-group/blog/2012/08/05/challenges-and-opportunities-in-agilescrum Challenges and Opportunities in Agile/Scrum
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox