SKIDATA has switched to Scrum. Markus, Head of Software House at SKIDATA in Klagenfurt, tells us what the method is all about and how SKIDATA benefits from it.
Scrum as an approach in agile software development is on the rise worldwide. How should we imagine this at SKIDATA?
We have been using agile methods for some time now. In 2017 alone we spent a total of 65 days on special training courses. The focus here is on working together and achieving goals. There are no isolated tasks to be accomplished in a “lone wolf” manner. We carry out the work quickly and in compliance with the criteria defined by the team, the so-called “Definition of Done.” Work is done in sprints. These are time horizons of two weeks. Coordination takes place with simple tools such as a whiteboard, which visualizes all relevant information. This makes the current status transparent to everyone. In addition, in Scrum we carry out so-called events that ensure communication functions inside and outside the team and that important feedback loops are observed. Communication is an essential aspect and advantage of Scrum. At the beginning, however, it often comes under criticism on account of involving many meetings. It takes a while for everyone to recognize and understand the actual value.
Markus, describe what your team is working on right now.
At our location experts are currently working on three services and/or products. Two are located in the Internet of Things (IoT) area. The third is a web portal offering our customers online access to all of SKIDATA’s online services.
How big is your team and what is your task?
I help my department's software teams develop our products and services in the best possible way. The agile term for this is “servant leader.” At our location, we have three Scrum teams with six to seven members each. SKIDATA now has more than 50 trained and 15 certified Scrum Masters.
What structure ensures that agile processes work?
Scrum essentially knows three roles: the Product Owner, the Scrum Master and the Development Team. The Product Owner is the interface with the customer and acts as the client for the Development Team. They define and prioritize technical requirements. The Scrum Master ensures that the team works together as smoothly as possible and is responsible for sticking to the process framework. They also coach the team and help remove obstacles that slow down or block the team. The Development Team has an interdisciplinary character and consists of people with expertise in all areas necessary for the work. The requirements for the team are managed by the Product Owner in a list – the so-called backlog – and are prepared together with the team. The Development Team draws work packages from this backlog, which are broken down further and implemented in successive sprints.
... which are then presented at the event?
Right. The results obtained in this way should already be usable or installable at the customer's site. The feedback either confirms that the requirements have been implemented as expected or that they should be taken input for the backlog. Paired with short communication paths, the burden of complicated processes is avoided.
What other advantages result from working with Scrum?
Certainly transparency. Some people have problems with open communication. In the long term, however, transparency helps the team and the individual to improve. In addition, there are no more phases in which, for example, only analysis, design, or testing is carried out. Fostering cooperation leads to a distribution of know-how within the team. Teams that were already good before become even better. Scrum helps teams that have problems to stabilize. Hierarchies take a back seat. There are still specialists, but basically, everyone in the team can do anything. Or to say it in the words of a colleague: “Scrum is the most natural way to develop software.” That sums it up pretty well.
Do you have a pro tip for other software developers?
The first agile guideline is: “People and interactions are more important than processes and tools.” For example, we make sure that a Team Leader does not take over the role of a Product Owner. This would affect the balanced structure of a Scrum team. Scrum is hence changing management roles. Managers take on a coaching role and pass on responsibility to teams. This is often not easy. But when used correctly, Scrum can ensure that the right things are developed in the most appropriate way.
Are you faster with Scrum too?
We see positive effects on both time to market and quality. In addition, we recognize sooner whether we are running in the wrong direction and can thus take countermeasures earlier. One is more flexible with regard to changes since there are few or no “long-running tasks” that are hard or costly to interrupt. This enables us to meet the customer's expectations better and keep troubleshooting to a minimum. Once you have worked successfully in this way, you don't want to go back.