Trillions spent and big software projects are still failing

Domain complexity and irreducible rules

  • Many failures stem from attempting to encode extremely complex, path‑dependent business rules (e.g., tens of thousands of payroll rules across many unions).
  • Participants note that simplifying such rules is politically near‑impossible: every special case has a vocal beneficiary, and neither unions nor taxpayers want to accept loss or higher cost.
  • Committees are seen as both punchline and necessity: the only way to surface legal/contractual constraints and negotiate simplifications.

Scale, modularity, and project shape

  • Large, centrally managed systems with many stakeholders and moving parts are viewed as structurally failure‑prone.
  • Several comments invoke Gall’s Law: complex systems that work tend to evolve from simpler systems that work; “big bang” rewrites rarely succeed.
  • Successful patterns cited: many small systems with stable interfaces, incremental rollouts (start with a low‑risk subset), and consciously designing for scale while deploying small first.

Management, incentives, and accountability

  • Recurrent theme: projects usually fail for organizational and political reasons, not technical ones.
  • Power often sits with non‑technical decision makers who don’t understand feasibility, complexity, or risk; requirements never converge; optimistic timelines are enforced.
  • Middle management and contractors frequently face little real accountability; retrospectives focus blame on developers while shielding leadership.
  • Principal–agent problems and misaligned incentives (cost‑plus contracts, promo‑driven culture, resume‑driven development) encourage overscope and under‑delivery.

Learning from history and other engineering fields

  • Many argue software does a poor job of studying past systems and failures compared to hardware or civil engineering.
  • Counterpoint: software’s flexibility, rapid change, and weaker “laws of physics” make convergence on stable methods harder; churn and fashion (languages, frameworks) exacerbate this.
  • There is debate over professionalization: some call for licensure and liability akin to civil engineering; others argue economics and contracts already dictate appropriate rigor.

Developer culture and practice

  • Critiques of developer ego, cargo‑cult adoption of trends, and excessive abstraction/“mindfacturing” that build towers of leaky layers.
  • Others push back that most engineers would happily “do it right” but are constrained by deadlines, process, and management.

AI’s role

  • Consensus that AI is an amplifier: in disciplined organizations it can increase throughput; in chaotic ones it accelerates failure.
  • Skepticism that AI will fix governance or incentive problems; worry it will enable even less skilled, less attentive work on high‑stakes systems.