-
Notifications
You must be signed in to change notification settings - Fork 0
XXDD Tool
XX in XXDD may stand for Executable Example but also for AT, B or D (ATDD, BDD, DDD). The central concept of SysNat is the Executable Example (in short XX). An XX has two basic properties that both change slightly over time so that altogether four purposes exist for working with XXs:
Usage as | Early Stages | Later Stages |
---|---|---|
Explanation | Requirement Specification | System Description |
Executable | Assure that requirement is completely implemented | Assure that system behaviour is still the same |
In the field of sofware development three movements exist that each suggest at least one of these purposes: Acceptance Test Driven Development (ATDD), Behaviour Driven Development (BDD) and Domain Driven Development (DDD). The combined advantages of the best practises these movements teach can be achieved by working with XXs:
A new functionality firstly exists as an idea which eventually becomes specified by a requirement. If an ubiquitous language exist to describe system behaviour and business logic (i.e. a DSL), it can be used to specify the new requirement. At best, this DSL allows to formulate examples in natural language because this is most intuitive and understandable. Ideally, the example written for the new requirement does not only describe how to trigger the system behaviour but also provides its expected outcome. In this case, a tool can be used that translates the steps to perform or to apply the business logic into programm code. By this, the example becomes executable. The execution can also assert the expectations, so that an automated acceptance tests comes into existence - even before the new functionality is implemented.
The XX can now be used repeatedly to assure that the requirement is going to be implemented in the specified way. Anytime later, when the implementation of the new requirement is in production and the next requirement is being implemented, the XX serves both as regression test and as software description simultaneously.
When a modification of an existung system behaviour is necessary, this procedure starts again by modifying the existing XX. The XX represents the central point of reference and remains the single point of truth during the application's life time.
SysNat is a tool that is going to support this procedure and therefore tries to supports ATDD, BDD, DDD and their combined effect.
The XX represent the potter's wheel for developing software: