The SCRUM project management framework is very popular in the IT industry.
At our Drupal development agency, we decided to implement SCRUM as a basic tool for working with our clients a while ago. In this article, you can read more about the ins and outs of such an approach, as well as about how it benefits both parties.
SCRUM is very easy to understand, yet quite hard to properly implement. Terms and concepts such as Daily, Sprint, Retrospective, Sprint Review and Product Owner do not make it easy for a person who never had to deal with them before. However, in reality, SCRUM is based on very simple principles.
Imagine that a client comes to Droptica and wants to commission a corporate website. The first stage after getting to know the client’s expectations is to build a team to deal with this particular task.
Sprint – the basis of SCRUM
Teams at Droptica work in two-week work cycles. Due to their short duration, these are called Sprints. During the Sprint, the team is focused on achieving the goals set as the Sprint Goal, which may be, for example, to design or implement functionality in the website. It is important that the goal remains realistic and can be implemented within one Sprint. The process of implementation of the Goal consists of small tasks. We try to make sure that individual tasks take up little time. If possible, we divide large tasks into smaller ones, which gives us greater control over the scope, and the client can see the results of our work more quickly.
Why do we work on small tasks?
A small task is one that a team member can do in a few hours. Thanks to the fact that carrying out such a task takes little time, the number of tasks successfully carried out within one sprint goes up quickly. This enables the client to monitor the development of the project on an ongoing basis and gives them a sense of control over the work. The Sprint Goal is set by the Product Owner (one person representing the client) in cooperation with the team, based on business priorities.
The main advantage of SCRUM is the gradual, visible development of the product. The Product Owner has insight into progress and keeps in constant touch with the team. This allows the teams to avoid the problems occurring in the case of the competing Waterfall model, where the client sees what the developers have been working on only after many months, often resulting in disappointment and high costs since they have to pay for the work done.
SCRUM is flexible. For example, at the beginning, we establish the order of tasks that need to be carried out with the Product Owner. Such tasks may include, for example, implementing logging in and signing up functionalities on their website. However, if in the course of the project it turns out that the product page is more important for the Product Owner (for example because they want to present their offer as soon as possible) they can talk with developers and set it as a goal for the next Sprint and – as a result – change the development priorities. The Product Owner and the team work in a responsive way, reacting to changing circumstances and solving current problems.
The SCRUM process is focused on continuous delivery of functionalities that bring added value to the business. Most often, after just a few Sprints, the client can take a look at an advanced project and compare it with initial assumptions and expected end results. In a situation where part of the business strategy is redefined, the Product Owner can make some significant changes to the project, switch things around in the task list or add new tasks that were not previously considered to be business goals, then remove things that weren’t yet finished or simply cancel them altogether. Thanks to that, the team pursues actual business goals and does not blindly follow the extended technical specification delivered by the client in the very beginning of the project – that was the case with the Waterfall model.
Given the above context, the client controls costs and expenses, and they have the ability to plan what their money is spent on first. By working closely with the client, the team gets to know their expectations better. The developers are constantly available to the Product Owner, and thanks to this relationship the project is better suited to those expectations.
Where do the tasks for the team come from?
The tasks for the team are assigned by the Product Owner on the basis of business goals and objectives. A general list of all tasks, called a Backlog, is developed together with developers. Backlogged tasks can be assigned to a given Sprint, or they can wait for their turn to be implemented. The tasks may be also removed from Backlog, which means that they are effectively abandoned.
SCRUM and meetings
In the case of SCRUM, the team meets at meetings, which are held on a regular basis. During these meetings, individual team members get tasks assigned to them. After planning, the tasks are carried out over the following fourteen days. The team meets every morning for a short meeting dubbed a Daily, which runs for 15 minutes at most. During the Daily, every person answers specific questions: what did they do since the last Daily? What are they planning to do until the next Daily? Are there any obstacles? Do they need any support from other team members? Meetings make communication and cooperation within the team more effective, enabling everybody to stay updated and help each other achieve the Sprint Goal.
At the end of the Sprint, the results are summed up and the results of the work are presented. Sprint Review is a meeting aimed at presenting the progress and receiving feedback on the results of the team’s work.
A Retrospective is a meeting during which the team shares their feedback and comments on the finished Sprint. The team members can share their feedback regarding the process and propose improvements for future Sprints. The aim of the Retrospective is to summarise best practices and improve processes that need to be refined in the next Sprints. At Droptica, we want each Sprint to be better than the last one and the team to develop and perform better over time.
There are no permanent teams at Droptica, as every team is put together separately to work on a given project. Sometimes they are smaller, sometimes they are bigger. All in all, the nature of the team and its line-up are determined by the client’s expectations and their project.
Every meeting can be attended by a Product Owner; however, they don’t have to be there for every single meeting. For example, during the Daily, the presence of the Product Owner is not necessary (but desirable). The PO can listen to what the team is currently working on.
Product Owner is needed in planning (determining the Sprint Goal) and during Sprint Review (presenting the results of the Sprint); they do not necessarily have to take part in the Retrospective (Sprint summary), but they can participate if they want to.
SCRUM is an ideal tool for building complex projects involving many stakeholders. Thanks to its transparency, it allows our clients to see the process and its results while giving them more control over the implementation of their needs and expectations. It is also an important tool for saving and controlling budgets because the client does not have to spend money on unnecessary functionalities that are not needed at the moment. In short, the client pays for what they really need. This approach is ideal for the relationship between our clients and Droptica, which results in satisfied clients, as well as projects that are constantly being developed by our teams.