[HN Gopher] What Do We Know About Time Pressure in Software Deve...
       ___________________________________________________________________
        
       What Do We Know About Time Pressure in Software Development?
        
       Author : chrisaycock
       Score  : 50 points
       Date   : 2022-01-12 12:49 UTC (1 days ago)
        
 (HTM) web link (www.computer.org)
 (TXT) w3m dump (www.computer.org)
        
       | AnimalMuppet wrote:
       | "If you want it bad, that's how you're going to get it." That is,
       | time pressure kills quality.
        
         | MaysonL wrote:
         | "Soon, cheap, and good. Pick two."
        
           | commandlinefan wrote:
           | I don't know - what are you going to do when they say "ok,
           | soon and good". Are you going to demand a raise before you
           | deliver?
        
       | rising-sky wrote:
       | > [In this article, time pressure refers to both budget pressure,
       | e.g., eight hours (budget) to do a task, and schedule pressure,
       | e.g., a task that must be done by tomorrow.]
       | 
       | Aren't these the same thing? the latter being somewhere around
       | 24hours give or take
        
         | flerchin wrote:
         | Not if you can have an army of people work the problem.
        
           | alex_anglin wrote:
           | Then you too can enjoy The Mythical Man Month.
        
             | ejb999 wrote:
             | in case you don't think you have time to read it all, buy 3
             | or 4 copies of it to speed things up
             | 
             | (there, I summarized it for you :>) ).
        
         | lmilcin wrote:
         | No, they are not.
         | 
         | I may want something to be done by the end of next week and at
         | the same time I would like somebody to spend less than 4 hours
         | on the task. Spending entire two weeks of effort would not be
         | acceptable in this case even if the task was delivered on time.
         | 
         | An example would be a task that is not on the critical path of
         | the project but still needs to be done. There is a deadline by
         | which it must be delivered or it becomes part of critical path
         | and starts delaying entire project.
         | 
         | Assuming the task is performed by one person using the fraction
         | of the time available before the deadline, I would like to be
         | able to use the rest of that time (resource) as either a buffer
         | in the project or for completion of another task. Having the
         | person deliver the task before deadline but after two weeks of
         | continuous work where I assume only 4 hours will be necessary
         | means that the project was deprived of almost two weeks of
         | buffer or there are now some other uncompleted tasks.
         | 
         | When we are talking about project management, there is an
         | important, clear distinction between time and cost.
        
       | chrisaycock wrote:
       | Treating every project as if it's in emergency mode is a great
       | way to burnout the team and get shoddy work results.
       | 
       | Another idiotic practice is multitasking since context switching
       | introduces tons of overhead.
       | 
       | And tying it all together, the importance of a project determines
       | its resources. A truly critical task needs 100% focus. If a
       | manager isn't willing to assign a full-time employee to a task,
       | then that project isn't critical.
        
       | disambiguation wrote:
       | Well written and thorough article, but I can't help notice if
       | this isn't just reverse engineering a standard MBA curriculum.
       | 
       | > Time pressure is also reported to be the most frequent external
       | cause of unhappiness among developers.
       | 
       | > The inverted U-shaped relationship is one typical example of
       | this, which means that time pressure increases efficiency up to a
       | certain point, but after that increases in time pressure cause a
       | decrease in efficiency
       | 
       | A good manager knows how to sustain just the right amount of
       | pressure.
        
         | awb wrote:
         | > A good manager knows how to sustain just the right amount of
         | pressure.
         | 
         | And they know about Parkinson's Law:
         | https://en.m.wikipedia.org/wiki/Parkinson%27s_law
         | 
         | > Parkinson's law is the adage that "work expands so as to fill
         | the time available for its completion."
        
       | e2e4 wrote:
       | https://dilbert.com/strip/2022-01-02
        
       | commandlinefan wrote:
       | This article implies, but doesn't come right out and say,
       | something that I strongly suspect: that producing an accurate (or
       | even close-to accurate) software project estimate is a time-
       | consuming, unpredictable task. The question nobody seems to be
       | examining is whether or not the cost of doing a large, expensive
       | up-front analysis that might take an arbitrary amount of time is
       | less than the cost of just doing it concurrently with the
       | software development itself.
        
         | kqr wrote:
         | Oh, people are examining that question alright. It's just
         | complicated and therefore hard to come up with a definitive
         | answer.
         | 
         | If I had to summarise what I have read on the topic, it would
         | be that either way works, but the up-front analysis is orders
         | of magnitude more expensive. Some sectors require this:
         | defense, nuclear, medical, and so on. In most areas, you don't
         | need that and can't afford it in a competitive market.
         | 
         | But to hint at the complexity of the question: Not only is
         | every project different, there are also sneaky feedback loops
         | in there.
         | 
         | By the time you have completed the large up-front analysis the
         | world is likely to have moved underneath you, invalidating some
         | of the assumptions that went into the analysis. You can shape
         | your analysis to account for this, for sure. But at that point
         | does it still count as one up-front analysis or several? Is it
         | truly up-front if it leaves options and decision points open
         | for later?
         | 
         | And it's a continuum: the more options and deferred decisions
         | in the analysis, the more it starts to look like it's clearly
         | done in parallel with the implementation. Where do we draw the
         | line?
        
         | nonameiguess wrote:
         | While this is likely true, the problem is W2 labor tends to be
         | compensated on a more or less fixed price per unit of time
         | basis, and to cover that cost, you need to bill clients roughly
         | in proportion to total labor time spent, and most clients
         | aren't going to purchase something for an unknown price to be
         | named later. So you need to estimate to give them a price.
         | 
         | From the perspective of the seller, these estimates don't even
         | need to be "accurate" as long as you're making many of them and
         | the errors are symmetrically distributed. There's even math
         | theory behind this called Fermi estimation. The problem is,
         | from the client perspective, they can't average out the errors
         | over many estimates if they're only buying one thing, and from
         | the seller perspective, I don't think our errors _are_
         | symmetrically distributed. Instead, we consistently
         | _underestimate_ how long something will take.
         | 
         | It's not even unique to software. There's a huge housing boom
         | going on where I live, with condo developments all over the
         | place, and not a single one is actually ready to open by the
         | season their sign out front claims they'll be open. Defense
         | acquisition. Highway construction. Everything takes longer than
         | budget forecasts claim.
        
           | kqr wrote:
           | Part of the problem, especially when it comes construction
           | and defense, is awarding contracts to the lowest bidder with
           | effectively no punishment for exceeding the initial estimate.
           | This pretty much guarantees underestimation, both for
           | statistical and behavioural reasons.
        
         | lumost wrote:
         | The problem is that once someone gives a date, then they are
         | judged based on that date. In some cases, the software stops
         | making financial sense after some multiplier of this initial
         | date.
         | 
         | To avoid estimation you need to avoid dates and avoid projects
         | that have high timeline risks. This means you would need to
         | judge on speed to completion, or better customer satisfaction
         | for project execution.
        
         | coldcode wrote:
         | A lot of these articles assume the work being estimated will
         | remain relevant during the estimated timeframe. My last (very
         | large, not FAANG) employer started every project with a hard
         | deadline, estimates were only used for budgeting not time, and
         | then every project changed on a daily basis until it was
         | obvious it would never ship by the deadline which was changed
         | at the last minute. Every single project worked like this (note
         | these projects were for us not external clients). I know of no
         | theory of estimation that can account for continuous change
         | unknown at the start.
        
       | int0x2e wrote:
       | About 10 years ago, I worked on a large, multi team (multi-org
       | really) project that was run using TOC (Theory Of Constraints).
       | Put very very very simply, every team was told to give honest,
       | buffer-less estimates for their primary work areas, and then a
       | global project buffer was added as a factor of the sum of
       | estimates. At any point in time, we worked as if every single
       | thing would line up perfectly, so upcoming milestone targets
       | would often feel crazy or unlikely. But people being eager to
       | please, and mostly unwillingness to be the one team blocking the
       | entire project - meant that folks worked hard to meet some of
       | these targets. It was extremely hard. It was a bit stressful. It
       | felt crazy at times. But it got done in half the time I would
       | have initially expected such a complex project to take. To me,
       | the most impressive thing about it all was that the project
       | leader drove us all quite hard but was super cool - he explained
       | that he wanted everyone to be open and honest about blockers so
       | they could be moved with the full force he was given, and that
       | actually, his way of measuring project progress was the rate at
       | which schedules slipped.
        
       ___________________________________________________________________
       (page generated 2022-01-13 23:00 UTC)