Jump to content

Draft:Specification-driven Development

From Wikipedia, the free encyclopedia


Background & History

[edit]

Specification-driven development is a term in the context of AI-assisted software development which is largely associated with GitHub.

There is however earlier mention in the context of agile software development as early as 2004[1], yet without mentioning artificial intelligence in that earlier use of the conceptual term. In how far GitHub made use of this previous work is unclear.

Another popular "source" is a recorded speech by Sean Grove[2] of OpenAI on AI Engineers World Forum Event (AIEWF) in 2025. This clearly refers to specification driven development. Given that GitHub belongs to Microsoft and that there is a really close connection between Microsoft and OpenAI, it is hard to separate the timeline here. First commit of GitHub "Spec Kit" was on August 22, 2025[3], the speech recorded on AIEWF premiered on YouTube on June 11, 2025. So all in all this could just as well have been an orchestrated marketing campaign, neither stating any reference to the earlier emergence of the term in the context of agile software development.

Meaning and use in the context of software development

[edit]

It is widely used to refer to

  • the "Spec Kit" by GitHub that can be used as an integration with GitHub Copilot and a lot of different models
  • the methodological approach of starting with intense loops of refining the specifications before actual development

Other terms and abbreviations that can commonly be found are "spec driven development", "spec-driven development"[4] and "SDD" or just Spec Kit. Since AI-assisted software development is a discipline that is yet finding its forms and standards, a clear, central and commonly shared understanding is missing.

In the context of agile software development it refers to

"[...]an agile approach to Specification-Driven Development, which combines features of Test-Driven Development and the plan-based approach of Design-by-Contract."[1]

More recent publications show a clear focus on specification-driven development using artificial intelligence as a tool in driving the structured development of complex systems, with an emphasis of large language models as a tool.[5][6]

References

[edit]
  1. ^ a b Ostroff, Jonathan S.; Makalsky, David; Paige, Richard F. (2004). Eckstein, Jutta; Baumeister, Hubert (eds.). "Agile Specification-Driven Development". Extreme Programming and Agile Processes in Software Engineering. Berlin, Heidelberg: Springer: 104–112. doi:10.1007/978-3-540-24853-8_12. ISBN 978-3-540-24853-8.
  2. ^ AI Engineer (2025-07-11). The New Code — Sean Grove, OpenAI. Retrieved 2025-11-27 – via YouTube.
  3. ^ github. "Initial commit · github/spec-kit@fa27363". GitHub. Retrieved 2025-11-27.
  4. ^ "Get Started with GitHub Copilot". Programming with GitHub Copilot: 3–15. 2024-08-06. doi:10.1002/9781394319787.ch1.
  5. ^ Guo, Hua; Ji, Yunhong; Zhou, Xuan (2025-09-15), Sedeve-Kit, a Specification-Driven Development Framework for Building Distributed Systems, arXiv, doi:10.48550/arXiv.2509.11566, arXiv:2509.11566, retrieved 2025-11-27
  6. ^ Fisher, Gene; Johnson, Corrigan (2018-02-21). "Specification-Based Testing in Software Engineering Courses". Proceedings of the 49th ACM Technical Symposium on Computer Science Education. SIGCSE '18. New York, NY, USA: Association for Computing Machinery: 800–805. doi:10.1145/3159450.3159575. ISBN 978-1-4503-5103-4.