Live data from Hacker News

Using fake deadlines without driving your engineers crazy

newsletter.manager.dev

81–90 of 98 posts

Re: Using fake deadlines without driving your engineers crazy

#81
post #36
post #7

> 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. Does it usually motivate people to work hard, when they know the outcome of the crunch is "more trust with the rest of the organization" and "now I can work on other things"? Sounds pre…

the most demotivating moments in my professional life were when i just hit some manager’s deadline and the project didn’t go live for months after that, or adopted by the target consumers, etc

My manager gave me a fake deadline (pretending it was not fake, of course) and almost declined my vacation request right after it "in case I couldn't meet the deadline". I committed to finishing my work before leaving on vacation.

It was a tough deadline. I worked during the weekend and few nights before my vacation to meet it. I finished on time and left quite exhausted, but happy I made it.

NOTHING happened with my work in the next 2 months. I asked my manager and he finally said "oh yeah, the deadline is in 2 weeks"... so I asked why I had worked like an idiot before my vacation. His answer: "I did that to help you organise". I kindly told him that I didn't need his help to organise my work and that I would like him to never do that again. He answered that "I understand your feeling, but I will keep doing that, because I am convinced it helps you even if you say it doesn't". That's not the only time he screwed me like this.

I never trusted that guy again. I've seen him take wrong decisions and let him. I've seen situations where he was struggling and I could have helped, but didn't. And when he complained about bad decisions later, I happily reminded him that he took them.

A manager can choose to play with me or against me. But if they play against me, it means I play against them. And once they've brought me there, I'm not coming back in their team, ever.

It's easy to break trust, hard to rebuild.

Re: Using fake deadlines without driving your engineers crazy

#82
The article would not be so controversial if it weren't outright saying "fake deadline". Of course you need a plan and a push, and stakeholders legitimately need (if only emotionally) some idea of when the builders will deliver. But on a charitable reading there are already terms for what it describes -- expected, target, soft date etc.

In my first engineering job out of college I was manipulated into working (on prem) into the early morning night, after I'd been there a few years. I couldn't help but think of that when I read

> 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.

Just being a kid and having my boss, a former professor I looked up to, expect that I could pull it off was enough. You have to be really careful "challenging" engineering reports like this -- need to actually use "see what you can do" language, NOT "deadline" (even if fake) for a 1mo->1wk timeline compression. He certainly acted surprised when I quit sometime thereafter. Hopefully he learned from the experience as well, I still appreciate my time there, just needed more experienced / realistic management.

Re: Using fake deadlines without driving your engineers crazy

#83

Earlier quoted context omitted.

But they actually aren't leaving productivity on the table. This isn't an assembly line. Crunching makes you tired, and your brain slows down when you're tired. You wind up doing the same work in a 10-hour day that you would have done in an 8-hour day. Extreme programming (XP) was all about going as fast as you can. One of the rules was, "Never work overtime for more than one week in a row." Why? Because when you're…

>Crunching makes you tired, and your brain slows down when you're tired. Sure, but management doesn't care about the health of the workers, they care about line going up, for them workers are replaceable cogs. If people are too slow and tired from crunch, then it's their problem, so you put them on pip then fire them and replace them with fresh hires. Rinse and repeat. It is only a problem for them, if they manage to…

Let's suppose I was a manager who only cared about line go up. And let's suppose I was able to think about second-order effects. What would I do?

I would care about not burning out my programmers. Burned-out programmers program slower, not faster. Slower doesn't make line go up. Sure, I could get faster... for a week, maybe two. After that it's counterproductive. If I don't really need it, right now, then I shouldn't do it.

Same thing with workers leaving. Sure, I could hire more, but training costs. I spent a lot of money getting the ones I have now to learn what's going on well enough to be effective. If I care about line go up, I don't want to lose those people.

