Scrum method
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. 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. [3]
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] Cite error: Invalid <ref>
tag;
refs with no name must have content
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.
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.
The Development Team
The Scrum Master
Terminology
Application
Advantages
Disadvantages
References
- ↑ [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).
- ↑ [http://www.scrumguides.org/history.html The History of Scrum. (2016) Author Unknown (Read 13.09.16).
- ↑ 3.0 3.1 [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).
- ↑ [https://www.mountaingoatsoftware.com/agile/scrum/product-owner Product Owner. (2016) Mountain Goat Software