The Wardley Map PR is in draft, working through code review. Here’s what’s on the roadmap once the core implementation lands.
Immediate Priority: Regions
The most requested Wardley Map feature. Regions let you group components into market segments, organizational boundaries, or areas of focus:
wardleyMap
title Platform Strategy
region "Core Platform" [0.3, 0.4, 0.8, 0.9]
region "Partner Ecosystem" [0.1, 0.2, 0.7, 0.4]
component api "API" [0.5, 0.7]
component db "Database" [0.6, 0.5]
component partner "Partner Portal" [0.4, 0.3]
api -> db
partner -> api
The region syntax takes a label and bounding box coordinates [minVis, minEvo, maxVis, maxEvo]. The renderer draws semi-transparent rectangles behind the components.
Implementation approach:
- Extend wardley.langium with
RegionStatementgrammar - Add
addRegion()/getRegions()to wardleyDb.ts - Render regions as background rectangles in wardleyRenderer.ts
This follows the same layered pattern as the core implementation.
Pipelines
Pipelines are horizontal groupings at the same visibility level. They’re common for showing multiple implementations of the same capability—different database options, competing solutions, build vs buy choices:
wardleyMap
title Data Storage Options
pipeline "Data Storage" [0.6]
component postgres "PostgreSQL" [0.8]
component mongo "MongoDB" [0.6]
component custom "Custom Store" [0.3]
component api "API Layer" [0.75, 0.65]
api -> postgres
api -> mongo
Components inside a pipeline share visibility (the [0.6] in the pipeline declaration) but have their own evolution positions. The renderer draws them connected horizontally.
Annotations and Movement
Strategic maps need context. Annotations let you add notes, callouts, and movement indicators:
wardleyMap
component legacy "Legacy System" [0.8, 0.3]
component modern "Modern Platform" [0.75, 0.65]
note legacy "Deprecating Q2 2025"
movement legacy [0.8, 0.65] // Arrow showing planned evolution
legacy -> modern : "Migration path"
Three annotation types:
- Notes: Text callouts attached to components
- Movement arrows: Show planned evolution direction
- Edge labels: Describe the relationship between components
Inertia Indicators
Inertia is resistance to change—organizational, technical, or market-driven. It’s critical for strategy discussions:
wardleyMap
component erp "ERP System" [0.75, 0.5] inertia
component crm "CRM" [0.6, 0.7]
erp -> crm
Components marked with inertia get a visual indicator (typically a bar or weight symbol) showing they’re hard to move. This is essential for realistic strategy planning—some things don’t evolve smoothly.
Beyond Wardley: Cynefin Diagrams
Cynefin is another strategic framework by Dave Snowden. Different axes, different purpose—it’s about categorizing problems by their complexity:
- Clear (formerly Simple): Best practices apply
- Complicated: Expert analysis needed
- Complex: Probe-sense-respond required
- Chaotic: Act-sense-respond in crisis
- Confused: The center, where you start
cynefin
title Project Portfolio
domain complex
item "AI Strategy"
item "Market Entry"
item "Culture Change"
domain complicated
item "System Architecture"
item "Performance Optimization"
domain clear
item "Deployment Pipeline"
item "Monitoring Setup"
domain chaotic
item "Security Incident Response"
Same architecture pattern as Wardley Maps—different grammar, different renderer. The parser infrastructure I built is reusable.
The Implementation Plan
- Get Wardley Map PR through code review — current focus
- Merge core implementation — basic components, edges, evolution
- Add regions in follow-up PR — highest community demand
- Community input on pipelines vs annotations — what do people actually need?
- Cynefin as separate proposal — different RFC, same architecture
Contributing
Open source means this roadmap can shift based on what people actually need. Once the core lands, the real feedback loop begins.
If you want to help:
- Test the implementation: Try the test HTML file locally
- Report issues: Edge cases, syntax suggestions, rendering bugs
- Propose features: Open issues describing use cases
- Review code: Fresh eyes catch bugs
The goal is strategic thinking native to where we work. Wardley Maps in your README. Cynefin diagrams in your ADRs. Strategy that lives with the code.
Let’s make it happen.