Extreme Programming (XP) was all about going as fast as possible. One of their rules was "Never work overtime longer than one week in a row." Why? Because programming isn't an assembly line. Tired people miss things. They write more bugs. They just work slower. If you want to go as fast as possible, be rested. When you're tired, go home. Get some sleep. Come back with a brain that works.

Look, a decent human being should have some empathy for other human beings. But even a manager with no empathy whatsoever, if they understand, still shouldn't be making their programmers work crunch time except in very short, rare amounts.

The problem isn't just managers who only care about line go up. It's managers who do so in a clueless way.

Re: Using fake deadlines without driving your engineers crazy

#84
post #72

Earlier quoted context omitted.

> The value equation of a software development team isn't a product of their time and salary compared to the code/features/whatever-unit they produce. It's the theories and knowledge they build in their heads and share through the process of understanding problems and developing solutions. You can't optimize that process in a Taylorist fashion. There is no value equation for "the theories and knowledge" that develope…

If you don't care, I can't help change your mind. I took a small company that was living contract to contract into a world where they started making millions in annual recurring revenue. There's no secret, magic bullet. All I did was make sure we were delivering progress at a regular cadence. Kept communication channels open. And tried to, but ultimately failed at, training the sales team to stop with the secret dead…

I think we're talking past each other.

> I took a small company that was living contract to contract into a world where they started making millions in annual recurring revenue.

> There's no secret, magic bullet. All I did was make sure we were delivering progress at a regular cadence. Kept communication channels open. And tried to, but ultimately failed at, training the sales team to stop with the secret deadline negotiation

This is what I call hitting deadlines.

Re: Using fake deadlines without driving your engineers crazy

#85

Earlier quoted context omitted.

100000%. If I was put through stress to to meet a deadline that I later found out was totally arbitrary "So that I can do more work". I would instantly lose motivation. Everything is made up and the points don't matter. Got it.

Someone should make a modern day boy cried wolf story except it’s with software engineers and fake deadlines.

My pet peeve is that in the boy cried wolf story in the end the wolf was real and the boy got eaten.

Imagine a real village where a boy sees a wolf and three times the villagers run out and don't see a wolf and then one day the boy cries wolf again and gets eaten — which is more likely:

1. The boy lied to the villagers about the wolf and then by a turn of fate a wolf showed up.

2. The boy actually saw a real wolf, but that wolf evaded the villagers, then the villagers let the boy get eaten and out of shame they started telling the story in a way that tells us the boy lied, even if he didn't. That boy had it coming. He always was a bit misguided — says the person who thinks death is an acceptable punishment for lying.

I find the latter way more likely and the lesson to be learned from it more profound.

Re: Using fake deadlines without driving your engineers crazy

#86

Earlier quoted context omitted.

You want milestones and progress over estimates and deadlines. The value equation of a software development team isn't a product of their time and salary compared to the code/features/whatever-unit they produce. It's the theories and knowledge they build in their heads and share through the process of understanding problems and developing solutions. You can't optimize that process in a Taylorist fashion. If there is…

While I agree with your framing of the discussion, the fact still remains that in business there are many areas where deadlines are required both because (a) time is literally money - if you believed it would take X days to release a feature, but it ends up taking 3X, it could have been the case that, in retrospect, we never would have then implemented that feature in the first place, and (b) there are often many oth…

The industry is littered with software development teams that guessed when they could deliver something and failed.

If business can only depend on "this happens first, then that," well... they're either going to get lucky or fail.

It's just not how software development works. Knowledge work isn't a line in a Toyota factory. Scrum and agile all you want.

As someone else in another thread put it, you don't throw out your work just because it was delivered late. Knowledge is valuable regardless of how long it takes to acquire it.

Re: Using fake deadlines without driving your engineers crazy

#87

Earlier quoted context omitted.

>Crunching makes you tired, and your brain slows down when you're tired. Sure, but management doesn't care about the health of the workers, they care about line going up, for them workers are replaceable cogs. If people are too slow and tired from crunch, then it's their problem, so you put them on pip then fire them and replace them with fresh hires. Rinse and repeat. It is only a problem for them, if they manage to…

