Activities
HELIX names seven activities in software development: Discover, Frame, Design, Test, Build, Deploy, Iterate. Each owns a defined set of artifact types. Work moves between them: a vision change propagates downstream, a failing test reveals a design gap, a production metric revises the PRD. The activity names describe a kind of work, not a position in a sequence.
╭──── Discover ────╮
│ ↓
Iterate ←─── Frame ───→ Design
↑ ↓
╰── Deploy ←── Build ←── TestEach activity produces a defined set of artifact types. Authority flows from higher-level activities (Discover, Frame) toward lower-level ones (Build, Deploy), but feedback flows freely in all directions: implementation reveals missing requirements; a deploy-time gap surfaces an ADR question; an iterate-activity metric revises the vision.
Discover
Validate the opportunity before committing to building anything.
| Purpose | Research the market, users, and technical feasibility |
| Location | docs/helix/00-discover/ |
| Key artifact types | Product Vision, Business Case, Competitive Analysis, Opportunity Canvas |
| Output | A validated opportunity worth pursuing |
Frame
Turn the opportunity into actionable requirements.
| Purpose | Define the problem, establish requirements, and scope the work |
| Location | docs/helix/01-frame/ |
| Key artifact types | PRD, Feature Specifications, User Stories, Principles, Stakeholder Map, Risk Register |
| Output | Requirements clear enough to design against |
Frame also selects the project’s active cross-cutting concerns and establishes design principles that govern downstream judgment.
Design
Architect the solution approach.
| Purpose | Make technology and architecture decisions before writing code |
| Location | docs/helix/02-design/ |
| Key artifact types | Architecture, ADR, Solution Design, Technical Design, Contract, Data Design, Tech Spike |
| Output | Design contracts that tests can verify |
Solution designs are feature-level. Technical designs are story-level slices that inherit from a solution design.
Test
Encode requirements and designs as executable specifications: failing tests that define what “done” means.
| Purpose | Turn requirements and designs into executable specifications |
| Location | docs/helix/03-test/, tests/ |
| Key artifact types | Test Plan, Story Test Plan, Test Procedures, Test Suites, Security Tests |
| Output | Failing tests that define behavior |
Tests are the contract between design and implementation. Code must satisfy tests, not the other way around.
Build
Implement code to make the failing tests pass.
| Purpose | Write the minimum code needed to satisfy the tests |
| Location | docs/helix/04-build/, source code |
| Key artifact types | Implementation Plan |
| Output | Passing tests, committed code |
Implementation is complete when the tests pass.
Deploy
Release the work to production with observability and operator guidance.
| Purpose | Safely deliver the built software to users |
| Location | docs/helix/05-deploy/ |
| Key artifact types | Deployment Checklist, Monitoring Setup, Runbook, Release Notes |
| Output | A production rollout with observability and operator guidance |
Iterate
Learn from real signal and feed it back into the loop.
| Purpose | Review what shipped, capture learnings, inform the next cycle |
| Location | docs/helix/06-iterate/ |
| Key artifact types | Improvement Backlog, Metric Definition, Metrics Dashboard, Security Metrics |
| Output | Findings, metrics, and follow-up work that feed the next iteration |
Iterate closes the loop: alignment reviews, experiments, and metric analyses produce inputs to the next pass through Discover or Frame.
Innsigle seal: mixed by HELIX
The signature covers the markdown source of this page, not these HTML bytes. This page quotes that seal; verify it against the source file.
- Composition
- mixed
- Issuer
- HELIX
helix - Signing key
ed25519:d5a0b2d95482db5ff68fc8318a1ad4de(human key)- Signed source
reference/glossary/activities.md- Signed
- 2026-09-16T02:47:05Z
- Content digest
sha256:c3676e6c…c40dc8f1
Human-controlled key, held outside CI; the signature is not a detector and not a truth guarantee.
Raw attestation JSON
{
"payload": {
"innsigle": "1",
"type": "https://innsigle.dev/claim/colophon/v1",
"issued_at": "2026-09-16T02:47:05Z",
"issuer": {
"id": "helix",
"name": "HELIX",
"key_id": "ed25519:d5a0b2d95482db5ff68fc8318a1ad4de",
"key_url": "https://documentdrivendx.github.io/helix/.well-known/innsigle/keys.json"
},
"subjects": [
{
"uri": "https://documentdrivendx.github.io/helix/reference/glossary/activities.md",
"digest": {
"alg": "sha256",
"value": "c3676e6c4df0f8425900877823f690e78e4e4b715f0e56b7938be99dc40dc8f1"
}
}
],
"colophon": {
"schema_version": "1",
"composition": "mixed",
"ingredients": [
{
"kind": "human",
"name": "operator",
"role": "outline"
},
{
"kind": "model",
"name": "Claude",
"role": "expand"
},
{
"kind": "human",
"name": "operator",
"role": "final-edit"
}
],
"notes": null
}
},
"payload_encoding": "json",
"signatures": [
{
"key_id": "ed25519:d5a0b2d95482db5ff68fc8318a1ad4de",
"alg": "ed25519",
"sig": "HLLL05LU5LxfLAaBTaJb6DbhEFANmMirg_CgYd4Ol_5cNCPEh9RsmnA8AzfZ0LC--RoHchi4OIFx1Ci_xfsZDw",
"signed_at": "2026-09-16T02:47:05Z"
}
]
}