Define the domain entities and their relationships using Allium's entity syntax.
Specify the rules that govern the behavior of the system using Allium's rule syntax.
Define surfaces to expose data and capabilities at boundaries.
Generate integration and end-to-end tests from the Allium specification.
Implement the software based on the Allium specification.
Run the generated tests to validate the implementation.
Refine the specification and implementation based on test results.