Scrum Development Methodology: Main Principles
Agile methodologies of software development are now extremely popular among the programmers. Scrum development methodology is one of them. In spite of the fact that many software development teams and companies all over the world use it, it is necessary to talk about its main principles in greater detail.
So, what is Scrum and how to use it properly? Let’s find out.
As we have already mentioned, Scrum is an Agile method. It means that it is based on the principles of strong communication inside of the team and strong customer involvement into the process of software development.
The representative of the customer in the Scrum team is called the Product Owner. He is responsible for gathering user stories, prioritizing them, and placing them into the product backlog. The user stories are crucial for every Scrum project, because they give the team an understanding of what a user wants to get from the final software.
After the Product Owner formulates the product backlog, the team begins to work on its first sprint. Usually, sprints last about two weeks. However, they can be longer or shorter if it is necessary.
The first activity of the sprint is the sprint planning meeting. The team gathers to create the plan of the sprint and its backlog. The sprint backlog is formulated from the items of the product backlog. The developers can reprioritize them in order to optimize the terms of product delivery or its quality. As the product backlog is formulated, the team can start to perform its tasks.
Each team member may be responsible for several tasks at a time. Small sizes of Scrum teams are main reasons for that. However, you should not create large Scrum teams because it is hard to communicate effective in a big group of people.
The team conducts daily Scrums every morning during the sprint period. These meetings are required to communicate and inform the team members on the stages of performance of certain tasks. At the daily Scrum each developer reports on the progress of his work during the previous day. If he had some problems with his task, he also tells the team about them. Each team member can ask for help because all Scrum developers are multi skilled, so they are interchangeable.
After all sprint tasks are done, the team conducts a sprint review. This is a meeting with the Product Owner. He has to estimate the intermediate product. If the Product Owner is satisfied, the team can finish the sprint. Before they start a new sprint, they must conduct one more meeting that is called the sprint retrospective. At this meeting the team members discuss what went good and what went wrong during the sprint.
Another interesting thing about Scrum is that a Scrum team has only three roles, instead of having project managers, testers, analysts, and lots of other employees. These roles are: the Scrum team, the Product Owner and the ScrumMaster.
A Scrum team has no formal leader. It is self-managing. Even a ScrumMaster is not a project manager, but just a coach. His main task is to create conditions for the successful work of the team.