Scrum method

From apppm
(Difference between revisions)
Jump to: navigation, search
(Application)
Line 66: Line 66:
  
 
==Application==
 
==Application==
Once the initial Product Backlog has been made, it is presented to The Development Team and they will then hold a Sprint Planning meeting to determine which items should be prioritized, how long the first sprint should last and setting a sprint goal. During the sprint, daily meetings are held in order to optimize the efficiency of the team and remove impediments which have occurred during daily operations. These meetings can be beneficial to the individuals in the team as this gives them a status on what was done yesterday and plan what should be done today. If the expect or have had any impediments they can notify their team members and they can work together to resolve the impediment. After the sprint a Sprint Review meeting is held. There the stakeholders and the Development Team come together and review what increments have been done during the sprint and identify improvements or problems with the items in Product Backlog. These meeting serves mainly as a feedback and for the Development Team to get a overview of the status of the project.
+
Once the initial Product Backlog has been made, it is presented to The Development Team and they will then hold a Sprint Planning meeting to determine which items should be prioritized, how long the first sprint should last and setting a sprint goal. During the sprint, daily meetings are held in order to optimize the efficiency of the team and remove impediments which have occurred during daily operations. These meetings can be beneficial to the individuals in the team as this gives them a status on what was done yesterday and plan what should be done today. If the expect or have had any impediments they can notify their team members and they can work together to resolve the impediment.  
 
+
 
The Scrum Board is important as it monitors the progress of the project. On it the Product Owner can see which tasks are done and which tasks need to be done to finish the project. The progress is then charted as a Burndown Chart which gives an estimate for the completion of the project. The board is continuously updated along with the projects alterations so that it represents the correct information for each daily meeting.
 
The Scrum Board is important as it monitors the progress of the project. On it the Product Owner can see which tasks are done and which tasks need to be done to finish the project. The progress is then charted as a Burndown Chart which gives an estimate for the completion of the project. The board is continuously updated along with the projects alterations so that it represents the correct information for each daily meeting.
 +
 +
After the sprint a Sprint Review meeting is held. There the stakeholders and the Development Team come together and review what increments have been done during the sprint and identify improvements or problems with the items in Product Backlog. These meeting serves mainly as a feedback and for the Development Team to get a overview of the status of the project. The outcome of this meeting is then used as a basis for the next Sprint Plan.
  
 
==Advantages==
 
==Advantages==

Revision as of 10:41, 15 September 2016

In the early days of software development the usual waterfall method used for product development turned out to be inefficient and problematic for the development teams. As software development is different from other kinds of projects e.g. building a house, where every detail has been planned in advance, software oriented project can be constantly changing along with the needs of the customer. It is can be difficult and complicated to describe to a programmer which functions you want in a program and how they should work and more than often the outcome of the project does not satisfy the customers need. It was therefore necessary to come up with a new method more fitted to the ever changing environment of software development projects. The method developed is called Scrum and is an iterative agile software development framework. By being agile, Scrum ensures that everyone involved in the task know where the project stands, what tasks are left and status of the ongoing tasks. Scrum encourages the team to share knowledge and helping each other to finish the task as fast as possible i.e. Scrum is therefore focused on fast output of the tasks and to adapt to changes in demand from the client or market. The output of the project is therefore customized solution which fulfills all of the clients needs.

Contents

History

The initial concept of Scrum was developed by Hirotaka Takeuchi and Ikujiro Nonaka in their paper "The New New Product Development Game" which they published in 1986. In it, they came up with a new faster and more flexible approach to managing product development processes. They described using a rugby team, where the team passes the ball within to reach a common goal or in other words, the project team works together and help each other to reach the projects goal. In it they argue that teams do better when given goals instead of the usual tasks. The team would then figure out how to reach the goal and overcome obstacles to reach the goal in the most efficient way. [1]

In the early 90's Ken Schwaber and Jeff Sutherland began developing the Scrum method more and presented the method at the OOPSLA(Object-Oriented Programming, Systems, Languages & Applications) conference in 1990 along with the paper “SCRUM Software Development Process”. In it they provided principles to develop and sustain complex software products which were used to create the Scrum framework. [2]

