The Scrum framework

From apppm
Revision as of 16:01, 21 February 2021 by S200165 (Talk | contribs)

Jump to: navigation, search


Contents

Abstract

In the complex technology and business world we live in today, there is a need for flexible project management practices. In for example product development, timing plays a huge role. Companies face growing pressure in delivering products quickly to the market. This pressure can result in many uncertainties and increase the rates of failures. These uncertainties can be linked to traditional project management methods being applied, where deterministic practices are being used. Resulting in companies not being able to evolve quickly or inexpensively enough when nearing the end of the development lifecycle. The ultimate goal is to deliver great customer value, Agile practices do that by constantly seeking involvement in product development e.g. from the customer. Evaluating and validating if what is being made is meeting the set business case [1]. This business case sets the objectives and success criteria for the project. In agile project management this validation is done more often. Most often the success or the real benefits of a project can‘t be seen until the project has been done. It can be considered an advantage for project managed with agile methods having constant validation, and close relationship with the stakeholder and that it will result in target benefits being met and higher success rate [2].

Scrum is an Agile project Management framework, where projects are managed in short sprints or iterations. The control or project management is moved from the traditional central scheduling to the teams itself. Where individuals closer to the actual work take charge of the decision making. With this frameworks the feedback loop between customers and developers is much shorter, the progress is visible, inspections are done constantly and adaptations done when needed. [3]. This is especially important in complex projects where companies have to be able to adjust to changes in scope or specifications. From that perspective it can be said that the Scrum framework is the opposite to deterministic project management approaches where detailed plans are being done with the use of e.g. Gantt charts and work schedules. These traditional planning methods use a bottom-up approach where the requirements are set and from the scope the tasks are constructed. In comparison to Agile practices the planning method is based on a top-down approach [4].

Background

In 2001 a group of 17 people which called themselves the The Agile Alliance met and from those three days they spent together the Manifesto for Agile Software Development emerged "[5]. It can be said that these men started an Agile movement. Where in the beginning the main focus was to improve software development. When signing the Agile Manifesto you agree to follow a couple of principles, the following three were chosen as relevant for this article: Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. (Addresses how projects are managed all the way through the life cycle); Business people and developers must work together daily throughout the project (Addresses how Stakeholder management/involvement is); Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done "[6]. This describes well how stakeholder involvement is seen. Ken Schwaber & Jeff Sutherland were apart of the The Agile Alliance that met in 2001, however approximately 10 years prior to that they had started developing the SCRUM framework [7]. In the book Wicked Problems, Righteous Solutions (Degrace and Stahl) Scrum was first introduced in 1990 [8]. It was then in 2009 when Agile project management methods were flourishing, more organisation were using the Agile processes than the waterfall processes. From those Agile processes the majority was using the Scrum framework or 84%. In 2009 Ken Schwaber created an organisation Scrum.org and opened up the website: [www.scrum.org], reaching a broader audience and providing access to materials and courses. Ken Schwaber and Jeff Sutherland published the Scrum Guide in 2010 [7].

The Scrum Team

The Scrum Team has three roles: The ScrumMaster, Product Owner and the Developers (The Team). It should be mentioned that even though one role is called Developers it does not mean that the Scrum framework is only meant for Software development. It was first developed for that purpose however now used worldwide within various organisations.

  • The Product Owner represents the customers of the project. The Product Owner is in charge of making a plan that meets their vision and needs. That is done by setting up a Product Backlog, the Backlog contains both functional and nonfunctional requirements that have to be met to reach the goal or vision. This Backlog gets then prioritised, making sure that the Scrum teams starts with the main functionalities. With this prioritisation of functionalities a proposed release plan can be set. It is therefore the role of the Product Owner to priorities and decide what will be done during the sprint. This is then presented to the team during a Sprint planning meeting [3]. The Product Owner manages the Backlog, makes sure that the backlog is well organised and the content visible. He is also the only person that can make decisions on adjusting/changing something in the backlog [9].
  • ScrumMaster makes sure that everyone within the Scrum team knows the principles of Scrum and makes sure that everyone follows them. Another key role of the ScrumMaster is to remove any obstacles that might come their way, ensuring that the team can complete their work. The ScrumMaster is a role that is often filled by a project manager, however the ScrumMaster should not manage or define the work. The ScrumMaster should be managing the Scrum process, making sure that everyone is one the same page. As Ken Schwaber describes so well by comparing a ScrumMaster to a sheepdog, responsible for keeping the flock together and the wolves away[3].
  • The Developers (The Team) is a cross functional team, that is self organising and self managing. Where the latter is key as Scrum teams should not be managed rather they are responsible for managing their own work and making sure that the job gets done during each sprint [3]. It could be described as the team owns how it chooses to get the job done e.g. the functionalities. In comparison to the Product Owner that owns what should be done. The team is a relatively small, and usually consists of 5-9 people. [4]

