Insights
Why Most Enterprise Software Projects Fail Before the First Sprint
The most expensive line in software development is not written by a developer. It is written by a business analyst who documented a requirement that nobody questioned.
Enterprise software projects fail at predictable points. Not in production — most teams never get that far. They fail in discovery, in the space between what stakeholders say they need and what users actually do.
The Requirements Problem: A Quick Comparison
| Aspect | Monolith | Distributed |
|---|---|---|
| Focus | Visual and interactive | Holistic user experience |
| Scope | UI elements | User needs and behaviors |
| Goal | Intuitive interfaces | Meaningful user experience |
| Techniques | Visual design tools | User research, prototyping |
| Outcome | Visually appealing interface | Effective user-centred product |
The Requirements Problem
Most enterprise software engagements begin with a requirements document. The document is thorough. It is comprehensive. It covers every edge case the project sponsor can imagine. And it describes, with remarkable precision, a system that nobody will use.
The problem is structural. Requirements documents are written by people who have authority over the project but limited proximity to the actual work. The people who understand the daily friction — the operations managers, the customer service agents, the analysts who rebuild the same spreadsheet every Monday morning — are consulted, but rarely drive the specification.
The Technical Debt Timing Problem
There is a category of decision that feels correct in year one and becomes a catastrophic constraint in year three. Technology choices made under time and budget pressure often fall into this category.
The choice of a monolithic architecture when a distributed system was clearly implied by the domain. The decision to build on a platform that the vendor is quietly sunsetting. The database schema designed for the data model that existed at launch, not the one the business will need 18 months later.
Process of Engineering
- 1The Requirements Problem: The failures are rarely technical. They happen in the weeks …
- 2The Technical Debt Timing Problem: The failures are rarely technical. They happen in the weeks …
- 3What Good Looks Like: The failures are rarely technical. They happen in the weeks …
These decisions are not made by incompetent engineers. They are made by competent engineers under conditions that reward short-term delivery over long-term maintainability.
What Good Looks Like
The most successful enterprise software engagements share a few consistent properties.
Discovery is treated as a technical discipline, not an administrative one. The engineers who will build the system are present in the conversations where requirements are formed. They ask questions that business analysts do not know to ask.
Architecture decisions are documented with the reasoning, not just the decision. When the decision needs to be revisited — and it will — the team understands what tradeoffs were accepted and under what assumptions.
The system is designed for the data model the business will have, not the one it has today. This requires engineering teams to understand the business trajectory, which requires the kind of long-term partnership that most project-based engagements cannot provide.
Benefits of Engineering
The failures are rarely technical. They happen in the weeks before the first line of code is written — in how requirements are gathered, how scope is defined, and how success is measured.
The Requirements Problem
The Technical Debt Timing Problem
What Good Looks Like
“The insights here reflect what we've learned through years of delivery. Getting the architecture and discovery fundamentals right from the start is the single biggest factor in whether a project succeeds.”
Client Feedback
Principal Engineer