Intent and Spec
· Dev.to
What is intent? What is a spec? Two terms that entered the SDLC after the arrival of AI. But what is it?
Intent is the expression of the purpose a system must have, the need it must satisfy, the objective it must achieve. It doesn't concern itself with the architecture, language, or parameters with which a system must be built. It simply aims to explain what you want to achieve.
With the intent in hand, you could choose to provide it to an AI and leave the entire implementation burden to it. It's convenient, simple, and quick, but it leaves you without control over aspects that could make a huge difference: for example, the AI creates a web app but you wanted a mobile one, or it chooses a local database but you wanted it in the cloud, etc.
This is where the spec comes in. From IDD, which speaks the language of the end customer, the game shifts to SDD, where the idea takes shape, is defined in terms of infrastructure, and defines how the elements must be implemented.
The AI reads the intent and formulates the spec (or specs) that the analyst and developer analyze and validate. Once validation is successful, the specs are passed to the AI, which creates the application.
This way:
- the client consulted with the analyst, who identified the needs.
- the analyst developed the system specs and consulted with the developer.
- the developer orchestrated code generation based on the information contained in the spec.
This is what Praxis does; its first version contains the functionality to create the flow from intent to code.
Want to try it out? Click here!
Remember: the framework is under development; Praxis may contain bugs and has limited functionality, but it's growing!