Tau development cycle is divided into three simple steps: Step 1: Team members, departments, end-users or anyone you permit shares ideas at any level of abstraction, from high-level project goals to step-by-step program instructions. Tau’s combination of software specification and description logics allows such descriptions to include real-world knowledge and concepts. Users are able to input descriptions directly in the Tau Language, use a natural language interface, or upload any formalized document, such as a business plan, software description, and legal conditions. Step 2: Tau automatically calculates the agreed specifications for the software, which are executable within its runtime environment. Users are able to customize the definition of “agreement,” such as the majority, ideas of key individuals, or other configurations. Step 3: The Tau runtime environment executes the specification. Because the program is correct-by-construction, the generated program provably meets the requirements. Changing the behavior of the program only requires modifying the specification.