The difference between a self-managing team and a managed team
2022-01-15 20:18
This won't take long, but helped bring things into focus for me.
The first one's Agile. The second one's bureaucracy.
Comment for me? Send an email. I might even update the post!
2022-01-15 20:18
This won't take long, but helped bring things into focus for me.
The first one's Agile. The second one's bureaucracy.
2022-01-02 16:00

I'm on a mission. It's a doomed mission primarily because I'm a little-known software engineer who's read by--maybe--a dozen people in the world. But that's OK. If my mission appeals to you, then that's a little bit of success in my life.
My mission is to change the phrase "work-life balance" to "HOME-JOB BALANCE"
Making my case won't take long. Here it is.
We all know "work vs. life" is wrong. Work is part of our lives, it's part of life. With the increase in remote work--note: work from home--we need to be clear about what we're balancing.
"Work" isn't something we just do for our jobs. We work at being good spouses, good friends, good parents, at taking care of our bodies and minds. Work isn't bad.
So, what I'm balancing isn't work and life. What I'm balancing are my home and my job. When and where am I "at home"? When and where am I "on the job"
This is hard, for sure, especially for workers who have children or are caregivers for relatives. I think it becomes easier when we stop thinking about "work" and "life," and frame our lives as "home" and "job."
This is the first article, the "what" of the mission. My next will give guidance on how, a lot of which others have already written about.
In the meantime, here are some questions to answer:
HOME
JOB
CRUCIAL DIFFERENCES
I'll post again soon!
2021-12-28 10:45
Lots of organizations try to prevent developers from making mistakes, or catch them doing so, leading to more bureaucracy and over-control. Some examples include:
Let's look at that last one more closely. One of the DORA group's Four Metrics is to capture how often release failures occur. One way to think of that is "how many severe bugs are we getting after release?"
It's tempting, then, to also track how many issues/bugs are found during development, the notion being that reducing bugs during development naturally reduces them in release. But this is wrong headed. There could be value in looking at issues found during development, but it's wrong to use this to evaluate, praise or punish developers. Why?
In short, you can't tell whether a developer is doing a good job based on development issues. That isn't why you'd capture development issue metrics. You would capture them as one metric to compare the effects of making development changes. For example, a team commits to increasing unit test quality. What effect did that have on the number of issues found?
What are you even tracking? Is it the number and severity of issues found by QA? That might be OK. But how do you know that Billy has the same standard for "severe" as Claudia? Maybe Rahim breaks down an issue into more bug reports than Luciana.
This is when bureaucratic management tries to get everyone working the same way with endless meetings on "what does severe mean?" and "what's the right way to report issues?" Some of this matters, sure. But thinking this way more often misses the point. Its focus is on treating people as replaceable resources, as machines.
The coercive style of management has these qualities:
Restrict. Prevent. Catch. Punish.
Those qualities can be summed up as "Developers, we don't trust you."
What if, instead, we use a reliable metric--change failure rate--to guide improvement? Further, what if we let the teams figure out how to make that improvement, allow for mistakes, and measure what matters? We'd end up with a trusted team.

In a Trust Team environment, you
Again, let's dig into that last one and contrast to an untrusted team.
In the untrusted team, if a severe bug is discovered, several assumptions are made.
In a trusted team,
In the future, when something goes wrong:
Build trust, not scapegoats.