# Specification-driven development

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Specification-driven_development
> Markdown URL: https://mediated.wiki/source/Specification-driven_development.md
> Source: https://en.wikipedia.org/wiki/Specification-driven_development
> Source revision: 1350879188
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Software engineering methodology

**Specification-driven development** is a [software development](/source/Software_development_process) approach in which specifications are used to develop software.

Specification-driven development is a type of documentation-driven development, along with [model-driven development](/source/Model-driven_development), [model transformation](/source/Model_transformation), and [round-trip engineering](/source/Round-trip_engineering).[1]

Ostroff, Makalsky, and Paige present an agile approach to specification-driven development that combines features of [test-driven development](/source/Test-driven_development) and the plan-based approach of [design by contract](/source/Design_by_contract). They describe tests and contracts as different types of specifications that are useful and complementary for developing software.[2]

## See also

- [Behavior-driven development](/source/Behavior-driven_development)

- [Design by contract](/source/Design_by_contract)

- [Formal methods](/source/Formal_methods)

- [Model-driven engineering](/source/Model-driven_engineering)

- [Test-driven development](/source/Test-driven_development)

## References

1. **[^](#cite_ref-1)** Liu, Shaoying; Li, Honghui; Jiang, Zhouxian; Li, Xiuru; Liu, Feng; Zhong, Yan (May 2021). "Rigorous code review by reverse engineering". *Information and Software Technology*. **133** 106503. [doi](/source/Doi_(identifier)):[10.1016/j.infsof.2020.106503](https://doi.org/10.1016%2Fj.infsof.2020.106503).

1. **[^](#cite_ref-2)** Ostroff, Jonathan S.; Makalsky, David; Paige, Richard F. (2004). "Agile Specification-Driven Development". In Eckstein, Jutta; Baumeister, Hubert (eds.). *Extreme Programming and Agile Processes in Software Engineering*. Lecture Notes in Computer Science. Vol. 3092. Berlin, Heidelberg: Springer. pp. 104–112. [doi](/source/Doi_(identifier)):[10.1007/978-3-540-24853-8_12](https://doi.org/10.1007%2F978-3-540-24853-8_12).

---
Adapted from the Wikipedia article [Specification-driven development](https://en.wikipedia.org/wiki/Specification-driven_development) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Specification-driven_development?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
