News for hackers. Stuff that matters.
Re:“I’ll Finish It This Week” and Other Lies by BlargMcLarg on Tuesday April 06, 2021 @03:48AM (#26709197)
Real question: do you actually believe this to be positive more so than negative most of the time?

Many people will feel resentment over what is essentially continuous doubt and having to spend time to push back that could be spent thinking about the problem, diving in and making a better idea later. Additionally, your way of presenting the argument seems harmless and emotionless, yet reality is often far away from this. A slew of social dynamics take place which make developers say things to get managers out of their hair more than truly having a discussion on how long it takes.

The far majority of managers also impose these deadlines without clear rime or reason ("because the customer wants it"/"because sales said so", at best). What's really going to happen if we estimate higher and end up overdelivering at the end? Are you truly going to lose customers, or are you just trying to pressure people in "being accurate", which often devolves more into having one's subordinates take the blame and the fall for underdelivering?

With all due respect, it feels like we are normalizing things for the sake of manager's security without much reciprocation (only make-believe that it is being reciprocated).

Re:“I’ll Finish It This Week” and Other Lies by KSteffensen on Tuesday April 06, 2021 @04:29AM (#26709464)
It's the managers duty to create the trust needed for having a constructive discussion of task breakdowns and timelines. If the engineer is "just saying things to get the managers out of their hair" the manager has failed at this.

You seem to dismiss entirely that doing a proper task breakdown is a way to think about the problem, revealing unknowns, clarifying requirements and making sure as many steps along the way as possible are clear and actionable.

In an ASIC project, if you miss your tape-out deadline, your time to market will be delayed by several months until the fab can find a new slot to fit you in. This can cost many millions of dollars. Accurate development estimates are important.

Re:“I’ll Finish It This Week” and Other Lies by BlargMcLarg on Tuesday April 06, 2021 @04:44AM (#26709559)
I'm not dismissing a work breakdown. I'm dismissing the idea that pushing a quick 30 minutes to make people defend themselves is really as fruitful as a lot of people, non-technical managers especially, like to claim. When reality is, we hardly have any data to back this up, and there are many counterarguments against this idea.

A proper work breakdown may cost a lot more than 30 minutes. In any ticketing system, this can be inserted as subtasks which immediately grants an, admittedly superficial, level of transparency into how far the entire thing is done. If you truly want thinking to be done, surely you would agree talking it over for 30 minutes doesn't imply a whole lot of thinking, as much as it implies a whole lot of talking. At that point, just take a step back, chill, tell the developer they need a strong defense and teach them to provide that defense in whatever way suits them best that still makes the point come across.

Software development as a field has made such a knee-jerk reaction against failed projects, it now overemphasizes "security" and "correctness", and tons of red tape, on top of methodologies which inherently should already fix most of the problem. Aren't we supposed to work iteratively so managers can make a proper forecast? Let the actual data speak for itself and don't bind too strongly to the words of the individual. The far majority of people do not work on projects that truly require tight deadlines, yet almost every software company out there is trying to emulate this high-pressure environment without clear insight as to why people join a low-pressure environment to begin with.

Re:“I’ll Finish It This Week” and Other Lies by Dylan16807 on Tuesday April 06, 2021 @04:05AM (#26709308)
While having the discussion could definitely be unpleasant and cause problems depending on how it goes, "having to spend time to push back that could be spent thinking about the problem" is a bit much. Half an hour isn't going to affect the deadline. The odds of "making a better idea later" aren't going to change significantly, either.
Re:“I’ll Finish It This Week” and Other Lies by BlargMcLarg on Tuesday April 06, 2021 @04:33AM (#26709492)
It isn't just half an hour. It's half an hour of being almost forcefully yanked out of the zone, which may lead to hours of lost efficiency. The idea that we just measure by the time it takes to talk to people plus a minor overhead, is part of why this is being normalized so often. Yet that idea has never been proven, and there is more suggestive evidence of the opposite. Nor has the value of such a "more accurate" estimate ever been shown, beyond a few actually critical deadlines (extremely rare in the field of software dev). Especially considering so many projects even under harsh estimation rules go overbudget and overtime anyway.

That's before going into the long-lasting effects of such a dynamic, and potential escalations. The most obvious one: dragging in part of, if not the entire team, for every little thing.

Re:“I’ll Finish It This Week” and Other Lies by Dylan16807 on Tuesday April 06, 2021 @01:57PM (#26715164)
This discussion is part of planning that is already happening as part of the pre-work. There is absolutely zero need to take someone out of the zone to do it.
Re:“I’ll Finish It This Week” and Other Lies by vishnugupta on Tuesday April 06, 2021 @05:41AM (#26709925)
As a manager it's my duty to create a safe space and frame the challenge in a manner that doesn't create friction in the team. When an engineer says it takes 4 weeks I well and truly trust them, all that I seek is why. Because whey they then get down to one or two level deeper details they typically uncover more unknowns and for all you know it may in fact end up as 6 weeks.

Also, none of this happens on the spot; as in "tell me right know why it takes 4 weeks, let's do a 30 mins white board session". Having been an engineer I totally understand interruptions and, as a manager, interrupting my team is like shooting myself in the foot. When I say "conversation" it happens asynchronously over several days. I encourage them to spend a day or half a day to work out task break downs and dependencies because it takes a different frame of mind to "plan" a task as opposed to "working" on them.

> Are you truly going to lose customers, or are you just trying to pressure people in "being accurate",

It's a combination of both though I wouldn't phrase the latter as "pressure" or "being accurate". It's a way to discover information that will increase my team's confidence in delivering the project. As we all know most of the project failures are not because people slack but because they uncover a dependency too late down the line or they don't validate an assumption or a new constraint is discovered. Most of which could be accounted for with a simple planning process.

I do recognise though that most engineers don't like planning or task breakdown and so I spend quite a bit of time to take much of the heavy lifting so that they don't spend more than 10% of their time on it. As a manager I am held accountable for my team's delivery and I absolutely want engineers to be spending most of their time on writing/delivering software. One example is I don't ask for plans/task-breakdowns for anything less than a week. In fact there's not even a debate; on the contrary if an engineer says 3 days I ask them to round it up to 5 days (a week). Only for tasks that are longer than a week I may get into the details and for more than 2 weeks it's almost mandatory.

> developers say things to get managers out of their hair

This seems like a well and truly dysfunctional team. Engineers and managers are partners and only when they work together can they deliver something meaningful. I would address this mis-trust or friction first because if there's no transparency within a team then all bets are off. We'll end up with a series of failed projects, burnt out engineers, operational nightmare and what not. What I've noticed is these social frictions end up manifesting as "estimation problems" and people try to address the symptom by trying out different project management processes each of which fail spectacularly.

Re:“I’ll Finish It This Week” and Other Lies by BlargMcLarg on Tuesday April 06, 2021 @06:37AM (#26710260)
Thanks for the answer and being understanding.

>I do recognise though that most engineers don't like planning or task breakdown

I don't think planning or task breakdown themselves are the issue. Rather, it is a strong binding towards what is estimated when in the back of the head, there is always the looming threat of a missed dependency in a piece of legacy code one forgot about. Individuals can capitalize on missing ETAs by bundling them and still serving a track record which is largely coherent with the total estimate. They lose that power once a second or third party shifts the weighting and places a disproportionately high focus on missed deadlines over overall productivity and crucial deadlines being hit. That's when people start inflating estimates to give themselves security. Which shows up in the statistics as "perfect estimation", as unlike an underestimation, an overestimation can masquerade as a perfect estimation as long as someone doesn't investigate deeply (which itself is costly).

>This seems like a well and truly dysfunctional team. Engineers and managers are partners and only when they work together can they deliver something meaningful

Disclaimer: I'm moving the goalpost of the discussion here. I agree with the idea that managers and developers should work together, not against one another.

Unfortunately, this is the part where idealism and reality clash often. I question whether the majority of places execute this way, even if they claim to value the same idea. Given the inherent power imbalance between management and developers, it is just too easy for management to force its point of view and normalize away any dysfunctionality. Most developers won't quit on the spot: they still need to eat, don't perceive an abundance of jobs, etc.. The entire thing sets itself up for a frog in boiling pot situation, where as long as the management layers don't massively mess up, developers will continue normalizing away more dysfunctionalities.

I've seen this happen both with technical managers who no longer have to work with the tech themselves, and non-tech managers who have zero understanding of the entire thing. Power is intoxicating. The required empathy to deal with these gaps in perspective is a trait the far majority of people don't possess. The aforementioned power imbalance and other traits (maybe not in Silicon Valley, but here, management is both more prestigious and pays better) causes people without that trait to pour in, often selected by people who were lacking that trait to begin with. We get massive amounts of practices with zero support, because that same gut instinct that developers get berated for, many managers will often use to claim their way is better, disregarding any counterargument to their own whimsical feelings. If not gut instinct, it's some snake oil salesman selling a practice which, again, has zero support.