The Scrum Team are the individuals that are considered to be committed to the project, they can be called Pigs. However people that are interested in the project, have no accountability or responsibility are called Chickens. There is a clear distinction of authority between these two groups where the Chickens are not able to interfere without having the proper authority and the Scrum team has the full authority to do whatever it takes to make the project a success [3].

Application: The Scrum Events

Sprint

A sprint is where all the work takes place, often said to be the heartbeat of the Scrum Framework. The Sprints are fixed time boxes that are usually 30 days or less. When a sprint ends the next sprint takes over. The following events are linked to a sprint: Sprint planning meeting, Daily Scrum, Sprint review and Sprint retrospective meeting [3],

Sprint planning meeting

May last up to 8 hours when preparing a 30 day sprint. (Sprint Guide) The Product Owner uses the first 4 hours to introduce to the Team the Product Backlog and the highest priorities within the next Sprint and why those are important and bring value to the project [3]. From these priorities the Team assesses and selects what items they estimate they will be able to get done during the Sprint, here it is important to determine what their Definition of Done is. Finally the team evaluates how they will be able to get the work done (reference). The Team is the only ones that can determine how the items from the Product Backlog are turned into Increments of value, (see explanation figure) By the end of the Sprint planning meeting a Sprint Goal has to be set (reference guide).

SprintMeeting.jpg

Daily scrum

Daily scrum are 15 minutes meeting held at the same time and same place each day to track the progress ( of the work towards the Sprint Goal-sleppa). During that meeting the Team evaluates they have done, what they are doing and what obstacle stand in the way to get the work done [3] To track the progress the Scrum Team often uses visual boards that they will updated during the Daily Scrum meetings. Where the minimum categories would be: to do, doing (in process) and done, (see figure). During the daily Scrum meeting the Team moves around the tasks on the visual board according to the progress. Another way of of visualising how much of the work is done is by the use of burndown charts. Burndown charts provides a good overview of how well the work is progressing (put in picture of burndown-chart) (ref. pmi grein)

Sprint review

Sprint review is a 4 hour meeting that takes place at the end of the Sprint. During that meeting the Team presents to the Product Owner and other relevant Stakeholders the outcome of the work that was done during that Sprint [3]. This meeting is informal and Stakeholders can give feedback on the work done during the Sprint. During that meeting the features are explored and from that new opportunities are explored and what should be the next steps (ref guide).

Sprint retrospective meeting

The ScrumMaster leads the Sprint Retrospective meeting, it is a 3 hour meeting where he goes over what went well during that sprint and what could be done better in the next sprint that the ScrumMaster leads and goes over what went well and what can be done better in the next sprint in respect to the Scrum process framework and practices [3]. The meeting should ensure that the next sprint be more enjoyable, effective and increase quality(ref guide). This is also an interactive meeting where not only the ScrumMaster does the talking, the team is involved and discussed their opinions on the previous Sprint, what went well and what problems they encountered that were challenging (ref guide).

Scrum vs Waterfall

Advantages

