When I ask who owns whether the product is genuinely good, the answer is always some version of "everyone." Everyone means no one.
Read35 years inside the machine
Not the process. Not the methodology. Not the roadmap. The thing that ends up in the hands of real people, solving a real problem. That's the only measure that matters. Everything else is in service of that.
I diagnose what's actually blocking it — then stay and help you fix it.
How I work
The Treasure Map of Software Development
The same pattern. Every time.
The frameworks ran. The problems stayed.
Most software organisations are full of talented, hard-working people doing exactly what's expected of them. The developers care about the code. The product managers care about the roadmap. Leadership cares about delivery.
And something still isn't right.
Products ship late, miss the mark, or quietly accumulate technical debt that makes every future feature slower and more expensive. You've probably tried to fix it. Hired people. Possibly run a transformation. The ceremonies ran. The status reports looked fine. The underlying problems stayed — and then surfaced somewhere else.
Here's why: good people, doing their best, inside a system they didn't design. What each person sees, reports, and acts on is shaped by where they sit and what they're measured by. By the time the picture reaches the top, it's passed through every lens in the organisation — each one honest, each one partial.
You can feel the gap. You can't see the source from where you stand.
The real issues live in the friction between business goals, organisational structure, and technical reality. They cause each other. And they're hardest to see from inside the system generating them.
I've spent 35 years at every level of that chain — developer, architect, team lead, CTO. I still write production code. That means I can sit with your developers and hear what they're not saying in the status meeting. I can read what your codebase says about the decisions that have been made. And I can have an honest conversation with the people who have the authority to act on what I find.
Then I stay — not to create dependency, but to remove it. Working with the people inside who will carry this without me. No master plan. Small, incremental experiments — safe enough to try, visible enough to learn from, honest enough to stop when they're not working. No long-term contract. No minimum commitment.
The goal is to make myself unnecessary. The diagnosis comes first. Always.
Your current organisation is perfectly built to create the results it gets now — problems included.
— Bo Frese
Featured article
You can't force a team to become high-performing. But you can absolutely prevent it from happening. Here are the 13 most reliable ways organisations do exactly that — mostly through well-intentioned management decisions.
Read the articleWhen I ask who owns whether the product is genuinely good, the answer is always some version of "everyone." Everyone means no one.
ReadThe ceremonies are happening. The Scrum Masters are trained. PI planning runs every quarter. And yet nothing has fundamentally changed.
ReadMost organisations already carry more technical debt than they can handle. AI is about to accelerate the problem significantly — unless you address the underlying quality culture first.
Read
About Bo
I've been building software since 1987. I still write code today — not because I have to, but because I love it, and because staying close to the craft is what keeps the thinking honest.
The advisory work and the technical work are the same thing for me. They've never been separate.