As a senior executive, you care a lot about your teams moving fast.
So when a team misses its committed launch date, you show great displeasure.
You demand more accountability.
You make an example out of this team.
Other teams see this.
They are not stupid.
So they learn.
And from now on, every single team hits their committed launch dates.
You are very happy.
I can see it.
But my friend, I am so sorry to tell you:
You are no longer moving as fast as you were before.
Plus, what you ship will no longer be as high quality as before.
And over time you start to see this too.
You are not stupid.
Even though everyone is hitting their launch dates, something has changed.
Things seem to be moving slower than before.
And you have no idea why.
So you call meetings.
You set up check-ins.
You set up processes.
But despite all your efforts, nothing changes.
That gnawing feeling that you are no longer moving fast persists.
That embarrassment of seeing your teams ship a shoddy experience is all too common now.
And you have no idea why.
The answer is right there.
You are no longer moving fast because of YOUR communication.
Instead of creating a culture where teams have intrinsic motivation to move fast — because they are energetic and they care — you started punishing the odd case where a team misses its aggressive target date.
And so, by doing that you sent a message to everyone: Don't be very ambitious, because the reward for ambition is punishment.
I know that isn't the message you wanted to send.
But by doing what you did, it is the only message you will send. 100 times out of 100.
What could you have done instead?
When that team missed its launch date, you could have sent a positive message instead of punishing the team's leaders.
You could have used this opportunity to build & maintain a culture of aggression and ambition.
You could have said:
"I understand why you missed the launch date.
I'd rather that you stay aggressive and sometimes miss the date than being conservative and always hitting the date.
I don't want you to stop being aggressive by default.
And we want more teams to be like you."
At this point, you are either seeing the value of this approach or you are trying to find reasons to reject it.
And your reasons are quite flimsy, such as: "But what about launches that have an external commitment?"
You are smart. You can figure that one out.
But okay, let me spell it out for you:
1. Most launch dates should not be committed externally. So don't commit dates for most launches.
2. A few launches need external commitments (to customers, or regulators, or partners...)
3. For the launches in # 2, sure, commit a conservative launch date that you are almost certain to hit.
4. But even for those, ask the team to devise an aggressive internal target date. It's okay if they slip this date. But it's important to have that aggressive internal target.
Why? Because remember Parkinson's Law:
Work expands to fill the time allotted for its completion.
Have you ever noticed how teams always struggle to hit their launch date, no matter how conservatively they've set them?
Yes, that's because of Parkinson's Law.
Look, I know it's easy to have dogma around "always hitting dates".
Dates are an easy, but incorrect proxy for your teams' velocity, ambition, and energy.
Though if you still want to maintain your fascination with hitting all dates, I am not sure I can (or even want to at this point) convince you otherwise.
But then I also guarantee that you will spend your entire career managing teams that move slower than they really can and/or ship lower quality products than they really can, and you will spend your entire career setting up check-ins, processes, spreadsheets, and carrots/sticks trying & failing to solve a problem that you created in the first place.
Best of luck to you!
I’m a bit concerned over my ability to make ends meet over the next few months. So, if you have any ImageSharp based work you’d like me to consult on or develop please get in touch.
One of my many targets this year is to get Microsoft to purchase a @SixLabors license. I know they use the old Apache versions but it's time to upgrade!
Hiring for multiple dev positions:
Levels: intern/entry-level
Compensation: 190,000 - 210,000 USD
Tech stack: Golang, Node.js, TypeScript
- RTs appreciated
- Roles based in Seattle/San Jose
- Benefits include free breakfast/lunch/dinner
- Reply for direct referral info
Hey all you Blazor WebAssembly users out there! How are things going with Blazor WebAssembly debugging? What sorts of pain points are you still hitting with the debugging experience? Please include details of your .NET and Visual Studio versions if possible!
Practically I want to move to Proton family because it’s a great deal with Proton Pass coming up. There isn’t a better value for money package for personal digital privacy once proton pass is available. So I’m eagerly waiting for Proton Pass @ProtonPrivacy
🎁 We’re doing a giveaway for a year-long Proton Family plan subscription!
We recently introduced Proton Family to make #privacy accessible to everyone. QT this with your story about why you want to move your family members to Proton. And make sure to tag @ProtonPrivacy.
https://t.co/p3GVqyVRt6
Anyone from the Blazor team at MS here?
Blazor Serverside seems to not use any compression on the payloads sent for the JS RenderBatch.
Can this be configured?
if not, why?
@davidfowl Yeah. But also, I try to define vertical slices in my application. I favour replaceable over reusable. I don’t mind DTOs, I see its place. But I’m curious to know what is a better alternative to it.