Specification-driven development
Software engineering methodology
From Wikipedia, the free encyclopedia
Specification-driven development is a software development approach in which specifications are used to develop software. It mirrors the exact same steps Behavior-driven development uses, but resulting in different artifacts which are created with the assistance of AI agents.
Specification-driven development is a type of documentation-driven development, along with model-driven development, model transformation, and round-trip engineering.[1]
Ostroff, Makalsky, and Paige present an agile approach to specification-driven development that combines features of test-driven development and the plan-based approach of design by contract. They describe tests and contracts as different types of specifications that are useful and complementary for developing software.[2]