Skip to content

Feature lifecycle

stateDiagram-v2
    [*] --> Draft
    Draft --> InReview: Submit
    InReview --> Draft: Request changes
    InReview --> SignedOff: PM and client sign off
    SignedOff --> SpecApproved: Architect approves the spec
    SpecApproved --> TasksGenerated: First task
    TasksGenerated --> InBuild: First task started
    InBuild --> Validated: All test cases pass
    Validated --> Accepted: Client accepts
    Accepted --> [*]
    state "Requirement in review" as InReview
    state "Requirement signed off" as SignedOff
    state "Spec approved" as SpecApproved
    state "Tasks generated" as TasksGenerated
    state "In build" as InBuild
    state "Customer accepted" as Accepted
Stage What happens Who acts
Draft The requirement is written Project Manager and client
Requirement in review Both sides review. Either can request changes Project Manager and a client user sign off
Requirement signed off The requirement is frozen. The spec and test cases start Developer, QA
Spec approved The Architect has approved how it will be built Architect
Tasks generated The first task exists Architect, Developers
In build Tasks are built and reviewed Developers, Architect
Validated Every acceptance criterion has passed its tests QA, Project Manager
Customer accepted The client has accepted it. Done Client

A feature can also be Discarded at any time. It stays readable.

  • Requirement sign-off waits for all five Business docs to be signed off.
  • Spec approval waits for the Architecture doc to be signed off.
  • Tasks can only be created from an approved spec.
  • Validation needs every acceptance criterion covered by approved, passing test cases.
  • Before delivery: discard and clone the feature.
  • After delivery: raise a change request.