Why Software Engineering Will Never Die Revisited In The Age Of Spec Driven Development
Why Software Engineering Will Never Die Revisited In The Age Of Spec Driven Development
Written by Nikos Vaggalis
Friday, 27 March 2026
The rise of Spec Driven Development begs for a reassessment of the original thesis; are the principles of "why software engineering will never die" still valid or have they been overridden by spec-driven development and thus completely automated, just like coding is?
Back in 2023 and in the article "Why software engineering will never die" , I argued that software engineering isn't just coding, something that can be automated away, but it also involves other practices such as requirements gathering, translating business rules etc, properties which can't be automated:
What about LLM-based agents coming for our jobs? I think the answer is definitive as far as LLMs replacing software engineers goes. A chatbot cannot posses that multi-skilled paradigm necessary nor can it replace any of those skills by automating them. AI could be very useful as the developer's side kick but not as his replacement, and I don't see this status quo change. Coding is rarely the issue and SE is not just coding.
In conclusion, Software Engineering will never die or be replaced. It might shift shape, adapt and embrace technologies such as generative AI, but there never will be a substitute for the human programmer.
However since then, the practice of Spec Driven Development has picked up pace adding another level of abstraction above the rest of the AI assisted coding practices such as Autocomplete or AI pair programming. Spec driven is a practice that requires minimal human intervention on the part of coding and looks to automate the process of SWE even further.
This requires feeding complete specs rather than simple prompts to let the machine do the grunt work. So this begs for a reassessment of the original thesis; are the principles of "why software engineering will never die" still valid or have they been overridden by spec-driven development and thus can be completely automated just like coding is?
In other words, is spec driven , or an emergent form of it, one step away from fully automating all the tasks required by SWE? Will in the future just a prompt like "build me a job boarding application" that is directed at a powerful LLM which sits on a vast amounts of human captured expertise, generate the specs and all in between that a sound applications requires? The nightmarish scenario.
But first of all, let's look at spec driven development more concretely. For that I'll direct you at the "AI Unified Process", an innovative framework by software architect Simon Martinelli that cleanly encapsulates the essence of spec driven development in a structured way. Of course there's other such frameworks like Open-Spec and GDE but "AI Unified Process" INMHO is more complete and polished.
In a few words "AI Unified Process" endorses requirements as the single source of truth; requirements stay at the center, and everything else gets generated from them. The complete workflow looks like:
Business Requirements Catalog (manual, with business stakeholders)
Business Use Case Diagrams (AI-generated, then reviewed with business stakeholders)
Entity Models (AI-derived from requirements catalog, reviewed by the business)
System Use Case Diagrams (AI-generated and revised by the developer and/or business)
System Use Case Specifications (AI-generated, detailed markdown, revised by the developer and/or business)
Application Code (AI-generated, reviewed by developer)
The key: Every step gets reviewed and revised by the business team. They validate not just the business artifacts, but also the entity models and system use cases. This catches domain modeling errors before they become expensive code problems.
Given that, it seems that the original premise of "Why Software Engineering Will Never Die" has not been overridden by the rise of Spec-Driven Development (SDD). In fact, the emergence of SDD validates and amplifies the exact premise and actually reinforces the argument:
1. Requirements Are Now the Primary Bottleneck<br>As AI makes the cost of writing code approach zero, the bottleneck in software creation has simply moved upstream to requirements gathering and business logic.
AI Cannot Guess Intent. As noted by Simon Martinelli,
AI is extremely effective when the problem is well defined. It becomes unreliable when the problem is vague
That is, if a human does not meticulously define the domain rules, resolve stakeholder ambiguities, and handle conflicting expectations before the AI starts generating, the AI will simply build the wrong software much faster.
2. SDD Requires "Specification Engineers"<br>Spec-Driven Development does not eliminate the human; it promotes the human from a "typist" to a "spec designer". In SDD, you stop relying on chaotic, vague chat prompts ("vibe coding") and instead create a...