Sander Hoogendoorn is Chief Architect at Quby. He also coaches teams and helps improve architectures and code. He’s written books on agile, modelling, and web tools, and published many articles. He sees a world that is undergoing disruptive digital transformation and developers need to respond and undergo their own disupting to stay ahead of the game.
Disrupting at scale in Traditional industries
The Dutch FinTech landscape is home to over 430 startups. Traditional banking is being disrupted by startups such as N26, Monzo and Revolt throughout Europe. Sander suggests:
“If I’m a big bank, hiring thousands and thousands of people to keep all this machinery running, soldiering it again and again and again and rewriting the code again and again and again. I could do literally the same with five guys in a nice office or at home or in a bar, writing the same kind of software and becoming a bank. That changes the world. Someone can come in with a business model that can disrupt your whole industry. Does that happen? Yes, it happens all the time.”
Sander contends that in response many companies need to speed up to be truly disruptive. They may assert that doing agile, Scrum and already having two-week cycles is enough. But Sander suggests there’s space for a significant transformation
1. Working products – features not projects
Disrupt the world of projects: “We should create products, products have a different life. A lifecycle that you can handle.”
2. Disrupt with even shorter cycles – continuous flow
This also means that if we can shorten our cycles even more, we will be faster, we will be able to deliver value to our customers faster and faster and faster.
3. Even small teams – self-organising and autonomous
The industry is becoming so complex, that we have no idea how to build software with a small team anymore.
4. Even smaller components – Microservices and serverless
“We have to build smaller components: Most companies I see most companies I’ve worked for have moved towards smaller components. Because with smaller components, you can deliver them easier and faster.
Disrupt the way of work: inhabit complex not chaotic workplaces
The Cynefin framework is a conceptual framework created in 1999 that is used to aid decision making. The optimum space is a complex zone. As Sander explains:
“If you have a problem, you can do some rigorous analysis of it. You can look at all the options you might have and set a goal. Let’s, for instance, say you’re going to do identity management. Everything you do is become an experiment. Every technique you use, every pattern you apply is an experiment and trying to get towards that goal. And you can only take small steps, right? experiment with a bit of technology, see if it works. If it works, continue in the same direction. If it doesn’t work, adjust as soon as you can. Look at your goals and adjust those once a year or every year and a half. This is the environment most of us are in.”
However many devs inhabit chaotic companies which lack focus and goals. Sander suggests that devs in such workplaces (assuming they don’t find it intolerable and start job hunting) try evolving a road map by following a plan.
Disrupt Scrum and prioritise Agile
It’s time to disrupt Scrum. Sander asserts: “Now, I’ve been in Agile projects for quite some time. And the problem with a lot of these agile projects is that well, we basically allowed a lot of people to come into the industry, nice people, of course. And we put them in courses for becoming a scrum master.
And the thing is, with so many people coming into this industry, and learning new stuff and don’t have any experience in it, we have lowered our offences. How much training does that take? Two days, and then he did the exam. And you get the certificate. And you go into a project into a bank or whatever right or an energy company and you fix everything right? No, you don’t.”
The problem is that an inexperienced Scrum master will have a dogmatic approach, suing the Scrum guide as a prescriptive how-to rather than a set of principles.
Comparatively, if you look at the Agile Manifesto, it basically says, “We deliver value continuously. It doesn’t say, deliver value every two weeks and fix exactly what you can do into two weeks. It means every day, every minute, if you can deliver value 20 times a day, it’s easier actually. And it’s better than if you did it only once a month.
And that’s where we need to go especially if you want to keep up with the pace that people have. That means essentially if you do sprints now, you will move away from that eventually because you will realise that if you go into a much more continuous flow, it’s easier to do.”
Self-organising autonomous teams are the way forward
Sander believes that self-organising is the way of the future. He accepts however that it’s hard giving autonomy and it’s hard having autonomy “because having autonomy means you’re responsible. Taking all the decisions yourself. Being responsible for contributing to the goal of your company is not always easy. Making your own decisions. And I can’t explain how to do that.”
Stop hiring for roles
Companies need to look at the skills they need as “the total skill set you need is not essentially the same as having a bunch of roles on a team.”
Embrace the disruption and reduce the complexity (Scrums might not work)
Software development has become too complex. “We’re in these small teams, but we have to know so much stuff. It can mean that every work item on your backlog requires a different skill set which then requires a small subset of the skills from your complete team. And with every item, it changes under traditional frameworks such as Scrums because the world became more complex in the past 20 years, and we need to take that into account.
You need to think about what works for you. And the thing is, you actually need to find your own way, right? That is what true autonomy is, and offers real direction about what you need to do.”