Why Scrum rocks?
Scrum is one of the most popular process frameworks for implementing Agile. Some people even think that Scrum and Agile are the same thing. We can assure you – they’re not. Although it’s true that while you can use many frameworks to implement Agile, Scrum has dominated its world. But what’s so special about it?
What is Scrum?
The definition taken from the most recent version of The Scrum Guide says that it’s a framework for developing, delivering and sustaining complex products. While simple to understand, Scrum is often difficult to master. It allows to address problems, deliver products in an efficient and creative way, and at the same time taking care of the highest value.
Scrum consists of Scrum Teams, along with roles, events, artefacts, and rules governing interactions and relationships between them. Founded on empiricism, it assumes that knowledge comes from experience, so the decisions are made based on what is already known. Transparency, inspection and adaptation are the three pillars on which empirical process control implementation is based. In other words, to enable inspection of what has been achieved and to assess the manner in which it has been achieved, transparency is necessary. Transparency, in this case, means unrestricted access to real information about the product, processes, tools, organization and so on. Going further, when one or more aspects of the process after inspection deviate out of acceptable limits, the process must be adjusted.
Being proficient in five Scrum values: commitment, courage, focus, openness and respect determines the successful use of Scrum. In this way, the Scrum Team builds trust and respect among each other.
Scrum defines only three roles: Product Owner, Scrum Master and self-organizing Development Team with not only programmers but also all professionals indispensable for the Team to be independent enough to execute the task on its own. The source of demands is Product Backlog where the Product Owner sets the order of implementation to use developers’ time in the most effective way, while Scrum Master supports everyone in understanding Scrum theory, rules, practices and values.
Work takes place incrementally in iterations called Sprints, that are not longer than one month. Each Sprint consists of:
– Sprint Planning
– Daily Scrums
– Development work
– Sprint Review
– Sprint Retrospective
Sprint has a flexible plan to accomplish the Sprint Goal. During Sprint new functionalities are added as so at the end of the particular Sprint a “done” and the usable product is created.
The Development Team discusses work progress and makes necessary adaptations of the Sprint Backlog every day. They also work with Product Owner to improve the objective in Product Backlog in order to deliver the Increment in one iteration. The Sprint ends up with the presentation of the Product Increment, meaning a new version of the product with its new functionalities. Next, the Team along with the Product Owner and stakeholders make an assessment of what was accomplished and make an adaptation of further plans for product development.
Product Increment (the Product at the end of the Sprint), has to be ready to deploy if Product Owner decides so. There is a list of all the features, functions, requirements, enhancements, and fixes that have to be made to complete the objective. The so-called Definition of Done makes it also easier for the Team to estimate the time needed to complete tasks during Sprint Planning.
Development Team finishes Sprint with Retrospective of their actions and makes a list of improvements for the next iteration to accomplish higher efficiency and be more effective in achieving Sprint Goals. Then, the next iteration starts, as there are no breaks between Sprints.
What Scrum is not?
Definitely not the project management method. It’s also not another tool to make people work faster and deliver more at the same time. The productivity will grow – that’s for sure, but it will be due to some changes in processes. This framework is not a magic way to start meeting deadlines or a technique to estimate project time. The main focus is put on delivering business value and actually working product. Therefore, this is not a recipe for success or a crystal ball that has answers to all problems. Scrum will make those problems more visible but it’s up to good organization if they will be solved.
This framework again is not another software lifecycle concerning solely and exclusively IT department. Both IT and business people have to work together every day to succeed. Introducing and using Scrum framework often requires changes in HR, budget, project management, cooperation with customers and the like.
Why it works?
Scrum allows efficient creation of a complex product in a highly variable environment. This is because iterations (lasting up to a month, and usually two weeks) makes it possible for the Team to focus on the implementation of the specific Sprint Goal and the list of requirements that this Goal consists of.
On the other hand, Product Owner, and by him/her stakeholders gain the freedom of shaping the product through continuous improvement of the Product Backlog because there is no need to wait for the project to be finished in many months, as the work is done in short iterations). There’s also the possibility to change the direction of the product development virtually every iteration.
The empiricism, which manifests itself in the “inspection-adaptation” loop that is an element of every event in Scrum, causes the product and the organization involved in its development constantly improve and adapt and react in an agile way to changes in the environment.
Teams are involved their tasks because they have a real impact: they participate in the creation of the Product Backlog, they respect work, define the way they work in Sprint, implement improvements in the tools and processes they use.