Scrum

From apppm
Revision as of 00:35, 1 December 2014 by Murcs (Talk | contribs)

Jump to: navigation, search
Scrum is a framework [2] for dealing with Agile Project Management  

Contents

Background

History

The creator of The Scrum development process have been a frequent topic of debate, but from the Scrum Paprers [5] by Jeff Sutherland the start of Scum has been dedicated to the Godfathers; Hirotaka Takeuchi and Ikujiro Nonaka, they where the ones that came up with he name Scrum and came up with the initial concept in the paper [The New Product Development Game] [10] in 1986 [1]. While Jeff Sutherland was the one to apply the concept and tweak it for then introducing it together with Ken Schwaber at the OOPSLA 1995 conference.

Scrum was later introduced by Schwaber and Mike Beedel in the book first book about Scrum: Agile Software Development with Scrum in 2001. From the Scrum Papers [5] it becomes clear that there have been many contributors in forming the Scrum framework. A Scrum community stated emerging, and a platform to unite the community was created with the name Scrum Alliance (SA) [6] and Certified ScrumMaster (CSM) certification. But over the time since SA was created there became an dispute about their stands and trancparency [7] and the result was that Schwaber created Scrum.org[8]. In 2013 Schwaber and Sutherland published the latest version of The Scrum GuideTM [9].

Takeuchi and Nonaka realized that in the "fast-paced, fiercely competitive world of commercial new product development, speed and flexibility are essential" [10], and that the old way of developing product by following a in sequential order was not sufficient. Takeuchi and Nonaka therefore introduced a holistic approach with six characteristics "built-in instability, self-organizing project teams, overlapping development phases, "multilearning", subtle control, and organizational transfer of learning" [10] when used as a whole become a flexible and powerful tool and named it Scrum.

Sutherland believes that Scrum is a framework based on a set of best practices during the past 50 years of software development. And it is not a development method or a formal process[1][5], he gets support from Schwaber in his claim. Sutherland also says that "Scrum is used as an agile practice that delivers software to the end user faster, better and cooler". [5]

Overview of Scrum

What is Scrum?

According to the Scrum Alliance: [6]

“Scrum is an agile framework for completing complex projects. Scrum originally was formalized for software development projects, but works well for any complex, innovative scope of work. The possibilities are endless. The Scrum framework is deceptively simple.”

Scrum is a framework that enforces a set of rules for how teams can collaborate and work together efficiently and effectively to develop complex projects to develop a product, it provides a structure that enables the team to focus on projects that might otherwise seem extremely challenging.The framework can be used and to scale any size of project [11], and also in programs and portfolios, but for this article the focus will be on using Scrum in projects. Scrum is best suited for projects that change rapidly and have frequent emerging requirements. The framework is also a way of supporting the employees in having focus on the human accept by creating a sense of belonging to the team and that they are needed. It focuses on learning, creativity and the interaction with others, since this is essential for the projects success.

Scrum is not using Gantt charts, but using sprints that last no longer than 30 days. Every sprint tries to create a working increment even if it starts out small, for then continously developing on it. At the core of Scrum are the three roles; the Product Owner, the Scrum development team an the Scrum Master, which all have their specific roles which will be described below. Next important aspect of the Scrum framework are the Artifacts; the Product backlog and the Sprint backlog also to be explain below.

Roles

In Scrum there are three main roles that need to be implemented there needs to be a Product Owner, a Scrum development team and a Scum Master, collectively they are called The Scrum Team

Product Owner

The product owner (PO) is a single person that has the responsibility of getting the maximum return on investment (ROI), this is done by that the PO manages the Product Backlog. [5][12] At the very beginning the PO gathers all the necessary requirements given to achieve the goals and mission. The a a set of user stories are created either alone or in collaboration with the Development team. Then the stories are prioritized by using different techniques for example Planning Poker or T-shirt sizes [13] for then being added to the Initial Backlog arranged after what is most important based on the complexity and not on the effort and time.

The PO has the responsibility of creating a transparent product backlog that shows all the necessary items, but this not necessarily mean that the PO will give a detailed requirements upfront. The PO is the one that decides what needs to be done during the next sprint, but again might still not give all the details. The focus is more on the what than the how of the project.

The PO makes sure that the Development team understands the Product backlog to the extent needed. Because it might not make sense to make up all the details upfront, since there might be high uncertainty for the future, but the PO needs to have the vision. The PO also have the responsibility for the optimizes of the what the development team does and also the value of the work.

It is important that the PO is respected ant that what the PO decides is what goes, the development team is not allowed to take orders from other parties and are not allowed to overrule the PO and act as they please. If anyone wants something from the development team they will need to ask the PO, and the PO decides if it is important to the project.

The PO can sometimes be the customer and other times the customer might be millions of people all having different needs. The PO can sometimes have a similar role as a Product manager, but the product owners role is somewhat different from a Product Manager, because the PO's role is to actively be in contact with the development team, and review each sprint as they finish, for then creating the next sprint backlog.

Scrum Development Team

The Development Team is a cross functional group of people that are self organized [12]. The Development Team job is to create the product [5] that the PO has planned, and provide the PO with ideas how to make a product great. The Development Team does the analysis, development, testing, interface design documentation among other things [5]. By every sprint they try to make a functional increment that is potentially shippable [12], only the ones that are part of the Development Team create the increment. The team is built up of people that in total have all the necessary requirements to be able to create the increment. They are self-organizing managing that they have the sole responsibility to how they turn the product backlog into increments [9].

