The scrum model is an agile development method where several small teams work in an intensive and mutually supporting environment. It involves real-time decision-making processes and requires specialized and trained teams that can engage in efficient communication, decision making and self management. The teams work in conjunction on a common goal.
According to the scrum model, the software project progresses through a series of sprints. These sprints are timeboxed for a period of 2 weeks to a month. The methodology requires a meeting to plan the start of the sprint. During this meeting, the team determines the number of items they will work on, and then build the sprint backlog which is a list of all the tasks to be performed in a sprint.
A scrum sprint involves the team taking a small part of the project from concept to code to tested functionality. All these features are then combined to create the system. Every day a scrum meeting of 15 minutes is held including the stakeholders, the team and the scrum master. According to this model, the daily scrums are seen as a way for synchronizing the work of different teams.
When a sprint ends, the team performs a review where they demonstrate the requirement functionality to the stakeholders who are interested in giving feedback to impact the next sprint. The feedback in the scrum development model can change the latest functionality, but usually revises or adds items to the project backlog.
An important activity in this model is the presentation at the end of the sprint. This meeting is attended by everyone including the stakeholders, the scrum master and the team. During this meeting, the sprint is reviewed and everyone involved identifies any opportunities for improvement.
During a sprint, the scrum master’s job is to shelter the team from any type of distractions and make them focus on the objective. The product owner on the other hand prioritizes the backlog during the development, ensuring that it remains updated with the requirements as new insights are learnt.