Scrum vs Traditional approaches (Waterfall)
Scrum Traditional (Waterfall)
Planning Planning is done based on the sprints, therefore the plans are shorter where there are multiple deliverables There is a detailed timeline with long term project plans (https://www.pmi.org/learning/library/agile-versus-waterfall-approach-erp-project-6300)
Frequent reviews Reviews are being done after each of the Sprints with the relevant stakeholders, therefor they are being done throughout all the project stages [8].
Customer involvement High customer involvement, The customer is involved all throughout the project. Keeping the customer involved there is a better chance that he will be satisfied with the end product. For many companies the customer satisfaction is how they measure their project success. Therefore this close relationship between the ScrumTeam and the customers can increases the possibility of meeting the target benefits (PMI project management) Low customer involvement Customers are often only involved during the beginning and at the end of the project https://www.pmi.org/learning/library/agile-versus-waterfall-approach-erp-project-6300
Ability to adapt to change This is closely linked to the frequent reviews and the customer involvement. In the Sprint review meetings where the functional increment is reviewed there is the opportunity to evaluate if any changes are needed or any new ideas come up. Another advantage is that the Customer might even be happy with the product sooner as they realise that some functions that they identified in the beginning of being relevant aren't as important.
Requirements Throughout the project detailed requirements are being made Before the project start detailed requirements are defined
Faster way to the market This is linked to the ability to adapt to change, as previously mentioned the customer could be satisfied with the working product sooner in the process than with the traditional approach. It has also been seen that project that are run with the Scrum framework have a faster way to the market. One of the reason for that being that the teams have to deliver increments frequently, meaning that there is a better support and pressure on deliveries. In 2008 the QSM Associates concluded in their report "Agile Impact Report, Proven Performance Metrics from the Agile Enterprise" that projects managed with the Agile approach were 37 % faster at delivering their products to the market and 16% more productive [10].
Product delivery After each Sprint a product is delivered in a functional state, it is not fully made however it shows the product functionality (increment) that was Done during the sprint (ref: kev) At the end of the timeline the product is delivered, fully functioning according to the requirements set in the beginning. (ref: https://www.pmi.org/learning/library/agile-versus-waterfall-approach-erp-project-6300)


So is there a way of knowing when to apply traditional approaches like e.g. waterfall model and when to use Agile approaches like Scrum?

Reasons for why Scrum would be appropriate:

  • It is a complex project
  • It can be possible to split employees up to teams of 5-9 people.
  • The teams works well together, the environments fosters collaboration, Openness and self organisation.
  • The resources are available to play the roles needed. If not companies may have to invest in training in order to get the full benefits.
  • Customers are willing and wanting to be an active part of the process

Reasons for why Traditional Project management would be appropriate:

  • The project is of a Smaller to Medium Scale,
  • Where requirements are known beforehand and they are not likely to be subject to changes
    • Where it is easy to scope and define the project.

https://www.pmi.org/learning/library/integrating-agile-methodology-waterfall-environment-6311

Is it possible to manage scope and budget using an Agile approach when you are constantly reviewing and making changes when needed?

Limitation

  • Some have concluded that agile methodology does not work at scale, Therefore argue that scaling Scrum is a possibility. Maybe introduce shortly the combination of agile and more traditional, in that case Safe can be mentioned (could link to an article here). Another point to consider is why the waterfall method shows a better overview for the customers to have a better picture of timing and how projects are being managed.

Conclusion

Annotated bibliography

References

  1. Highsmith, J. (2009). Agile Project Management: Creating Innovative Products (2nd ed.). Addison-Wesley Professional.
  2. Project Management Institute, Inc.. (2017). A Guide to the Project Management Body of Knowledge (PMBOK Guide)(6th ed.). Project Management Institute, Inc (PMI).
  3. 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 Schwaber, K. (2004). Agile Project Management with Scrum (Developer Best Practices) (1st ed.). Microsoft Press.
  4. 4.0 4.1 Sliger, M. (2011). Agile project management with Scrum. Paper presented at PMI® Global Congress 2011—North America, Dallas, TX. Newtown Square, PA: Project Management Institute.
  5. , Agilemanifesto.org Highsmith, J. (2001) History: The Agile Manifesto, (Accessed on 12th of February),
  6. , Agilemanifesto.org (2001) Principles behind the Agile Manifesto, (Accessed on 12th of February),
  7. 7.0 7.1 , Scrum.org (2021) About Scrum.org, (Accessed on 15th of February),
  8. 8.0 8.1 Kousholt, B. (2012). Project Management; Theory and practice (2nd ed.). Nyt Teknisk Forlag.
  9. , Schwaber, K & Sutherland, J (November 2020) The Scrum Guide; The Definitive Guide to Scrum: The Rules of the Game, (Accessed on 16th of February),
  10. Quantitative Software Management Associates (2008). The Agile Impact Report - Proven Performance Metrics from the Agile Enterprise, QSMA for Rally Software Development Corp.
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox