SCRUM is a framework that facilitates team collaboration on complex projects. In software development, the SCRUM framework enhances the implementation of the AGILE process. The SCRUM methodology is iterative, incremental, and reactive. The process reacts to conditions on the fly rather taking action based on projected assumptions.
To understand the SCRUM methodology, let us look at it from two main aspects:
1. The Scrum Team.
2. The Scrum Process.
****** The Scrum Team ******
The SCRUM team comprises of five to nine team members with no leadership to assign tasks and determine how problems are solved. The team members can further be categorized into three groups:
1. The Product Owner.
2. The SCRUM master.
3. The Development Team.
*** The Product Owner.
This is the key stakeholder. It is usually an external client or a spokesperson for the client. He or she conveys the product’s vision and mission to the team. The owner is ultimately in charge of approving the complete increments of work.
*** The SCRUM Master.
This is the product owner’s servant and the development team’s leader. That said, his or her leadership is not in the hierarchical sense. The SCRUM master is more of a facilitator whose main role is to ensure the team always performs at the highest levels of productivity.
*** The Development Team.
The development team comprises of all the people that play any role in the realization of a deliverable increment. This group is cross-functional and self-organized with no defined leadership roles.
****** The SCRUM Process ******
1. The Product Backlog: The product owner makes a list of the work to be done- product backlog- and sorts it out in order of priority. Prioritizing the tasks is at the owner’s discretion.
2. Sprint Planning: A sprint is a short period of time in which specific objectives must be met. The development team uses the product backlog to determine the best way to achieve the highest priority goals first.
3. The Sprint: A sprint is usually anywhere between two-to-four weeks. There are daily SCRUM meetings through the entire period to ensure the sprint is on track. During the meetings, transparency is key. In fact, the entire framework relies heavily on transparency and the free flow of information.
4. The SCRUM Master’s Oversight: The SCRUM master is master in name only. He or she is a SCRUM specialist who plays a very crucial advisory role to the development team. Their experience and skills are welcome additions to the variety of skills and know-how already present in the development team.
5. Sprint Completion: Sprints are complete when they are ready for delivery. Regression tests should be done to avail much-needed learning opportunities.
6. Review: After every sprint, you will undoubtedly identify positives and negatives in the process. The review provides an opportunity for improving the process. The focus is on replicating what worked and modifying or doing away with what did not work.
7. Repeat: After the review, it is time to repeat the cycle. The team goes back to the backlog and identifies the next high-priority task. The lessons learned in every sprint are used to improve the next cycle.
SCRUM rules are not set on stone. Each team should modify the process appropriately to fit their specific needs.