Concept

The definition scrum provided by the Scrum guide is the following : "A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value". Scrum is not a technique or a process but rather a framework which provides you with processes and techniques. The Scrum framework contains roles, events, artifacts and rules applicable to the Scrum team which are lightweight, easy to understand but difficult to master. Scrum takes an empirical approach to projects i.e. decisions made are based on what is known instead of trying to be predictive as in the Waterfall method. [3]

To gather as much knowledge as possible Scrum uses an iterative, feedback driven approach to control risk and optimize predictability which is supported by the three pillars made of transparency, inspection and adaption. These iterations are called Sprints and are usually 2-4 weeks long. Before each sprint a meeting called Spring Planning is held were the Development Team decides which items from the Product Backlog should be done in the upcoming Sprint. When the sprint is done a Sprint Review is held with the purpose to see which Increments have been added to the solution and what did happen during the Sprint and receive feedback for the work done in the Sprint. This process then repeats itself until the project is finished. [3]

To document the projects progress, as visual tool called a Scrum Board used to display where the project stands. This visually represents every tasks that needs to be done, has been done or is in progress.

Scrum Values

When the team follows the values of Scrum, the three pillars of transparency, adaption and inspection come into effect and helps in building trust among the team members. By using the tools Scrum provides, the team members explore these values.[3]

Commitment

Each and every team member commits to achieving the ultimate goal of the project.

Courage

The team members have the courage to take the right decisions and do the right thing in the most difficult situations.

Focus

The team members focus on work do be done in the Sprint and the goals of the project.

Openness

The team members and the customers/stakeholders are open about all the work and challenges they run into.

Respect

The team members respect each other skills.

The Scrum Team

The Scrum team is made out of three core roles, the Product Owner, the Development Team and a Scrum Master. The team itself organizes how it is best to reach the objective instead of be given instructions to do so. The team is cross functional so all necessary knowledge is within the team to finish the project without having to depend on outsiders. This team model is designe to improve flexibility, creativity and productivity.

The Product Owner

The Product Owner is the key stakeholder of the project and is responsible for maximizing the value and getting the most out the Development team. The key is that the Product owner has a vision of how what they want to do in the project and he conveys that vision to the development team by using the product backlog.[4] [3]

He must have a good understanding of the needs of the customer, the marketplace, the competition and how the future can effect the current project.[4]

His role is not to have a decisive factor in how much work should be done, but rather to motivate the team to perform at its greatest by giving them a clear elevating goal. The Development team itself chooses how much work to be done in each sprint, as they are the knows to withhold the knowledge of how much work can be done.[4]

The Development Team

The Development team is a cross functional team with the purpose of creating the projects soulution through the product backlog provided to them. They are free to use any method necessary to reach the current sprints goal. By working together and having no clear roles the cohesiveness of the team increases and boosts the productivity and creativity of the team, often leading in faster delivery of the product. [5] The optimal size of the development team is between 3 and 8 people. Smaller than that can lead to that there are not enough resources to finish a sprint and any larger than that means that too much time goes into coordination of the team.[3]

The Scrum Master

The role of the Scrum Master is to make sure that the Development Team follows the rules and practices of Scrum. He is responsible for removing obstacles that can be in the of the Development Team so that they can perform at their highest. He is generally present to help the team to use Scrum by motivating and reminding the team of the projects ultimate goal. He plans Scrum events for the team and all in all helps the team creating a high value product He has no clear authority over the Development Team but rather authority over the process itself. He helps the Product Owner to find techniques for effective management of the Product Backlog and how to maximize the value of it, and helps the Development Team to understand what is expected from each Product Backlog.[6] [7] [3]

Terminology

Artifacts

The Artifacts of Scrum are Product Backlog, Spring Backlog and Increment. These artifacts help to gain transparency on the work and detect opportunities for adaption or inspection. By adding transparency to the project, each and every member of the Development Team has an easier time of understanding the needs of the project.

Product Backlog

