Getting control over your systems (cw: sports analogy incoming)

Just got back from a volleyball match (nail biter, 5 sets, 15-13 in the last set, go Cougs!).

Sometimes when one of the teams would get a particularly good spike in that the other team would barely manage to keep the ball in the air. It would go flying off to one side, and a teammate would go dive to try and get it back into the middle.

They rarely could turn a play like that into a classic set-spike, settling to just get it lobbed back over the net. They weren’t in control of those plays.

It made me think about various software systems I’ve encountered in my career. (No, it really did. You write a daily publication about keeping the work baton moving in software development organizations, and you see patterns everywhere.)

You know those systems—the ones where outages are a regular and frequent occurrence. Automated tests routinely fail, but we’ve gotta push anyway. The whole thing is held together by the sheer grit and determination of the heroes who built it. Those teams aren’t in control of their systems.

When you’re in that state and manage to get the ball lobbed back over the net, how long until it just comes right back when your players are tired and out of position?

A question you hear a lot when you start an effort to stabilize things, “what business benefit do we get from taking a pause from shipping product?”

You know what else makes you take a pause from shipping product? Fighting production fires. Repeatedly paying the tax of living with workarounds rather than fixing the underlying issues.

Imagine if the volleyball teams could take a pause to get their players back in position. They’d be able to start deliberately moving the ball to where it needs to be. They’d be able to stop reacting.

What could your teams do if they could spend their time advancing your company’s strategy rather than reacting to problems? It’s a simple path to get started on. You don’t have to rebuilt everything all at once.

You just draw this one line in the sand.

The next time your teams encounter something impeding their work, empower them to fix it. Because if you don’t, you’ll probably pay that cost at least one more time.

Then rinse and repeat.


Like this message? I send out a short email each day to help software development leaders build organizations the deliver value. Join us!


Get the book!

Ready to learn how to build an autonomous, event-sourced microservices-based system? Practical Microservices is the hands-on guidance you've been looking for.

Roll up your sleeves and get ready to build Video Tutorials, the next-gen web-based learning platform. You'll build it as a collection of loosely-coupled autonomous services, developing a message store interface along the way.

When you're done, you'll be ready to contribute to microservices-based projects.

In ebook or in print.