The Development Team do not have individual titles, other than Developer [9], and it is an important factor that the Team can count on each other [12] to be able to realize the Increments each sprint. If the same team is kept together over a longer time and they learn how to work together it is assumed that they will increase productivity [12]. The Development team members can have specialized skills, but the whole team is help responsible for the project, following Scrum rules sub-teams are not allowed [9].

The Development Team can have different sizes, but a minimum of two people are set [9]. The optimal size is set to 4-9people [12]. If the team is to small they might encounter problems with not being able to complete sprints because there might be a lack of skills in the team[5]. When the team becomes to big other issues might occur for example that the complexity increases and organizing difficulties. There can be several Scrum development teams working on different aspects of the proudct [5], but with close coordination between them.

Scrum Master

The main role of the Scum Master (SM) is to teach the Development Team to apply Scum to achieve business value [5]. The SM has the responsibility to help the PO and Development team be successful, but the Scrum Master is not the team manager, the Sm has no managerial authority, but their role is to serve the team and protect them against outside influences [12]. The SM also helps the organization with the changes that Scrum afflicts and makes the organization understand what is needed for success using Scrum.

In most cases the SM is a full-time job, but in some cases the SM can be part of the Development Team, but the PO and SM can not be the same person [5]. The SM can have different backgrounds from engineering, product management, project management etc.

Events

Sprints

Sprints are fixed lengths of intervals, sprints are officially 30days long, but it is quite common that a sprint is done in 14days. Every sprint contains a combination of; Analysis, design, actual implementation, testing, planning for the future, shipping and deploying[12][4]. During a sprint there should be done a little design every time tip it becomes a continues design, the customer does not always know what they want to begin with, therefore by having continuous design the Development Team will eventually reach the goal.

The sprint has as a goal that at the end of each spiny there should potentially be a releasable increment. A Sprint always start directly after the previous Sprint has ended. There can be made no changes to the Sprint Goal, but the scope can be changes when the PO and development Team learn more[9]. A Sprint may be cancelled, but it is very rare since the Sprints are no longer than 30 days. If they are cancelled the PO will look at the work form Product backlog that is "Done" and see if some of it can be used or if it should be dismissed.

Sprint planning is an important part of Scrum, for a 30-day Sprint the maximum time used is eight hours [4], if the sprint is shorter, the planning time is usually also shorter. The Sprint planning plans what can be delivered and and how will the work needed to reach the goal be achieved. The Sprint Goal is a set objective that can be reach by using the Product backlog. [9]

tabell

Daily scrum

Daily scrum is a meeting that is held at the same time for everyday of the sprint. All team members participate, it as held at the same location everyday and should maximum last for 15 min. During the meeting three topics are discussed: 1. What was done yesterday to meet the Sprint Goal 2. What will be done today to meet the Sprint Goal 3. Are there any challenges that can cause problems reaching the Sprint Goal.

Daily Scrum is used to evaluate if the progress is going the way it should to reach the Sprint Goal. After a Daily Scrum the Development team often meets to further discuss on the plan. [9]

Sprint Review and Sprint Retrospective

After the Sprint is finished it is reviewed by the Scrum Team and the stakeholder, and the Product Backlog might be updated if needed. During the review the PO informs what has been "Done" and what has not been "Done". The Development team tells what has gone well and what has been a challenge [9]. The Review regards the product. At the end the entire group will discuss what needs to be done next.

The Sprint Retrospective regards the process. [4] It is a step that often is overlooked, but is very important for optimization. During the meeting it is discussed what is working and what is not, and find a way of solving the issues. The Development team and the SM attends, while the PO is welcome to join if he feels like it. [4]

Artifacts

Product backlog initial backlog releas backlog stories Sprint backlog Burndown chart [3] Sprint burndown chart release burndown chart

Implementation advice Challenges When to use scrum what makes scrum work When not to use scrum what makes scrum not work Example Framework what scrum values What does Done mean Rules

Reflections

See also

Agile Project Management

References

Further readings

Extrenal links

[1] http://www.techwell.com/2012/10/brief-history-scrum
[2] http://c2.com/cgi/wiki?ScrumProcess
[3] http://www.methodsandtools.com/archive/scrumburndown.php
[4] https://www.scrumalliance.org/community/articles/2009/november/daily-scrum-merely-a-status-report
[5] http://jeffsutherland.com/ScrumPapers.pdf
[6] https://www.scrumalliance.org
[7] https://agileanarchy.wordpress.com/2010/10/12/the-scrum-compliance/
[8] https://www.scrum.org
[9] The Scrum Guidelines, The Definitive Guide to Scrum: The Rules of the Game, Ken Schwaber and Jeff Sutherland, July 2013, Scrum.Org and ScrumInc
[10] "New New Product Development Game". Harvard Business Review 86116:137–146, 1986. January 1, 1986. Retrieved March 12, 2013.
[11] http://www.scrumstudy.com/blog/scaling-scrum-to-program-and-portfolio-level/
[12] http://scrummethodology.com
[13] http://juanbandaonscrum.blogspot.dk/2009/09/what-po-does-during-scrum.html


• Overview – Application Context • Type of decision – Necessary data, information, people, resources to execute – Summary of output • Description of steps – Summary of steps – Description of steps (input, action, output) • Application example • Metrics • Work material (templates) – Order of magnitude 3500 words – What counts is „quality density“. If you can say it in 2000 words, say it in 2000 words.

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox