Live data from Hacker News

“I’ll Finish It This Week” and Other Lies

arxiv.org

101–110 of 121 posts

Re: “I’ll Finish It This Week” and Other Lies

#101
"Never commit to deadlines"

                   -some software engineer

Software has an unbounded set of problems, like in the creative fields. The difference is that you can fill in a book with random thoughts (if there is no time), but you cannot just fill in functional features in the codebase you did commit to. The same issue exists in the very large and complicated builds (eg skyscrapers) although you can plan ahead really far due to the existing physical constraints (site size, machinery, materials, avg. labour output).

Over in the software shop I work for, we just prioritize each week. Works really well. And we cannot commit to the deadlines or even estimate, as there are too many moving parts, too many products. To make customers happy the product managers comfort them with words (just like sales people promise mountains of gold for a penny).

Re: “I’ll Finish It This Week” and Other Lies

#102
post #24
post #8

it's all fat tails, they're all fat tails, assume correlational structure and whack peeps in the head if they say anything about bell curves when you play the game of code you play a demonic St. Petersburg martingale. you start with one time period. flip the coin- heads, you finish. tails, you double the time period. at the end of that time period, flip it again: heads, you finish. tails you double the time period ag…

> I said a 8 but I don’t really know why > Could be a 1 or it could take my whole life https://www.youtube.com/watch?v=sh7A8UChBTI

I didn't know this existed. Thank you

Re: “I’ll Finish It This Week” and Other Lies

#103
post #89
post #9

imo, the problem with estimates vs reality is that estimates don't include mental state. And just to clarify more about mental state, I am referring to being in the zone / flow, and individuals are healthy and experience normal stress / happiness levels. We assume and expect consistent productivity from ourselves. Anecdotally, In my 20 yrs experience, I've never heard a software engineer saying to their manager "add…

I've only been coding professionally for a few years and I've too noticed dramatic productivity differences some days compared to others that aren't related to unexpected technical aspects ... it's just the volume, speed, accuracy of my coding all by itself it seems. With something that takes a lot of focus I think mental state is absolutely huge. We see athletes go through warmups and traditions before they start a…

Personally, it's much easier for me to be invested in a task when what I'm doing is 'interesting' to me.

Almost always and ironically, when something's interesting to me it's usually more difficult work and thus, contains far more unknowns, hence making estimates that much less reliable.

Re: “I’ll Finish It This Week” and Other Lies

#104
post #72

Earlier quoted context omitted.

Doesn’t non-fast imply non-cheap?

If I understood your question, cheap + good + slow is generally when you do everything yourself.

I guess it depends on your salary. ;)

The way it makes more sense to me is when you spread out the same amount of effort over longer elapsed time, quality increases just my not rushing things and being able to reflect more.

Re: “I’ll Finish It This Week” and Other Lies

#105

Earlier quoted context omitted.

I strongly agree with your comment, with a single caveat: > You wouldn't see this being a problem in careers like HR/Management/Sales. Because an individual can still be somehow productive without being in the zone. I think it could actually be the other way around. That kind of work is very conductive to be "in the zone". In my few attempts at managing groups of people, I've learned that the work that's easiest to g…

You can totally crash manager flow. I wouldn't recommend doing this on purpose, but if you say something that forces the whole room to stop and consider, you can often break the conversational flow and leave a meeting of managers dead in the water. You can also do something that wipes an individual manager's mental cache and they'll spend days trying to remember what everyone is up to and what's happening. I think yo…

I think you hit the nail on the head, I have definitely experienced a lot of this, even when dealing with managers I enjoy working with and that have an understanding of engineering-type workflows.

Re: “I’ll Finish It This Week” and Other Lies

#106

Honest question. Say you have a project. Your boss expects it can be done in two weeks. Let's say you are good at estimating your own velocity, and you estimate four weeks for that project. Do you: a) Tell your boss that you effectively suck and it will take you 4 weeks instead of 2? b) Tell your boss it will take two weeks and then blame delays when the deadline passes? or c) Tell your boss it will take two weeks, t…

d) Tell my boss that THEY effectively suck at estimating and it will take 4 weeks. If they want less, I'll not sign under unprofessional work and they can get somebody else to do it.

My manager sometimes makes commitments to stakeholders on the spot when he agrees to take on the work, without consulting with the developer (me, in these cases). Often the requirements are not even clear yet.

It's not comfortable to do, but I will jump in and veto his commitments right there if they are clearly not attainable.

The stakeholders tend to be accepting of the fact that things are more complex to implement than just: "make the software do X", but my (technical) manager always seems a bit baffled. In the long run, I know he values this about me, but it frustrates me to no end.

Re: “I’ll Finish It This Week” and Other Lies

#107
post #72

reminds me of "cheap, fast, good; pick 2"

Doesn’t non-fast imply non-cheap?

"Cheap" == billable time * per-worker capital and support, not elapsed time.

Obviously, if a given workforce on a time-based compensation consumes more billable time units, they will cost more. That isn't the general case envisioned by the GFC triad, but rather that additional resources (bodies, brains, greater talent, tools, extended workdays or weeks) be applied. Classically, The Mythical Man Month. Accrued technical debt is another (often hidden) cost.

Good / Fast / Cheap is a possibility / optimisation frontier. When you are at the frontier, you cannot optimise any one third factor without sacrificing one of the other two.

An obvious countertactic in negotiation is to argue that the task is not yet at the frontier / optimum. In practice, this may be true, though the frontier may still lie far closer than such tacticians generally seem to posit.

Re: “I’ll Finish It This Week” and Other Lies

#109
post #76
post #9

imo, the problem with estimates vs reality is that estimates don't include mental state. And just to clarify more about mental state, I am referring to being in the zone / flow, and individuals are healthy and experience normal stress / happiness levels. We assume and expect consistent productivity from ourselves. Anecdotally, In my 20 yrs experience, I've never heard a software engineer saying to their manager "add…

>And I've yet to see an SE or any other human that can wake up in the zone every single day. It's impossible. I wake up in the zone every single time because I sleep what I need. I also do exercise and eat well. It is that simple. In fact I wake up two times because I sleep in between hours of hard work. I copied that from tennis players and other elite sport players. Rafael Nadal plays a multiple hour match and goes…

ProTip: Human psychology and experience are sufficiently variable that One True Way responses for complex activities are exceedingly rarely universal.

What works for one person often does not for others. What works for a person at one stage of life often doesn't at others. What works in the short term often does not in the long.

Re: “I’ll Finish It This Week” and Other Lies

#110

Honest question. Say you have a project. Your boss expects it can be done in two weeks. Let's say you are good at estimating your own velocity, and you estimate four weeks for that project. Do you: a) Tell your boss that you effectively suck and it will take you 4 weeks instead of 2? b) Tell your boss it will take two weeks and then blame delays when the deadline passes? or c) Tell your boss it will take two weeks, t…

d) because nobody knows how much non-trivial project takes until its done. Its well known that developers missestimate time needed by the factor of 4 to 8.

So d) which you miss, is about 4 months. Anything else is not professional and you cut corners. There is no such thing as 2 weeks in enterprise - hello world would take more with adequate docs, ci/cd, metrics, proj. management, optimizations, authorizations etc.

Post reply on HN