Skip to content

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 ←── Test

Each 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.

PurposeResearch the market, users, and technical feasibility
Locationdocs/helix/00-discover/
Key artifact typesProduct Vision, Business Case, Competitive Analysis, Opportunity Canvas
OutputA validated opportunity worth pursuing

Frame

Turn the opportunity into actionable requirements.

PurposeDefine the problem, establish requirements, and scope the work
Locationdocs/helix/01-frame/
Key artifact typesPRD, Feature Specifications, User Stories, Principles, Stakeholder Map, Risk Register
OutputRequirements 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.

PurposeMake technology and architecture decisions before writing code
Locationdocs/helix/02-design/
Key artifact typesArchitecture, ADR, Solution Design, Technical Design, Contract, Data Design, Tech Spike
OutputDesign 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.

PurposeTurn requirements and designs into executable specifications
Locationdocs/helix/03-test/, tests/
Key artifact typesTest Plan, Story Test Plan, Test Procedures, Test Suites, Security Tests
OutputFailing 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.

PurposeWrite the minimum code needed to satisfy the tests
Locationdocs/helix/04-build/, source code
Key artifact typesImplementation Plan
OutputPassing tests, committed code

Implementation is complete when the tests pass.

Deploy

Release the work to production with observability and operator guidance.

PurposeSafely deliver the built software to users
Locationdocs/helix/05-deploy/
Key artifact typesDeployment Checklist, Monitoring Setup, Runbook, Release Notes
OutputA production rollout with observability and operator guidance

Iterate

Learn from real signal and feed it back into the loop.

PurposeReview what was built, capture learnings, inform the next cycle
Locationdocs/helix/06-iterate/
Key artifact typesImprovement Backlog, Metric Definition, Metrics Dashboard, Security Metrics
OutputFindings, 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.