It’s been ages since I gave you an insight into the development work at Digitec Galaxus AG – too long ago, in fact. Perhaps you remember this article:
Some time has passed since then and in the meantime the development department has expanded from five to twelve scrum teams. This brings with it its own problems that have to be carefully addressed. Various challenges arise from that, and we don’t think these will reduce in the coming years.
As a result of the swift growth of the development department, we noticed growing inertia linked with the company’s growth and saw growing need for development to develop further. (That sounds logical… or like a tongue twister. You decide.)
It goes without saying that complexity is complicated. «Simple can be harder than complex: You have to work hard to get your thinking clean to make it simple,» as Steve Jobs succinctly put it. Simplifying processes and problems requires not only technical knowledge but also detailed understanding of business procedures.
If a system is divided up in a strange manner, you just make the whole process unnecessarily more complicated. Instead, you could split it in such a way that you stay on top of things. Modularisation is good, but it’s not a cure-all. Creating purposeful modules doesn’t automatically remove complexity from the equation. It just transfers complexity to the interfaces between the systems.
In an ideal world, there would only be a few interfaces that would be as stable as possible. This would let teams concentrate on the work in one single module, rather than having to worry about the rest of the application.
Complexity can only be reduced when the requirements and capabilities of the system are reduced. Consequently, the primary goal isn’t to reduce complexity but to keep it under control.
How do you make it easier to keep control of complexity?
What I think are the important takeaways:
Here is a quick look at what happened at Digitec Galaxus AG in the last 15 months. You also get a sneak preview of what we have planned to further grow our development department.
The scrum teams were given a specific domain – in other words, a specific business area, such as logistics, product management or the online shop. This meant each team could specialise in their domain and develop improved and more elegant solutions thanks to a greater depth of knowledge. Each business area is normally represented by a department. The development teams work as closely as they can with the relevant departments to find out how to generate the most added value for customers with the current options. It’s also very important for us to have the most stable teams possible. Ideally, teams should work so well together that they’re in the zone.
Our teams are no longer comprised of just software developers. We think it is important to combine all of the skills needed in the domain or subdomain. For instance, our online shop team includes interaction designers and front-end developers. Depending on the context, there may also be a requirements engineer, business intelligence specialist or systems engineer. The purpose is to reduce interfaces and shorten communication paths. A set-up like this should let teams work independently and stop them being held up by any obstacles.
On the whole, we build new teams from new members of staff. This stops the team makeup forever changing and ensures greater stability. To get staff trained and up to speed quickly, we give them a coach who covers specialist knowledge and methodology. Each new team is assigned a software developer who knows our environment inside out. They stay with the team for a set amount of time so they can answer any questions. A coach also focuses on the methodical side with the whole team when they’re working on scrum and agile software development.
It’s vital that every member of staff has the relevant information at their fingertips so they can work as enterprisingly as possible. This means that there is almost no company information that isn’t available to employees, be it our strategy, mission and vision or the results of staff surveys. This lets everyone check that what is supposed to be done is, in fact, in line with the company strategy. We think all our staff should know what kind of service we want to offer our customers. Our value proposition is public and transparent, meaning every customer can see how we measure up when it comes to performance versus promise.
Advances in technology have led us to the conclusion that the future lies completely in the cloud. Even today, new features are first or exclusively offered in the Cloud. With the multibillion investment in various Cloud platforms, this is set to further pick up pace. We won’t be relying on one sole provider to use Cloud services but on several. The deciding factors for us are the flexibility and innovation you get from the Cloud. That’s why new services will only be developed there. This will also be the case for overhauled business areas. We’ll be moving them as much as possible to the best Cloud platforms. At the moment, we have a few services on the Google Cloud Platform, Microsoft Azure and Elastic. Any parts of the application that haven’t been adapted will still run on our dual data centres on the premises. It doesn’t get more hybrid than that. This is yet further justification for the increasing importance of DevOps and why it is only set to get more important in future. After all, in the Cloud, infrastructure will be part of the application.
I can’t think of any more changes at the moment, which probably means this article is already too long. With that, I had best sign off and try not to leave you waiting too long for the next update – well, not for a year. At least if I do that, I’ll be less likely to forget what has changed.
We want to be able to develop even faster. If you like the sound of our vision, you may be interested in one of the jobs in our development department. It goes without saying that growth comes with an array of challenges. But if you’re the right fit, we know you’ll want to roll up your sleeves and get stuck in.
You have to be logged in to create a new comment.
You're not connected to the Internet. Please check that your connection is enabled to keep browsing the site.