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.
Changing your mind
Section titled “Changing your mind”- Before delivery: discard and clone the feature.
- After delivery: raise a change request.