Direction — In Practice

Direction gives the team a shared understanding of where to go and why. The guide covers what Direction is. This page covers how to choose.

Relationship Map

Direction cascades. Each step narrows scope:

Vision → Missions → Goals → Domain Check → Issues

Vision:     long-term problem the team exists to solve
Missions:   what the team works towards now
Goals:      next 1-2 concrete outcomes
Domain:     unfamiliar domain or disagreement? Insert exploration here
Issues:     observations from exploration become candidate Issues

The Vision changes slowly. Missions change when the environment shifts. Goals change every cycle. Domain Exploration is inserted only when needed. It does not block the cascade.

Default Path + Branching

Default — stable domain:

Vision → Missions → Goals → Record direction → Begin Issue capture

Domain unfamiliar or team disagrees:

Vision → Missions → Domain Exploration → Goals → Record direction → Issues

Exploration comes between Missions and Goals. Missions define the scope to explore. Goals emerge from exploration findings.

Clear direction from leadership:

Skip Vision/Missions → Define Goals from leadership input → Record → Issues

Pre-PMF or early startup:

Minimal Vision → One Mission → One Goal → Ship → Repeat

No disagreement but unclear boundaries:

Vision → Missions → Goals → Context Mapping only → Issues

Full Event Storming is heavy when the team already agrees. Context Mapping is lighter when boundaries are the only unknown.

Role Map

ActivityPrimarySupportsWhen
Vision definitionProduct OwnerStakeholders, Principal EngineerStrategic cycle start
Mission definitionProduct OwnerEngineering Lead, Business SponsorStrategic cycle start
Goal settingProduct Owner + Engineering LeadWhole teamEvery cycle
Domain ExplorationEngineering LeadAgent Orchestrator, Product OwnerWhen domain is unfamiliar
Event StormingEngineering LeadWhole team + Domain ExpertsWhen shared model is missing
Context MappingSoftware EngineerPlatform Engineer, Product OwnerWhen boundaries are unclear
Aggregate DesignSoftware EngineerDomain Experts, Product OwnerWhen data integrity problems surface

Technique Table

TechniqueUse WhenOutputSkill
Big Picture Event StormingTeam lacks shared mental model of the domainDomain events, hot spots, candidate Issues, bounded context candidatesdirection
Context MappingService boundaries unclear; teams overlapBounded context map with relationship patternsdirection
Aggregate DesignData integrity problems surfaceAggregates with consistency rulesNot yet available
Story MappingFull user journey across a FeatureStory Map with backbone and slicesstory-guide
System-in-Use StoryNeed to capture how the system will be usedSystem usage narrative with actors and triggersNot yet available

Procedure Table

ProcedureWhat It DoesWiki Link
Use Case DefinitionFormal specification of a goal-level interactionplanning/procedures/use-case-definition.md
Adopting Modern XPOnboarding a team to the methodologyplanning/procedures/adopting-modern-xp.md

Artifact Table

ArtifactProduced ByConsumed ByFormat
Vision StatementProduct Owner + StakeholdersDirection document1-2 sentences
Direction DocumentWhole teamAnyone who needs contextWritten: Vision, Missions, Goals, observations
Mission CardsProduct Owner + Engineering LeadGoal setting, Issue discoveryList with name, scope, reason
Goal CardsProduct Owner + Engineering LeadDelivery Cycle planning1-2 outcomes with measurement
ObservationsDomain ExplorationCan become IssuesFreeform notes
Actor-Goal ListStakeholder identificationStory Mapping, Use CasesWho uses the system and why
Story MapStory Mapping sessionIteration PlanningVisual map with backbone and slices

Skip Conditions

ActivitySkip When
Vision processLeadership provides clear direction; team has a stable charter
Mission definitionPre-PMF; missions change too fast to formalize
Goal settingCurrent direction is clear and team is executing
Event StormingThe team shares a mental model; boundaries are stable
Context MappingService architecture is simple and well-understood
Aggregate DesignNo data integrity problems
Domain ExplorationDomain is well-understood. Ship features instead.
Direction reviewNothing has changed. Do not meet to confirm no change.

Prepare to succeed. Do enough discovery to move forward, then stop. Direction is context for delivery. It does not block work.

Comments

Comments on each page are welcomed and are visible here and under the discussions tab of the github repository.

View discussions on GitHub ↗