SpecTrail

Comparison

SpecTrail and requirements tools: authored and derived.

Requirements management tools are built for teams that write requirements first and trace them to the work. SpecTrail starts from the code, derives the specification and keeps it current. The two approaches suit different teams, and some teams use both.

Comparison · 5 minute read

Two ways to get a specification

The first way is to write it. People decide what the product should do, record it as requirements, link the requirements to design, work and tests, and keep the links current as the project moves. Requirements management tools are built for this approach, and it gives a team a deliberate, reviewed statement of intent.

The second way is to derive it. The code already holds the truth about what the product does, so a tool reads it and writes the specification in plain language, with the code and the tests behind each statement. People review and edit the result. SpecTrail takes this approach.

Authored requirements toolsSpecTrail
It starts fromRequirements that people writeThe code that is running
Creating the documentWritten and organised by peopleDrafted from the repository, then reviewed and edited by people
Staying currentThrough the team’s process and disciplineEach merged change is checked against the document
Links to code and testsCreated and maintained by the teamMarks on each statement show the code and tests behind it
Fits best whenRequirements come first, with formal approval before building startsCode moves fast and the document must describe what is actually built

When an authored tool is the right fit

A programme with a long design phase and formal sign-off before any code is written needs a place for those requirements and their approvals. The requirements are the plan, and the plan is worth recording carefully. An authored tool is designed for exactly that.

When a derived specification fits

Using both

Intent and fact are different things, and a mature team can value both. The authored requirements say what the product should do. The derived specification says what it does. Reading the two side by side makes any difference between them visible, and SpecTrail’s flags show when a merged change moves the product away from the specification, so that a person can decide whether the change or the document should win.