Knowledge Base / Scrum Team / Developers / What do the Developers do?
Developers plan, coordinate and execute their work autonomously
Together with the Product Owner and Scrum Master, the Developers form a self-managed team: the Scrum Team. As part of this team, the Developers have the autonomy to plan, coordinate and execute their work in each Sprint. In line with this, they not only take responsibility for their actions but also expect the same level of commitment and professionalism from the other Developers.
During the Sprint Planning meeting, the Developers collaborate and negotiate with the Product Owner to decide what they believe can be carried out during the Sprint that has just begun. That is, based on the order of items defined by the Product Owner, they have the last word regarding how many items will be part of the Sprint plan, the Sprint Backlog (see the chapter Sprint Backlog).
To better understand their capacity to work in each Sprint and thus assist them with the planning, the Developers can use estimates for the implementation of each Product Backlog item. These estimates, when used, are always performed by the Developers themselves and never by the Product Owner, Scrum Master, or anyone else (see the chapter Story Points: estimating work).
The Developers also define – but together with the Product Owner – a realistic Sprint Goal, which will guide their work during the Sprint, and they will seek to realize it by implementing the selected items.
Note that the work planned for the Sprint is just a forecast. While they will do their best to complete this work, the Developers’ primary focus is on realizing the Sprint Goal. Given the inherent level of uncertainty in the work, it is common and perfectly normal for them not to complete all the initially selected items. The Scrum Guide (SCHWABER; SUTHERLAND, 2020) mandates that, as soon as they realize they selected too much work, Developers must call in the Product Owner and renegotiate the Sprint Backlog, always keeping the Sprint Goal intact. In my opinion, as long as they work together, in the defined order, and complete sufficient work, they should be able to achieve the Sprint Goal. By working this way, in case there are items left, they will be the least important to the Sprint Goal.
It is important that the Developers have the necessary space to create and develop – within their capacity and at their pace – their own means to realize each Sprint Goal. Since they are the ones who will perform the development of the end-to-end product itself, they avoid external dependencies and have the autonomy to plan how they will implement each of these selected items, and to adapt that plan each day as necessary. This is often done by breaking items into tasks.
During the Sprint the Developers perform the work to transform each item in the Sprint Backlog into a done feature of the product, according to the Definition of Done, in order to realize the Sprint Goal. They have the autonomy to conduct this work as they see fit, organizing, dividing and coordinating their tasks, monitoring their progress and finding their own solutions to problems that may arise along the way.
However, I should emphasize that when we talk about autonomy, we are talking about the Developers as a group, and not individuals. In other words, the idea is not that each person does what they think is best, but what the group believes should be done. In addition, this greater autonomy should also not be confused with anarchy or the lack of control. It is exercised within the limits established by Scrum, by the organizational context, by the needs of the customers and users and by the implementation order defined during the planning of each cycle to realize the Sprint Goal that they negotiated with the Product Owner.