Thursday, 13 April 2017
When using a Software Development Methodology (SDM) you hope it improves the efficiency of your team. Using scrum as your team's SDM has many advantages, but what does it mean exactly for your team's efficiency?
‘Effective team collaboration with scrum’ is a series of blog posts about the pros and cons of having scrum as a software development methodology.
In this blog I'll go more in depth about the pros and cons of scrum regarding your team's development efficiency. A SDM can add more overhead to your projects, but will it still boost your team's efficiency?
Using scrum as your SDM adds overhead to your project as your team spends more time on the development process. For instance, at the beginning of the day, the team will most likely first spend some time on the daily standup. At the end of each sprint, time needs to be spent reflecting on the past sprint and demoing the latest increments to the stakeholders. Instead of starting with the new sprint, the team will first have to discuss the scheduled issues for the upcoming sprint, refine them in a refinement session and then assign points to each task in order to get a unanimous understanding of the complexity of each task. All these extra events will add time to the duration of the project. At the same time these extra events contribute to a better understanding of the tasks at hand and it will eliminate unnecessary miscommunications.
Besides adding extra events to your project, scrum adds extra responsibilities. In the most pure form of scrum, one team member will fulfil the role of scrummaster. The scrummaster makes sure that the team follows the scrum rules and that all scrum events are planned. The scrummaster needs to focus on the development process instead of contributing to deliverables. This means less development time, but on the other hand the scrummaster will make sure that the team benefits from every feature of scrum. By steering the team and the different scrum events, the scrummaster makes sure the development process is as effective as possible.
When working with scrum, a sprint will normally be around 2 weeks. This means that every 2 weeks you need to facilitate a meeting for your sprint review and retrospective. This probably means extra costs. In non-agile SDM you will also plan meetings with the customer and stakeholders, but overall these meetings occur at a lower interval. An increase in interval is what gives scrum the advantage.
You could say that using scrum as your team's SDM adds extra time and thus costs to your project, but sometimes you will have to spend money in order to make money. When done right, following the scrum process will help you to have a better communication between team members, as well as with stakeholders. The stakeholders can give feedback on a regular basis and scrum makes sure that the project is flexible enough to accept last-minute changes to the customers wishes. In a non-agile SDM communication with stakeholders can be painful. When requirements are not clear at the beginning of a project, or when they change during the project, the project's duration would grow rapidly. Using scrum will make your development process more effective. It is impossible to have every single requirement crystal clear at the beginning of the project and no customer will be happy to hear that it is not possible to add extra requirements when being half way into the project. Customers want flexibility, but still expect that this doesn’t result in a doubling of the project's duration.
At first, when we started using scrum, we noticed that it added extra overhead to our project's, but when our scrum process got more pure, we also noticed it resulted in a better understanding of the customers wishes, a better communication between team members and a more flexible approach of handling new requirements. You might say that scrum does not per se make your team's development process more efficient, but it can make your development process more effective. Being able to handle last minute changes and requirements changes makes it possible to win back the extra time spend on the project's overhead. The result is that the product you developed is exactly what the customer wanted, without being required to double your project's duration. In our eyes this makes scrum an effective and efficient SDM.
In the upcoming parts of this blog I’ll go more in depth about the difference of scrum implemented on a large or small development team