from Hacker News

Why Software Projects Fail

by bndr on 3/14/24, 4:22 PM with 15 comments

  • by beryilma on 3/14/24, 8:50 PM

    > If you ask a developer if they’ve ever written bad code, they will most likely say no. I’m guilty of this as well. I don’t remember ever writing bad code; ...

    What an utterly nonsensical article. Not a single developer ever said that.

  • by liampulles on 3/14/24, 10:58 PM

    Great developers in my experience are full of both humility and cynicism - it is the only logical reaction to the insanity of coding long-lived and large projects.

    I think the prize is a competent team which can make important decisions through dispassionate discussions, and which otherwise trusts team-members to drive everything else independently - pulling support where needed.

  • by givemeethekeys on 3/15/24, 6:08 AM

    Top 3 in my experience:

    - Scope creep.

    - Bad product market fit.

    - Insufficient time / money / talent.

  • by permalac on 3/14/24, 9:52 PM

    Only bad developers would state they don't do bad code.
  • by whynotmaybe on 3/15/24, 12:39 AM

    The 3 reasons I've seen for failure :

    1 - management want to add something to the requirements so they can "shine" and grow their career = why some almost never used basic crud internal app for 7 users is built with docker, microservices and redis.

    2 - management don't want to take the necessary risks because they fear that might taint their career if it doesn't work = why we still have cobol code from the 60's

    3 - incompetent people, I even found some saying about this "it only needs the bad person at the right place for wreck it" = don't get me started on that one.

  • by nickm12 on 3/16/24, 6:27 AM

    My experience working in a large internet services company is that relatively few of our software projects fail, but about 50% of our software systems are failures—in that they deliver insufficient value and are deprecated within 1-3 years of their launch.

    For such systems, I don't think there it's fair to assign a single point of failure, but typically the failure is correlated with a couple of factors:

    - It was built by a team with a shallow understanding of the problem to be solved (and not enough time/interest/skill to get a deeper one)

    - It was built by an org that was not stable enough to provide the long term support it needed to prove its value (1.0 is an important milestone, but 1.0 software will die on the vine without the support to get to 1.1, 1.2, and 2.0)

    "Talent" obvious plays a role, but I feel it is hard to answer the question "is this team talented enough?" as compared to "does this team understand the problem well enough?" and "will this teams organization support them long enough?"

  • by xLaszlo on 3/15/24, 8:22 AM

    There should be a balance of short term and long term thinking and project management is the optimisation between the two.

    My experience is that managers only think short term which makes SWEs defensive and be dogmatic about long term.

    The the project fail.

  • by rramadass on 3/15/24, 4:04 AM

    Well written article focusing on essential big picture nuances that we should be aware of.

    Overconfident developers w.r.t. a) Coding skills b) Learning new technologies c) Our abstractions d) External dependencies - Better thought of as developers underestimating the problem complexity. I think the Dunning-Kruger effect (https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect) is very much at play here since there is so much different and new out there that you are perpetually in a learning mode. Note that "In popular culture, the Dunning–Kruger effect is often misunderstood as a claim about general overconfidence of people with low intelligence instead of specific overconfidence of people unskilled at a particular task." I think that we cannot escape this but must learn to modulate it.

    Inexperienced/Incompetent/Negligent Managers - The article points out some characteristics which i am sure we all can relate to. Only proper training can mitigate this.

    Mismanaged stakeholders - Better thought of as Risk Factors/Management/Communications.