Let's suppose I was a manager who only cared about line go up. And let's suppose I was able to think about second-order effects. What would I do? I would care about not burning out my programmers. Burned-out programmers program slower, not faster. Slower doesn't make line go up. Sure, I could get faster... for a week, maybe two. After that it's counterproductive. If I don't really need it, right now, then I shouldn't…

No you'd just outsource to India and cycle through as many billions of souls needed.

Re: Using fake deadlines without driving your engineers crazy

#88
post #84

Earlier quoted context omitted.

If you don't care, I can't help change your mind. I took a small company that was living contract to contract into a world where they started making millions in annual recurring revenue. There's no secret, magic bullet. All I did was make sure we were delivering progress at a regular cadence. Kept communication channels open. And tried to, but ultimately failed at, training the sales team to stop with the secret dead…

I think we're talking past each other. > I took a small company that was living contract to contract into a world where they started making millions in annual recurring revenue. > There's no secret, magic bullet. All I did was make sure we were delivering progress at a regular cadence. Kept communication channels open. And tried to, but ultimately failed at, training the sales team to stop with the secret deadline ne…

> I think we're talking past each other.

Perhaps. I'm not saying that deadlines don't exist or shouldn't. I am saying that they're often unnecessary and most software teams can deliver value without them.

If you're in the embedded space there's no dodging deadlines. If you need to flash ROMs it could be months before you can do a release if you miss your deadline. You might not have enough money to survive until then.

If you're shipping boring, line-of-business enterprise SaaS you don't need deadlines. Customers want software that solves their problems and are happy with something that works for 80% and a steady rate of improvements over time. They want progress and milestones. There's nothing wrong with taking an extra week or month to reach the next milestone.

Where you get the "deadlines equal dollars," mentality in enterprise software is from the long sales cycle with the big price tags. A business is going to have reservations about dropping a few hundred thousand on a new software product. And so you end up with these negotiations between sales, management, and the software teams where you're lying about the deadlines to different parties in order to keep everything in line. I don't think that's a good way to go about it.

Especially when most of the time it's not even necessary. This was the finer point I was often finding myself in opposition to the sales folks with. Their reality was that deadlines are a negotiating chip they can't ignore. The software developers' reality was that any estimate about a deadline is completely made up of hopes, dreams, and unicorns. The easiest way to get people to work together, in my opinion and experience, is to cut out the lying and just be honest.

Some organizations like that, some don't. I went back into being an IC because I just can't operate at that level and keep my sanity/energy.

Re: Using fake deadlines without driving your engineers crazy

#89

Earlier quoted context omitted.

Let's suppose I was a manager who only cared about line go up. And let's suppose I was able to think about second-order effects. What would I do? I would care about not burning out my programmers. Burned-out programmers program slower, not faster. Slower doesn't make line go up. Sure, I could get faster... for a week, maybe two. After that it's counterproductive. If I don't really need it, right now, then I shouldn't…

No you'd just outsource to India and cycle through as many billions of souls needed.

You'd still have to bring each new hire up to speed. Still not a smart plan.

Re: Using fake deadlines without driving your engineers crazy

#90
post #61

I’ll go against the grain and say that fake deadlines are incredibly useful. They highlight unexpected costs, they force the team to bring forward hard decisions and push towards action. It’s the same as time boxing or pomodoro. You tell yourself it’ll take an hour. An hour later, you ask yourself what did you actually do and whether it makes sense how you spent your time. I don’t think fake deadlines should be exter…

> I’ll go against the grain and say that fake deadlines are incredibly useful.

If everyone's on board with your definition of deadline and it always works that way, then sure yeah whatever I'm not going to argue the point.

But I'd argue the "fake" in "fake deadline" is admission to deliberately exploiting information asymmetry about where exactly a "deadline" sits between the "time box" definition of deadline and the "point when we stop working because the deliverable is now worthless" definition of deadline.

Post reply on HN