Scrum an Agile Framework

From apppm
Revision as of 02:23, 16 September 2016 by S150948 (Talk | contribs)

Jump to: navigation, search
The Scrum Process[1]

The 21st century is becoming more and more dependent on software than ever before, in the 20th century most companies had predefined projects and was therefore more predictable. With predefined projects, the tasks involved in developing or manufacturing the final product could be planned in advance. If the requirements, design and implementation can be planned in advance and the final goal is in sight, a framework called the waterfall method is suitable. It is a step driven method were each step is planned in advance.

In software development the waterfall method is not as suitable, as the market today calls for more flexibility and responsiveness, hence more unpredictability. The Scrum method is more suitable for projects that are unpredictable, that is the requirements and design of the project is constantly changing. Scrum works on the agile framework, by using iterative and incremental processes in order to cope with the ever changing requirements and customers’ needs.


Contents

History

The Godfathers of Scrum

Hirotaka Takeuchi and Ikujiro Nonaka are regarded as the godfathers of Scrum. They realized that companies were moving towards more flexibility and speed in developing new products, at the same time minimizing cost and have high quality products. Takeuchi and Nonaka, described the old approach as a relay race, a team working towards a common goal but not working together at the same time to reach their goals, instead one player ran at a time and when he finished the next one could go. This is much like the waterfall method. Takeuchi and Nonaka introduced a new holistic approach and described it as a rugby team working together to reach a common goal.[2]

Modern Scrum

In the 90´s Jeff Sutherland and Ken Schwaber continued working on the idea from Takeuchi and Nonaka, it later involved into the Scrum method. In 1995, they first presented their method at the Oopsla conference in the US and published a paper “SCRUM Software Development Process”.[3]

Sutherland and Schwaber developed the Scrum method with software development in mind. Complex software development projects can have a high level of uncertainty and are constantly changing, therefore the traditional step-by-step method did not fit.[3]

In 2001, Sutherland and Schwaber alongside 15 other software developers worked together to come up with the Agile Manifesto. The Agile Manifesto is a set of 12 principles for software development.[3]

Values

Roles

Scrum Roles[4]

In Scrum there are three roles that need to be fulfilled:

  • The Product Owner
  • The Scrum Master
  • The Scrum Development Team

For each role there is a set of responsibilities, in order for a project to be successful each team member has to fulfill those responsibilities.

The Product Owner

Usually the product owner is a single person whose responsibility is to maximize the return of investment of the project he controls. The scrum master and the development team are not to be in direct contact with the customer/s, the product owner is the one responsible to be in contact with the customer/s to interpret their needs. The product owner then creates the product backlog which contains the tasks the development team needs to fulfill, it is vital that the product owner describes and ensures that the development team understands what needs to be done. He also prioritizes the tasks in the product backlog and has the final vote on what tasks need to be done and in what time period. Even though the product owner decides which tasks are to be taken, he does not manage what work is done within each task that is up to the development team and the scrum master. Throughout the project the product owner is constantly working together with the team and talking to customers, he is responsible for updating the product backlog in case of new requirements, review tasks that are completed, decides whether to ship the product and can decide whether to continue development or not.[5][6]

The Scrum Master

As with the product owner, the Scrum master is usually a single person whose responsibility is to ensure that the team follows the Scrum framework and its practices and rules. Initially in the planning process the Scrum master focuses solely on creating the product backlog with the product owner and planning Scrum events such as daily Scrum meetings, sprint planning meetings, sprint review meetings and sprint retrospective meetings. Later on when the initial plan is complete the Scrum master often joins the development team. The main difference of the product owner and the Scrum master is that the Scrum master has no authority over the development team and does not take decisions that affect the development process. He is rather an advisor/helper and only interferes when the team is not following the principles of the Scrum framework. He is supposed to help the team members when they need additional help, the team is not working together or if there are technical problems.[7][6]

The Development Team

After the product owner and the Scrum master have done their work in the planning process, it is up to the development team to complete the tasks and come up with a solution that satisfies the requirements set by the product owner. The importance of the Scrum framework is that the development team is a team, they as a team are responsible of something that goes wrong or if something is done well not a single individual. The development teams are cross-functional so they have the knowledge and experience to complete the tasks they are assigned to. Generally the team consists of 3-9 members, if there are too few the tasks may not be completed and too many can lead to management issues. As noted before the product owner does not hand out detailed work plans regarding each task, the development team reviews each task before each sprint and divides it into more tasks and estimates the work time needed for each task. The development team is responsible for completing those tasks and hand out a shippable product at the end of each sprint.[8][6]

The Scrum Plan

Sprint Planning

The Scrum team; the product owner, scrum master and the development team attend the meeting. During the meeting the product owner takes tasks from the product backlog and tells the team what tasks are important and are to be included in the future sprint. In this step it is vital that the product owner can let the team know what needs to be done and that every team member understands the task at hand. But, the product owner does not include all the tasks in the product backlog generally the next two or three sprints are under consideration. The challenge in sprint planning is time management, because ideally they have to be able to complete the tasks selected at the end of the sprint.[9]

Daily Scrum

Sprint Review

Sprint Retrospective

Artifacts

Product Backlog

Sprint Backlog

Increment

Sprint Task

Sprint Burndown Chart

Scrum in non-software projects

Limitations

References

  1. The Scrum Process. Web. 16 Sept. 2016.
  2. Takeuchi, Hirotaka and Nonaka, Ikujiro. "The New New Product Development Game". Pomsmeetings. N.p., 1986. Web. 15 Sept. 2016.
  3. 3.0 3.1 3.2 "Scrum History | Scrum Guides". Scrumguides.org. Web. 15 Sept. 2016.
  4. Scrum Roles & Stakeholders. Web. 16 Sept. 2016.
  5. "Scrum Product Owner - International Scrum Institute". Scrum-institute.org. Web. 16 Sept. 2016.
  6. 6.0 6.1 6.2 "Scrum Roles". agile42. Web. 15 Sept. 2016.
  7. "The Scrum Master - International Scrum Institute". Scrum-institute.org. Web. 16 Sept. 2016.
  8. "Scrum Roles – The Scrum Team - International Scrum Institute". Scrum-institute.org. Web. 16 Sept. 2016.
  9. Cohn, Mike. "Sprint Planning Meeting". Mountain Goat Software. Web. 16 Sept. 2016.
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox