Quality is everyone's job. Not a phase. Not a department. Not a gate at the end. Everyone every day.
Posts by Benjamin Day
Find a way for them to change without changing. People don't resist improvement. They resist being told they're doing it wrong.
Your developers used to care. Now they just do what they're told. That's not a performance problem. That's a leadership problem.
If your company has been profitable for 10+ years but can't ship new capabilities your success has probably calcified into your architecture.
Stop estimating. Start counting. How many items did your team finish last week? That number tells you more than any story point debate ever will.
For 20 years we said 'the code IS the documentation.' AI agents don't get context from code. The documentation renaissance is coming.
'Solving the DevOps problem' isn't actually a DevOps problem. It's an architecture problem wearing a DevOps hat.
Your developers are doing 'clever' things with Entity Framework. In software 'clever' is not a compliment.
'We're 65% confident it ships by March 15. 85% confident by March 22.' That's a conversation stakeholders can actually act on.
A branch is an integration credit card. You will pay eventually. The longer you carry the balance the worse the interest.
'Yeah, we do GitHub Flow.' No...I'll bet you don't.
You have 5 product backlogs and 5 developers. You think you have 5 teams. You have 1 team with 5 bosses who can't see each other's demands.
Technical debt is compound interest. The $25k fix becomes $100k because every layer you peel back exposes another layer underneath.
The core of project management isn't 'management' at all. It's delivery.
Your app is in version control. Your database isn't. Which version of the database goes with which version of the app? Nobody knows.
Your AI agents are writing code your team can't maintain. Working beautifully... until it doesn't. I call it Comprehension Debt.
AI helps you go faster. If your development process has problems it just makes the problems come at you faster.
Everyone on your team is at 100% capacity. That's actually the problem.
What does 'in trouble' actually mean for a work item? It's subjective... unless you have data. Here's how to define 'typical' so you can spot the outliers.
'We'll refactor after we ship' = We'll never refactor. 'We'll write tests later' = We'll never write tests. 'We'll document it when it's stable' = We'll never document it.
'When will it be done?' sounds like a simple question. It's not. You're never predicting one item — you're predicting a pile of items landing in sequence.
The rewrite project isn't a process problem. It's a hubris factory. You already built it once so how hard can it be? Very. Very hard.
'They're all important! Get them done!' just shifts prioritizing to the team — and they'll prioritize differently than you would.
A client once told me they were proud of their low development costs. They had the invoices to prove it. But they were measuring the wrong thing entirely.
At 3 concurrent projects you're spending 40% of your time switching between them. That's two full days a week of pure waste.
Everyone talks about trunk-based development like it's the promised land. Just commit to main! Problem solved! It's not that simple.
You built microservices. Your services share a database. Your services reference each other's code. You don't have microservices. You have a complicated monolith.
Written software is interesting. Delivered software is valuable.
A branch is an integration credit card. What if there was a way to ship code without branching at all? Feature flags change the game.
If your team has more than 3 long-lived branches you don't have a branching problem. You have a trust problem.