巧妙运用虚假截止日期,避免工程师压力过大
Using fake deadlines without driving your engineers crazy

原始链接: https://newsletter.manager.dev/p/using-fake-deadlines-without-driving

虚假的截止日期虽然一开始会让开发人员感到沮丧,但如果使用得当,对管理者来说也是一项宝贵的工具。受James Stanier关于帕金森定律和铁三角的见解启发,设定截止日期有助于对抗范围蔓延并推动进度。在健康的环境中设定具有挑战性的时间盒,可以促进创新和效率提升。关键在于协作和沟通。让团队参与定义可实现的范围,并乐于协商。避免死板僵硬地遵守截止日期,这会导致倦怠和不必要的冲突。相反,要优先考虑理解和灵活性。不要害怕挑战团队,但要将期望与实际工作量相平衡。同样,要根据变化的环境调整截止日期或范围,并确保与团队保持透明。最终,有效的截止日期管理能够创造高效的工作节奏,培养信任,并赋能团队交付有影响力的成果。重要的是,不要落入初创公司陷阱,因无法交付而变成地方税务机关。

Hacker News 上的一个帖子讨论了一篇文章,该文章提倡使用“虚假截止日期”来激励工程师。绝大多数评论都持负面态度。评论者认为,虚假的截止日期会破坏信任,掩盖真实的承诺,并导致不必要的压力和倦怠。许多人认为,人为施加的紧迫感表明不了解软件开发的工作方式,并可能导致“赶工”成为常态。 评论者建议,与其依靠欺骗,不如专注于改进估算和规划流程,例如使用工作分解结构和计划扑克,促进开放式沟通,并信任团队。他们强调内在动机和创造尊重的工作环境的重要性,在这种环境中,人们愿意在真正紧急情况下挺身而出。一些用户指出,这种策略迎合了高层管理人员对季度财务业绩而非实际交付成果的关注,并且贬低了正在进行的工作。总体共识是,透明度、信任和现实的期望远比人为施加的压力更有效。
相关文章

原文

As a developer, fake deadlines drove me crazy.

I always feel responsible for delivering on time, so I used to work my ass off (weekends and nights included) just to meet a random date. And then… Silence. Nothing happens. The press release is not planned for a month yet, or another team is delayed so we just need to wait.

That was so frustrating!

Once I became a manager, I finally saw why they were needed, but felt guilty about using them.

Then, 9 months ago, I read James Stanier’s post about fake deadlines. Finally, it all clicked, and I shared that one with my team and manager.

So today, he agreed to share his take with you!

grew from engineer to SVP of engineering at Brandwatch, and is now a Director of Engineering at Shopify. In-between he wrote Become an Effective Software Engineering Manager (one of the best books for engineering managers), Effective Remote Work, and the recently released Become a Great Engineering Leader (for Director→CTO roles). Somehow he also finds the time to write - a must-subscribe for EMs!

Passing the mic to James 🎤

*Non of the links are sponsored/affiliated

Parkinson's Law states that "work expands so as to fill the time available for its completion."

Although it is counter-intuitive, you will find that through practice and experience, there is a lot of truth to this. Projects that don't have deadlines imposed on them, even if they are self-imposed, will take a lot longer than they need to, and may suffer from feature creep and scope bloat.

By setting challenging deadlines you will actually get better results. It's all about manipulating the Iron Triangle of scope, resources, and time.

If you've not come across the Iron Triangle before, the idea is that it represents the three key constraints of a project:

  • Scope - the work that needs to be completed.

  • Resources - the people and tools that are available to do the work.

  • Time - the amount of time that you have to get it done.

You can't change one without affecting the others. For example, if you want to do more work, then you're either going to need more people or more time. It's the embodiment of the "pick two" rule: you can have it good, fast, or cheap, but you can't have all three.

Back to Parkinson's Law: without tight time constraints, the scope of a team's project will expand to fill the time available. This is just human nature. Just look at how long those little DIY jobs around the house take to get done. With no deadline, there's no urgency, and so things just don't happen.

