Scrum, to me is the most precise manifestation of Agile values and principles. With this 12 part series I want to share my understanding about it. I believe this would help someone trying to get his feet wet while implementing Scrum.
In an ever changing business market, IT which supports the business also needs to be equally responsive. If IT still follows the traditional ways of software development they might be left out and will not be able to support the cause of the business. So, how do we address such a situation? Well, Agile software development comes to our help. There are many different ways to develop software in an Agile way, although the most prominent way to achieve agility is via Scrum.
Scrum is a framework to address complex, adaptive problems and it is
- simple to understand
- difficult to master
Light-weight: Scrum, since its inception has kept things to minimal. Scrum in its entirety provides 3 Roles, 5 Events, 3 Artefacts which are bound together by some rules and principles.
Simple to understand: As there are no elaborate processes, methodologies prescribed it is very easy to follow. To get a good understanding, all one needs to know is
- What are the roles and their accountability?
- What are the events and why are they needed?
- What are the artefacts and what is their purpose?
Difficult to master: Although, there are only 11 essentials (3 Roles, 5 Events, 3 Artefacts) to remember; mastering Scrum is difficult. That is not because Scrum itself is difficult, but because it surfaces all the hidden challenges within an organisation and there is no prescription about how to deal with these challenges. We try out one solution in a given situation for a team but that same solution might not work in a similar situation for another team. Practices, processes emerge as we start work and learn more about it. With every implementation, there is some new learning. Scrum is like any sport or martial arts; one can learn the rules and moves but it is the continuous practice of those rules and moves that makes us, master of the game.
Scrum is based on empirical process control theory or empiricism, which tells us that knowledge comes from experience and making decisions based on what is known. In essence, the more you learn, the more experiences you gain, the better you can deliver with Scrum.
Three key pillars form the basis of empiricism
- Transparency: All the significant aspects of the process needs to be transparent to everyone involved. To the extent that if these aspects are completely transparent, the decisions made on their basis will be sound; to the extent that if these aspects are non-transparent, the decisions made on their basis will be faulty.
- Inspection: All the significant aspects need to be inspected at regular intervals to identify undesirable variances. Although, these inspections should not be so frequent that they get into the way of work of the team.
- Adaptation: If any undesirable variances are found during the inspection they need to be corrected. These corrections should be done as soon as possible to avoid any further variances.
Having, transparency, inspection and adaptation in place we can garner great benefits out of Scrum.
In upcoming posts, I will share my understanding of Scrum and its aspects.