With these short cycles, we can quickly see the result in our software and get feedback on it, which helps us move along with the market. Our release process for our Azure cloud solution is set up specifically for this purpose so that improvements and new functionalities can be released to our customers quickly. In this blog, we want to tell you more about our working method and its benefits.
Most of our teams use the Scrum Framework as their Agile method, but we also use the Kanban Framework. All of our Scrum Teams consist of a Product owner, a Scrum Master and Developers. The term ‘Developers’ can sometimes be confusing because programmers are often also called developers. But in the Scrum Framework, the term ‘Developer’ is used for all team members that work together to create a great product. This includes software developers, configuration & test engineers and a business analyst.
The following is a schematic overview of our way of working:
Product Owner: the voice of the customer
The Product Owner is responsible for maximizing the value the team delivers. This means that the Product Owner is in constant communication with the stakeholders to discuss what improvements and new functionalities contribute the most to our solution. An important way for us to get insight into the customer requirements are our customer panels, in which customers together with the Product Owner define the requirements and determine the priorities. These are kept in a list; the Product Backlog.
Athletic influences: sprints
In order to deliver software in short cycles, the Scrum Framework works with so-called sprints. A sprint is a brief period of a set amount of time. At Ultimo, we work with sprints of 2 weeks. Sprint always follow each other back to back.
Because our sprints are short, the periods are very manageable and we can plan fairly accurately. It also makes a team agile because a new goal for the next sprint is defined every two weeks. And, of course, one of the biggest benefits is that feedback on the realized work can be given quickly. Feedback from stakeholders and, even more importantly, our customers because we continuously release to the Azure cloud.
At the start of every sprint, a sprint planning meeting is held in which the team decides what goal they want to achieve in this sprint and how they can ensure a usable addition to the Ultimo product is created. The aim is to deliver usable software every sprint.
Items from the backlog that contribute to the overall goal are placed on a sprint backlog. To decide how many items of the backlog the team thinks they can implement in the following sprint, they regularly assess items on the backlog using so-called Story Points. The more Story Points are assigned to a backlog item, the greater the effort to implement them. The teams keep track of approximately how many Story Points they can finish in a sprint so they know how much work they can do when deciding on a goal in the Sprint Planning. So we don’t work with very detailed time estimations but with Story Points.
In a poker game, backlog items are viewed and assessed in relation to each other. Story Points follow the Fibonacci sequence of 0, 1, 2, 3, 5, 8, 13, etc. The higher the number, the more room there is between it and the previous number. Usually, more complex work comes with more insecurities, which makes it increasingly difficult to assess it accurately. That insecurity is expressed in these numbers. The entire team is involved in the estimations. The backlog items are assessed in poker sessions where everyone has cards with this sequence of numbers.
The Product Owner explains every backlog item, the team members ask questions until the item is clear for everyone and then everyone plays a card. If there are major differences in the assessments, a discussion will follow between the team members to discover why someone thinks a backlog item is a lot of work or why not. This can then lead to important new insights. These poker sessions take place during the so-called Refinements of the sprints, during which the team already looks at the work for the upcoming sprints. These assessments are then available during the Sprint Planning session, making them important input for efficient sprint planning.
The teams are independent, multidisciplinary and can autonomously decide how to do the work. Every day during the daily scrum meeting, the team briefly discusses whether they are still on track to achieve the set goal and adjusts where necessary. At the end the sprint, the team has a Sprint Review, in which they view the result together with the stakeholders and determine possible improvements and follow-up steps. As a final step in the sprint, the team evaluates their own working methods, processes and collaboration during the past sprint in a retrospective to see what they can do better in following sprints.
The Scrum Master of the team is responsible for the scrum process, the effectiveness of the team and coaching the team in self-organization, because there is no hierarchy within the team. If the team encounters issues preventing further progress that they cannot solve themselves, the Scrum Master will take action.
During a Scrum or Scrums Meeting, the teams discuss on a weekly basis whether there are any dependencies between the teams and discuss issues that may affect all teams.
Ultimo adopted Scrum years ago to implement improvements efficiently and effectively for our customers. So we can rightly say that we are very experienced. The great thing about Scrum is that every team can have its own identity and choose its own path within the set boundaries. Teams keep learning, and that which we learn helps us to continuously improve our processes and products. And of course, sometimes intended improvements don’t pan out the way we expected. But luckily, we also have the flexibility to adjust quickly!