Skip to content

Commit 31fed4f

Browse files
committed
New post on flow
1 parent 14e8c75 commit 31fed4f

1 file changed

Lines changed: 69 additions & 0 deletions

File tree

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
---
2+
layout: post
3+
title: "Flow is sacred"
4+
author: "Marcus Hammarberg"
5+
date: 2025-06-12 04:00:00
6+
tags:
7+
8+
- Agile
9+
- Life of a consultant
10+
- Lean
11+
---
12+
13+
I've been writing some code this week. Well, I do most weeks, but this week I teamed up with some folks here at work. It was great fun — and actually pretty useful.
14+
15+
What struck me, though, were the blockages in the process. Some of them felt even built-in. That kind of slowness was frustrating, and I think it could have been avoided.
16+
17+
I was lucky to work alongside [Lars Albertsson](https://www.linkedin.com/in/larsalbertsson/), learning from his vast experience at a few of the top software companies in the world. One phrase Lars kept repeating stuck with me as we set up and refined processes at [Scling](https://www.scling.com/):
18+
19+
> Flow is sacred — don't disturb the flow.
20+
21+
This simple mantra carries profound implications. Not just for you.
22+
23+
<!-- excerpt-end -->
24+
25+
Flow, in Lean thinking, describes the smooth, uninterrupted movement of value through a process. It’s the ideal state — and anything that slows flow — waste, stoppages, delays, bottlenecks — should be rooted out and removed.
26+
27+
When choosing how to work, we often control how flow in our process is affected. Take this example: at Scling, we did code reviews out-of-band, and approvals on pull requests weren’t mandatory to merge a feature. But passing our continuous integration (CI) pipeline was mandatory (and it was fast... ish).
28+
29+
WHAT?! What are you doing, man? In the words of Borat: *“It’s like giving a gun to a monkey. VERY dangerous.”*
30+
31+
Here’s the reasoning: sure, we need other eyes on *how* the code is written, but *what* it does — specifically whether it breaks anything — should be caught by our build pipeline. If bugs slip through, that’s a strong signal our pipeline isn’t good enough, and we need more tests and verifications.
32+
33+
A manual gatekeeper, like a PR approval, interrupts my flow (trust me — I’m waiting now on an approval for a one-line change in a build script). Worse — it also interrupts someone else’s workflow. Double-anti-flow move.
34+
35+
Or consider a failed item in a batch that throws an error and blocks the entire batch until someone fixes it. If flow is sacred, we let the other items through and flag that 1 in 4,363,225 items needs fixing. Flow is sacred for users, too.
36+
37+
There are other ways to tackle this — mob or pair programming means your code is always reviewed in real-time, for example. But the key mindset is this: do whatever you can to *not* break the flow.
38+
39+
Yes, yes — I hear you. *“In our industry, standards say we must...”* or *“That won’t work because...”* or *“We’re not allowed to...”*
40+
41+
But seriously — what is your flow worth? What’s the cost of me (and my two reviewers, from two different departments — I’ve been there) waiting, blocked from moving forward? Very likely I’ll start something else, jump through hoops to keep busy (double repositories or `git worktree`, anyone?), making things more complicated and slowing flow even more.
42+
43+
It’s simpler to start with a straightforward mantra: *Flow is sacred.* Let everything else bend to that, and improve your process accordingly.
44+
45+
Most processes involving multiple people spend most of their time waiting (in my experience). This is [a separate blog post I wrote](https://www.marcusoft.net/2018/03/a-simple-diagram-on-flow-efficiency.html) — I’ll just steal the image here.
46+
47+
![Most of the time in a process is waiting time](/img/flowefficiency_2.jpg)
48+
49+
### How to Protect Your Flow
50+
51+
We can often do way more about these waiting times than we think. Let’s do it!
52+
53+
Here are a few things I’ve found helpful to keep flow sacred in your work:
54+
55+
- **Automate what you can.** Build fast, reliable pipelines that catch bugs early so manual gates become unnecessary or lightweight.
56+
57+
- **Minimize handoffs.** The more people or steps involved, the more chances for waiting. Consider pair or mob programming, or at least asynchronous reviews that don’t block merging.
58+
59+
- **Limit batch sizes.** Smaller batches mean less risk of blocking the entire flow when one item fails.
60+
61+
- **Communicate proactively.** If something does block flow, make sure the team knows quickly so it gets fixed without unnecessary delays.
62+
63+
- **Challenge your process often.** Ask yourself and your team: *Is this step helping flow, or hurting it?* If it hurts, what can we do differently?
64+
65+
Flow is not just a buzzword or a fancy Lean concept — it’s the lifeblood of productive, happy teams and satisfied users. Protect it like the sacred thing it is.
66+
67+
---
68+
69+
What do you think? Should I help you polish this section more, or perhaps add a short story or example from your experience to illustrate any of these points?

0 commit comments

Comments
 (0)