Scrum is an iterative and one of the Agile frameworks for Project Management. Scrum methodology is also widely used for managing product development by employing an adaptive and iterative approach. Scrum is very successful for the fact it is formulated as a faster, more flexible way to deliver the greatest value in the least amount of time.
Scrum has gained popularity is the last decade and the popular Agile method is used in more than half of all Agile projects. A framework for Scrum projects as described in A Guide to the Scrum Body of Knowledge (SBOKTM Guide 2013), the scrum framework can be better understood through the underlying principles, processes and aspects. We will discuss about the Scrum principles in this article.
- Empirical Process Control
Scrum prescribes making decisions based on observation and experimentation rather than detailed upfront planning. There are two ways to control any process—defined process control and empirical process control. Empirical process control is based on the three main ideas of transparency, inspection, and adaptation. This approach is more appropriate for processes that generate unrepeatable and unpredictable outputs than defined process control.
As opposed to the traditional command and control style of management, Scrum teaches that today’s workers have much more knowledge to offer than just their technical expertise and that they deliver greater value when self-organized. It is a process in which global order arises from the local interactions of the components of a system in disorder.
Scrum teaches that product development is a shared value-creation process that needs all the stakeholders working and interacting together to deliver the greatest value. Collaboration is working together to achieve a common goal.
- Value-based Prioritization
Delivering the greatest value in the shortest amount of time requires prioritization and dividing what will be done from what needs to be done. Given the various constraints any team faces, prioritization becomes an important factor when the value delivered has to be maximized.
Time is treated as a limiting constraint, and Time-boxing is used as the rhythm to which all stakeholders work and contribute. Scrum teaches that time is its primary constraint and, therefore, each process/activity of Scrum is allotted a fixed period of time.
- Iterative Development
In most complex projects—in which the customer may not be able to define very concrete requirements or is not confident of what the end product may look like—the iterative model is more flexible in ensuring that any change requested by the customer can be included as part of the project. User Stories may have to be written constantly throughout the duration of the project. In the initial stages of writing, most User Stories are high-level functionalities. These User Stories are known as Epics. Epics are usually too large for teams to complete in a single Sprint. Therefore, they are broken down into smaller User Stories.
A key principle of Scrum is that the exact long-term requirements regarding any project cannot be fully understood or defined at the beginning of the project, especially in fast-changing volatile markets, and the focus should be on making the team flexible enough to incorporate changing requirements. The traditional, predictive methods of development (such as Waterfall) cannot handle such changes. Thus, Scrum is especially helpful for complex projects with greater uncertainty in which long-term forecasting would be high risk. Scrum guides you through transparency, inspection, and adaptation to achieve the most valuable business outcome.
Take a free Scrum Fundamental Certified (SFC) course to understand concepts and the advantages of using Scrum in your projects.
Source: A Guide to the Scrum Body of Knowledge (SBOKTM Guide 2013), from Scrum study.