So, deadlines work.

Now, the usual hip-shoot counter to deadlines is that "fake" deadlines lead to poor work being done, and, look: there is sometimes truth to that.

However, that situation occurring typically represents poor application, rather than issues with the methodology. Putting challenging timeboxes on projects in a healthy environment can lead to serious innovation and creativity.

Doing the same with impossible timeboxes in a toxic environment will lead to all of the bad things that you expect.

Deadlines really help human beings get things done. The only way that I've written books is because I set myself a challenging, but not impossible, schedule with the publisher. This contract of external accountability keeps the fire going through the long slog, and it forces me to make clear-cut decisions about what to include, what to leave out, and how to manage my spare time so I make progress.

The exact same thing is true with communication and software projects.

When you are asking people to do something, lead with a recommendation of when it should be done by. Be explicit about this, but open to negotiation. It's such a simple technique, but when you compound its usage over a year at a big company, you will be amazed at the difference it makes.

Deadlines force a clear tempo and cadence and, fundamentally, they make things happen. A canonical example of this is sending round a survey that can be filled in whenever versus one that needs to be filled in by tomorrow: just by asking, you will get a much higher response rate far faster. Learn from this, and apply it to your own communication.

Even though you may not think that people want it, and even if people themselves think they don't want it, knowing that things need to be done by deadlines that are just on the cusp of the comfort zone forces real, tangible progress.

If you think that a prototype might take a month, why not challenge the team to see what they can deliver by the end of the week? You will be surprised, and so will they.

When wielded with grace, good intentions, and knowledge of what gets humans moving and feeling good, deadlines are a powerful tool.

Parkinson's Law is real, and you will need to fight it harder the larger your organization is. If you can succeed in this fight, you can grow and still ship fast with an org size of tens of thousands. If you don't, then one day you'll look around and wonder why your startup turned into the software equivalent of the local council's tax office.

Fight the drag. Set a deadline.

Anton here - thanks James for his take. After reading it, I understood that I was doing a disservice to the team by fighting every fake deadline. It’s a powerful tool, and I was ignoring it just because I was burned by it a few times before.

Here are some mistakes to avoid:

I made sure to not repeat what annoyed me as a developer. It’s completely ok to not have anything external happen when the deadline arrives!

That doesn’t mean the effort to meet it was wasted. You built trust with the rest of the organization and you freed yourself to work on other things.

If you set the expectations right, people won’t be disappointed.

Deadlines work best when the team takes part in deciding the scope that can be achieved. It doesn’t mean you need to reach a consensus, it’s ok to take a different decision - as long as they were part of the conversation.

Imagine the frustration of starting on a project you know from day 1 you won’t be able to achieve on time. If your engineers think “If only somebody asked me…” - you failed.

The whole point of the deadline is to get the team focused on the goal. Even if you all agreed together about the achievable scope, things change.

Maybe you encountered an unexpected obstacle, or were blocked by another team for a week. Or maybe it just took more than you anticipated.

Being very strict with the rules, and priding yourself that ‘my team always delivers on time!’ can create unnecessary conflicts. It’s probably better to miss a fake deadline once in a while than make your team work extra hours and weekends (even if you pay extra).

The other side of the coin. Some managers try very hard to please their team, and are afraid to demand more from them. In some cases they even try to compensate by doing it themselves (especially first-time managers).

It’s ok to ask people to work a bit harder. It’s your job to find the right balance.

Sometimes external people will want to change the deadline (especially your PM), or add some scope. Your first instinct might be to respond by saying: “No way, we agreed to X by Y. We are not changing that right now”.

You don’t want to look stupid in front of your team, which worked hard to finish by date Y.

That’s understandable, but don’t let it drive you. Going back to #1 - people are not stupid. As long as you communicate well, they’ll understand.

  1. Churn, Attrition and Decay - Mental Model by

  2. The True Cost of Custom Features: 3 Painful Taxesb by

  3. Product management is broken. Engineers can fix it by

联系我们 contact @ memedata.com