The Product Backlog is a list of tasks that need to be done in order for the product to be developed or changed. It includes all functions, technologies, requirements, enhancements fixes and features that that the product should consist of. The items in the backlog have a description, order, estimate and value. [8][3]

The tasks are generated from User stories which are originate from the customers requirements. The Product Backlog is prioritized by the Scrum Master and the Product Owner (who is responsible for the Backlog) so that the project/product generates as much value as possible. [3][8]


As Scrum is an agile framework which consists of using only the known requirements, the Product Backlog is never complete. It keeps on evolving along with the project itself i.e. it behaves dynamically along with the product needs.[3][8]

Sprint Backlog

The Sprint Backlog is a list of tasks generated from the Product Backlog in the beginning of each sprint in addition of a detailed plan on how the sprint should be done. It will predict which functionalities will be available in the next increment of the product.

The Development Team is responsible for setting up and estimate what needs to be done and how it will be done in order to finish the tasks they place in the Sprint Backlog.

The progress in each sprint is monitored so that for daily Scrum meetings the team can coordinate their efforts to finish the Sprint on time.

Increment

Increments are all the Product Backlog items completed during a Sprint along with the value of all the Product Backlogs finished in previous Sprints. At the end of each Sprint, the items in the Sprint Backlog must be finished and in a useable condition.

Scrum Board

The Scrum board is a visual representation of the status of the project. It is a preferably a physical document where one can see all the items in the Product Backlog, whom are prioritized and the state of each item. This tool is important for daily Scrum meetings as it helps giving the project a certain transparency and simplicity.

Daily Scrum Meetings

Application

Once the initial Product Backlog has been made, it is presented to The Development Team and they will then hold a Sprint Planning meeting to determine which items should be prioritized, how long the first sprint should last and setting a sprint goal. During the sprint, daily meetings are held in order to optimize the efficiency of the team and remove impediments which have occurred during daily operations. These meetings can be beneficial to the individuals in the team as this gives them a status on what was done yesterday and plan what should be done today. If the expect or have had any impediments they can notify their team members and they can work together to resolve the impediment. The Scrum Board is important as it monitors the progress of the project. On it the Product Owner can see which tasks are done and which tasks need to be done to finish the project. The progress is then charted as a Burndown Chart which gives an estimate for the completion of the project. The board is continuously updated along with the projects alterations so that it represents the correct information for each daily meeting.

After the sprint a Sprint Review meeting is held. There the stakeholders and the Development Team come together and review what increments have been done during the sprint and identify improvements or problems with the items in Product Backlog. These meeting serves mainly as a feedback and for the Development Team to get a overview of the status of the project. The outcome of this meeting is then used as a basis for the next Sprint Plan.

Advantages

Disadvantages

References

  1. [https://hbr.org/1986/01/the-new-new-product-development-game The New New Product Development Game. (1986) Takeuchi and Nonaka (Read 13.09.16).
  2. [http://www.scrumguides.org/history.html The History of Scrum. (2016) Author Unknown (Read 13.09.16).
  3. 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 [http://www.scrumguides.org/docs/scrumguide/v2016/2016-Scrum-Guide-US.pdf The Scrum Guide. (2016) Ken Schwaber and Jeff Sutherland (Read 13.09.16).
  4. 4.0 4.1 4.2 [https://www.mountaingoatsoftware.com/agile/scrum/product-owner Product Owner. (2016) Mountain Goat Software (Read 14.09.2016)
  5. [https://www.mountaingoatsoftware.com/agile/scrum/team Scrum Team. (2016) Mountain Goat Software (Read 14.09.2016)
  6. [http://scrummethodology.com/the-scrummaster-role/ The Scrum Master Role. (2011) Scrum Methodology (Read 14.09.2016)
  7. [https://www.mountaingoatsoftware.com/agile/scrum/scrummaster ScrumMaster. (2016) Mountain Goat Software (Read 14.09.2016)
  8. 8.0 8.1 8.2 [http://www.methodsandtools.com/archive/archive.php?id=18 Adaptive Project Management Using Scrum. (2004) Murpy,Craig (Read 14.09.2016)
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox