@schilling.mark.a/software-methodology 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/copilot-instructions.md +106 -0
- package/LICENSE +21 -0
- package/README.md +174 -0
- package/atdd-workflow/SKILL.md +117 -0
- package/atdd-workflow/references/green-phase.md +38 -0
- package/atdd-workflow/references/red-phase.md +62 -0
- package/atdd-workflow/references/refactor-phase.md +75 -0
- package/bdd-specification/SKILL.md +88 -0
- package/bdd-specification/references/example-mapping.md +105 -0
- package/bdd-specification/references/gherkin-patterns.md +214 -0
- package/cicd-pipeline/SKILL.md +64 -0
- package/cicd-pipeline/references/deployment-rollback.md +176 -0
- package/cicd-pipeline/references/environment-promotion.md +159 -0
- package/cicd-pipeline/references/pipeline-stages.md +198 -0
- package/clean-code/SKILL.md +77 -0
- package/clean-code/references/behavioral-patterns.md +329 -0
- package/clean-code/references/creational-patterns.md +197 -0
- package/clean-code/references/enterprise-patterns.md +334 -0
- package/clean-code/references/solid.md +230 -0
- package/clean-code/references/structural-patterns.md +238 -0
- package/continuous-improvement/SKILL.md +69 -0
- package/continuous-improvement/references/measurement.md +133 -0
- package/continuous-improvement/references/process-update.md +118 -0
- package/continuous-improvement/references/root-cause-analysis.md +144 -0
- package/dist/atdd-workflow.skill +0 -0
- package/dist/bdd-specification.skill +0 -0
- package/dist/cicd-pipeline.skill +0 -0
- package/dist/clean-code.skill +0 -0
- package/dist/continuous-improvement.skill +0 -0
- package/dist/green-implementation.skill +0 -0
- package/dist/product-strategy.skill +0 -0
- package/dist/story-mapping.skill +0 -0
- package/dist/ui-design-system.skill +0 -0
- package/dist/ui-design-workflow.skill +0 -0
- package/dist/ux-design.skill +0 -0
- package/dist/ux-research.skill +0 -0
- package/docs/INTEGRATION.md +229 -0
- package/docs/QUICKSTART.md +126 -0
- package/docs/SHARING.md +828 -0
- package/docs/SKILLS.md +296 -0
- package/green-implementation/SKILL.md +155 -0
- package/green-implementation/references/angular-patterns.md +239 -0
- package/green-implementation/references/common-rejections.md +180 -0
- package/green-implementation/references/playwright-patterns.md +321 -0
- package/green-implementation/references/rxjs-patterns.md +161 -0
- package/package.json +57 -0
- package/product-strategy/SKILL.md +71 -0
- package/product-strategy/references/business-model-canvas.md +199 -0
- package/product-strategy/references/canvas-alignment.md +108 -0
- package/product-strategy/references/value-proposition-canvas.md +159 -0
- package/project-templates/context.md.template +56 -0
- package/project-templates/test-strategy.md.template +87 -0
- package/story-mapping/SKILL.md +104 -0
- package/story-mapping/references/backbone.md +66 -0
- package/story-mapping/references/release-planning.md +92 -0
- package/story-mapping/references/task-template.md +78 -0
- package/story-mapping/references/walking-skeleton.md +63 -0
- package/ui-design-system/SKILL.md +48 -0
- package/ui-design-system/references/accessibility.md +134 -0
- package/ui-design-system/references/components.md +257 -0
- package/ui-design-system/references/design-tokens.md +209 -0
- package/ui-design-system/references/layout.md +136 -0
- package/ui-design-system/references/typography.md +114 -0
- package/ui-design-workflow/SKILL.md +90 -0
- package/ui-design-workflow/references/acceptance-targets.md +144 -0
- package/ui-design-workflow/references/component-selection.md +108 -0
- package/ui-design-workflow/references/scenario-to-ui.md +151 -0
- package/ui-design-workflow/references/screen-flows.md +116 -0
- package/ux-design/SKILL.md +75 -0
- package/ux-design/references/information-architecture.md +144 -0
- package/ux-design/references/interaction-patterns.md +141 -0
- package/ux-design/references/onboarding.md +159 -0
- package/ux-design/references/usability-evaluation.md +132 -0
- package/ux-research/SKILL.md +75 -0
- package/ux-research/references/journey-mapping.md +168 -0
- package/ux-research/references/mental-models.md +106 -0
- package/ux-research/references/personas.md +102 -0
package/package.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@schilling.mark.a/software-methodology",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Comprehensive software development methodology from product strategy through production deployment. Eleven skills covering Business Model Canvas, UX research, story mapping, BDD/ATDD, clean code, CI/CD, and continuous improvement.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"methodology",
|
|
7
|
+
"agile",
|
|
8
|
+
"bdd",
|
|
9
|
+
"tdd",
|
|
10
|
+
"atdd",
|
|
11
|
+
"clean-code",
|
|
12
|
+
"software-development",
|
|
13
|
+
"product-strategy",
|
|
14
|
+
"ux-research",
|
|
15
|
+
"story-mapping",
|
|
16
|
+
"cicd",
|
|
17
|
+
"continuous-improvement",
|
|
18
|
+
"claude-code",
|
|
19
|
+
"github-copilot"
|
|
20
|
+
],
|
|
21
|
+
"author": "Mark Schilling",
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://github.com/MarkSchilling/software-methodology.git"
|
|
25
|
+
},
|
|
26
|
+
"license": "MIT",
|
|
27
|
+
"homepage": "https://github.com/MarkSchilling/software-methodology#readme",
|
|
28
|
+
"bugs": {
|
|
29
|
+
"url": "https://github.com/MarkSchilling/software-methodology/issues"
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"dist/",
|
|
33
|
+
"docs/",
|
|
34
|
+
"project-templates/",
|
|
35
|
+
".github/copilot-instructions.md",
|
|
36
|
+
"README.md",
|
|
37
|
+
"LICENSE",
|
|
38
|
+
"atdd-workflow/",
|
|
39
|
+
"bdd-specification/",
|
|
40
|
+
"cicd-pipeline/",
|
|
41
|
+
"clean-code/",
|
|
42
|
+
"continuous-improvement/",
|
|
43
|
+
"green-implementation/",
|
|
44
|
+
"product-strategy/",
|
|
45
|
+
"story-mapping/",
|
|
46
|
+
"ui-design-system/",
|
|
47
|
+
"ui-design-workflow/",
|
|
48
|
+
"ux-design/",
|
|
49
|
+
"ux-research/"
|
|
50
|
+
],
|
|
51
|
+
"engines": {
|
|
52
|
+
"node": ">=14.0.0"
|
|
53
|
+
},
|
|
54
|
+
"publishConfig": {
|
|
55
|
+
"access": "public"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: product-strategy
|
|
3
|
+
description: Product strategy skill for creating and maintaining the Business Model Canvas and Value Proposition Canvas. Use at the start of a new product, when entering a new market or user segment, when the user says "create the business model canvas", "define the value proposition", "set up the product strategy", or "update the canvases". These two documents are the foundation that six other skills read from — story-mapping, ux-research, bdd-specification, ui-design-workflow, atdd-workflow, and continuous-improvement all depend on them. This skill creates them, keeps them in sync with each other, and updates them when ux-research or continuous-improvement findings change the picture.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Product Strategy
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
The Business Model Canvas and Value Proposition Canvas are the two foundation documents of the methodology. Every other skill reads from them. Nothing else creates them. This skill fills that gap — it creates both canvases at project start, keeps them aligned with each other, and updates them when research or post-release learning changes the picture.
|
|
11
|
+
|
|
12
|
+
## When to Run This Skill
|
|
13
|
+
|
|
14
|
+
- **New product:** Create both canvases before any other skill runs. Nothing downstream can start without them.
|
|
15
|
+
- **New market or user segment:** Update the VPC for the new segment. Check BMC alignment.
|
|
16
|
+
- **ux-research returns findings:** Personas and journey maps may reveal that Customer Jobs, Pains, or Gains need updating. Update VPC, then check BMC alignment.
|
|
17
|
+
- **continuous-improvement flags a strategy drift:** If post-release measurement reveals that the product is not delivering the value proposition as designed, the canvases need revisiting.
|
|
18
|
+
|
|
19
|
+
## Workflow
|
|
20
|
+
|
|
21
|
+
### Step 1: Create or Update the Business Model Canvas
|
|
22
|
+
|
|
23
|
+
The BMC defines how the business works — the full system of value creation, delivery, and capture. It changes rarely, but it must exist before anything else begins.
|
|
24
|
+
|
|
25
|
+
See `references/business-model-canvas.md` for the nine blocks, how to populate each one, and the file format.
|
|
26
|
+
|
|
27
|
+
Create: `/docs/business-model-canvas.md`
|
|
28
|
+
|
|
29
|
+
### Step 2: Create or Update the Value Proposition Canvas
|
|
30
|
+
|
|
31
|
+
The VPC zooms into one side of the BMC — the relationship between what the product offers and what a specific customer segment needs. It is the primary source that story-mapping, ux-research, and bdd-specification read from.
|
|
32
|
+
|
|
33
|
+
See `references/value-proposition-canvas.md` for the two sides, how to populate each, the output contract that downstream skills depend on, and the file format.
|
|
34
|
+
|
|
35
|
+
Create: `/docs/value-proposition-canvas.md`
|
|
36
|
+
|
|
37
|
+
### Step 3: Validate Alignment
|
|
38
|
+
|
|
39
|
+
The two canvases must be consistent. A VPC that targets a customer segment not in the BMC is a strategy conflict. A BMC revenue stream that no VPC supports is an unfunded promise.
|
|
40
|
+
|
|
41
|
+
See `references/canvas-alignment.md` for the alignment checks, how to detect drift, and how to resolve conflicts.
|
|
42
|
+
|
|
43
|
+
## Output Contract
|
|
44
|
+
|
|
45
|
+
Downstream skills depend on specific fields existing in the VPC. The VPC must expose these, grouped by customer segment:
|
|
46
|
+
|
|
47
|
+
- **Customer Jobs** — what the customer is trying to accomplish. Story-mapping reads these to derive backbone activities.
|
|
48
|
+
- **Pains** — what frustrates them about the current way. Personas pull frustrations from here. Task templates and release plans reference these.
|
|
49
|
+
- **Gains** — what they want to achieve. Personas pull goals from here. Release plans and Gherkin "So that" clauses reference these.
|
|
50
|
+
|
|
51
|
+
If any of these are missing or ambiguous, the downstream skills will produce work that is not grounded in customer value.
|
|
52
|
+
|
|
53
|
+
## Integration
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
product-strategy (this skill) → creates BMC and VPC
|
|
57
|
+
↓
|
|
58
|
+
ux-research → reads VPC, writes findings back into VPC
|
|
59
|
+
↓
|
|
60
|
+
story-mapping → reads VPC Customer Jobs → backbone activities
|
|
61
|
+
↓
|
|
62
|
+
bdd-specification → reads VPC for business value context
|
|
63
|
+
↓
|
|
64
|
+
ui-design-workflow → reads VPC for user goals and pain points
|
|
65
|
+
↓
|
|
66
|
+
atdd-workflow → reads both BMC and VPC for business context
|
|
67
|
+
↓
|
|
68
|
+
continuous-improvement → may trigger VPC/BMC updates if strategy drift detected
|
|
69
|
+
↓
|
|
70
|
+
product-strategy (this skill) → updates canvases, re-validates alignment
|
|
71
|
+
```
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# Business Model Canvas
|
|
2
|
+
|
|
3
|
+
## What Is the BMC?
|
|
4
|
+
|
|
5
|
+
A single-page strategic view of how a business creates, delivers, and captures value. It is not a financial plan or a roadmap — it is a map of the system. It shows how every part of the business connects to every other part.
|
|
6
|
+
|
|
7
|
+
The BMC changes rarely. It is created once at project start and revisited when the business fundamentally changes direction — entering a new market, adding a new revenue model, or discovering that a core assumption was wrong.
|
|
8
|
+
|
|
9
|
+
## The Nine Blocks
|
|
10
|
+
|
|
11
|
+
The blocks are not independent. They form a system. Populate them in the order below — each block's answers inform the next.
|
|
12
|
+
|
|
13
|
+
### 1. Customer Segments
|
|
14
|
+
**Who are we creating value for?**
|
|
15
|
+
|
|
16
|
+
Define distinct groups of people or organizations the business intends to serve. Each segment has meaningfully different needs, behaviors, or economics.
|
|
17
|
+
|
|
18
|
+
- List segments, not job titles. A segment is a group with shared characteristics that affect how they buy, use, and value the product.
|
|
19
|
+
- Each segment here must have a corresponding Value Proposition (Block 2) and a corresponding customer profile in the VPC.
|
|
20
|
+
- 2–4 segments maximum. More means the business is unfocused.
|
|
21
|
+
|
|
22
|
+
**Questions:**
|
|
23
|
+
- Who are the most important customers?
|
|
24
|
+
- What are the different customer groups we serve?
|
|
25
|
+
- Which segments are most profitable to serve?
|
|
26
|
+
- Which segments validate our core value proposition?
|
|
27
|
+
|
|
28
|
+
### 2. Value Propositions
|
|
29
|
+
**What value do we deliver to each segment?**
|
|
30
|
+
|
|
31
|
+
For each Customer Segment, state what problem the product solves and what benefit it delivers. This is the bridge between the BMC and the VPC — each value proposition here has a full VPC that details the customer jobs, pains, and gains.
|
|
32
|
+
|
|
33
|
+
- One value proposition per customer segment.
|
|
34
|
+
- State the value in terms the customer would use, not internal terminology.
|
|
35
|
+
- Be specific. "Saves time" is not a value proposition. "Eliminates 30 minutes of manual invoice entry per week" is.
|
|
36
|
+
|
|
37
|
+
**Questions:**
|
|
38
|
+
- What value do we deliver to the customer?
|
|
39
|
+
- Which customer problems are we solving?
|
|
40
|
+
- Which customer needs are we satisfying?
|
|
41
|
+
- Why should they choose us over alternatives?
|
|
42
|
+
|
|
43
|
+
### 3. Channels
|
|
44
|
+
**How do we reach and deliver to each segment?**
|
|
45
|
+
|
|
46
|
+
The touchpoints through which customers discover, evaluate, purchase, and receive the product.
|
|
47
|
+
|
|
48
|
+
- Include both acquisition channels (how they find us) and delivery channels (how they get the product).
|
|
49
|
+
- For a software product, delivery is typically self-service (web, app store, direct download). Acquisition may be organic, paid, referral, or partnership.
|
|
50
|
+
|
|
51
|
+
**Questions:**
|
|
52
|
+
- How do customers want to be reached?
|
|
53
|
+
- How are we reaching them now? How effectively?
|
|
54
|
+
- Which channels are most cost-efficient?
|
|
55
|
+
- How do channels integrate with the customer's routine?
|
|
56
|
+
|
|
57
|
+
### 4. Customer Relationships
|
|
58
|
+
**What type of relationship does each segment expect?**
|
|
59
|
+
|
|
60
|
+
The nature of the ongoing interaction between the business and each customer segment.
|
|
61
|
+
|
|
62
|
+
- For most software products: self-service with community support. Some segments may expect white-glove onboarding or dedicated account management.
|
|
63
|
+
- The relationship type directly affects onboarding strategy (see ux-design onboarding.md) and support costs.
|
|
64
|
+
|
|
65
|
+
**Questions:**
|
|
66
|
+
- What relationship does each segment expect?
|
|
67
|
+
- Which relationships have we established?
|
|
68
|
+
- How costly are these relationships to maintain?
|
|
69
|
+
- How do relationships integrate with the rest of the business model?
|
|
70
|
+
|
|
71
|
+
### 5. Revenue Streams
|
|
72
|
+
**How does revenue flow from each segment?**
|
|
73
|
+
|
|
74
|
+
The pricing model and payment structure for each customer segment.
|
|
75
|
+
|
|
76
|
+
- Each revenue stream must map to at least one Customer Segment and at least one Value Proposition. A revenue stream with no supporting value proposition is an unfunded promise — catch this in canvas-alignment.md.
|
|
77
|
+
- Common models for software: subscription (recurring), freemium (conversion-based), usage-based, one-time license.
|
|
78
|
+
|
|
79
|
+
**Questions:**
|
|
80
|
+
- What are customers willing to pay for?
|
|
81
|
+
- How do they currently pay for similar value?
|
|
82
|
+
- What pricing model fits the value delivered?
|
|
83
|
+
- What is the revenue potential per segment?
|
|
84
|
+
|
|
85
|
+
### 6. Key Resources
|
|
86
|
+
**What assets do we need to deliver the value proposition?**
|
|
87
|
+
|
|
88
|
+
The critical resources required to make the business model work.
|
|
89
|
+
|
|
90
|
+
- For a software product: engineering talent, infrastructure, data, brand, and distribution partnerships.
|
|
91
|
+
- Resources that are scarce or expensive to acquire are risk points. Flag them.
|
|
92
|
+
|
|
93
|
+
**Questions:**
|
|
94
|
+
- What key resources do our value propositions require?
|
|
95
|
+
- What resources do our channels, customer relationships, and revenue streams require?
|
|
96
|
+
- Which resources are hardest to acquire or replace?
|
|
97
|
+
|
|
98
|
+
### 7. Key Activities
|
|
99
|
+
**What critical things must we do?**
|
|
100
|
+
|
|
101
|
+
The most important actions the business must take to deliver its value propositions.
|
|
102
|
+
|
|
103
|
+
- For a software product: product development, customer acquisition, data operations, and customer success.
|
|
104
|
+
- Activities that are on the critical path to delivering value are risk points if delayed or under-resourced.
|
|
105
|
+
|
|
106
|
+
**Questions:**
|
|
107
|
+
- What key activities do our value propositions require?
|
|
108
|
+
- What activities do our channels, customer relationships, and revenue streams require?
|
|
109
|
+
- Which activities are hardest to execute well?
|
|
110
|
+
|
|
111
|
+
### 8. Key Partnerships
|
|
112
|
+
**Who are our most important partners and suppliers?**
|
|
113
|
+
|
|
114
|
+
External entities the business depends on to deliver its model.
|
|
115
|
+
|
|
116
|
+
- For a software product: cloud infrastructure providers, payment processors, app store platforms, data providers, and distribution partners.
|
|
117
|
+
- A dependency on a single partner with no alternative is a risk point. Flag it.
|
|
118
|
+
|
|
119
|
+
**Questions:**
|
|
120
|
+
- Who are our key partners and suppliers?
|
|
121
|
+
- Which key resources do we acquire from partners?
|
|
122
|
+
- Which key activities do partners perform for us?
|
|
123
|
+
- Why would we want to make this partnership?
|
|
124
|
+
|
|
125
|
+
### 9. Cost Structure
|
|
126
|
+
**What are the costs of operating this business model?**
|
|
127
|
+
|
|
128
|
+
The major costs incurred in delivering the value propositions, maintaining channels, and sustaining key activities.
|
|
129
|
+
|
|
130
|
+
- For a software product: engineering salaries, infrastructure costs, marketing spend, and customer support costs.
|
|
131
|
+
- Understand whether the model is cost-driven (competing on price) or value-driven (competing on premium value). This affects every pricing and positioning decision.
|
|
132
|
+
|
|
133
|
+
**Questions:**
|
|
134
|
+
- What are the most expensive aspects of our business model?
|
|
135
|
+
- Which key resources and activities are most expensive?
|
|
136
|
+
- Is our model cost-driven or value-driven?
|
|
137
|
+
- Are costs fixed or variable as we scale?
|
|
138
|
+
|
|
139
|
+
## File Format
|
|
140
|
+
|
|
141
|
+
Create: `/docs/business-model-canvas.md`
|
|
142
|
+
|
|
143
|
+
```markdown
|
|
144
|
+
# Business Model Canvas
|
|
145
|
+
|
|
146
|
+
**Created:** [Date]
|
|
147
|
+
**Last updated:** [Date]
|
|
148
|
+
**Product:** [Product name]
|
|
149
|
+
|
|
150
|
+
## Customer Segments
|
|
151
|
+
- **[Segment name]:** [2–3 sentence description of who they are and why they matter]
|
|
152
|
+
- **[Segment name]:** [description]
|
|
153
|
+
|
|
154
|
+
## Value Propositions
|
|
155
|
+
- **For [Segment name]:** [What problem we solve and what benefit we deliver. Specific, not generic.]
|
|
156
|
+
- **For [Segment name]:** [description]
|
|
157
|
+
|
|
158
|
+
## Channels
|
|
159
|
+
- **Acquisition:** [How customers discover and evaluate the product]
|
|
160
|
+
- **Delivery:** [How customers access and receive the product]
|
|
161
|
+
|
|
162
|
+
## Customer Relationships
|
|
163
|
+
- **[Segment name]:** [What type of relationship this segment expects]
|
|
164
|
+
- **[Segment name]:** [description]
|
|
165
|
+
|
|
166
|
+
## Revenue Streams
|
|
167
|
+
- **[Stream name]:** [Pricing model, target segment, expected revenue characteristics]
|
|
168
|
+
- **[Stream name]:** [description]
|
|
169
|
+
|
|
170
|
+
## Key Resources
|
|
171
|
+
- [Resource 1 — and why it is critical]
|
|
172
|
+
- [Resource 2]
|
|
173
|
+
|
|
174
|
+
## Key Activities
|
|
175
|
+
- [Activity 1 — and why it is critical]
|
|
176
|
+
- [Activity 2]
|
|
177
|
+
|
|
178
|
+
## Key Partnerships
|
|
179
|
+
- [Partner 1 — what we depend on them for, and whether alternatives exist]
|
|
180
|
+
- [Partner 2]
|
|
181
|
+
|
|
182
|
+
## Cost Structure
|
|
183
|
+
- **Model type:** Cost-driven / Value-driven
|
|
184
|
+
- [Cost category 1 — relative magnitude: high / medium / low]
|
|
185
|
+
- [Cost category 2]
|
|
186
|
+
|
|
187
|
+
## Risk Points
|
|
188
|
+
[Flag any single points of failure identified while populating the blocks above:
|
|
189
|
+
partnerships with no alternatives, revenue streams with no supporting value proposition, etc.]
|
|
190
|
+
- [Risk 1]
|
|
191
|
+
- [Risk 2]
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Rules
|
|
195
|
+
|
|
196
|
+
- The BMC is a strategy document, not a specification. It describes the system at a high level. Detail lives in the VPC, story map, and feature files.
|
|
197
|
+
- Every Customer Segment must have a corresponding Value Proposition. If a segment exists with no value proposition, remove the segment or define the proposition.
|
|
198
|
+
- Every Revenue Stream must map to at least one Value Proposition. Validate this in canvas-alignment.md.
|
|
199
|
+
- Revisit the BMC when: a new market is entered, a revenue model changes, a key partnership is lost, or continuous-improvement flags that the product is not delivering the stated value.
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Canvas Alignment
|
|
2
|
+
|
|
3
|
+
## Why Alignment Matters
|
|
4
|
+
|
|
5
|
+
The BMC and VPC are two views of the same strategy. The BMC is the full system. The VPC zooms into one relationship within that system. If they disagree, the product is being built toward contradictory goals. Downstream skills will not catch this — they read each canvas independently. Only this check catches the conflict.
|
|
6
|
+
|
|
7
|
+
Alignment is not a one-time verification. It is checked every time either canvas changes.
|
|
8
|
+
|
|
9
|
+
## The Alignment Checks
|
|
10
|
+
|
|
11
|
+
Run all five checks whenever a canvas is created or updated.
|
|
12
|
+
|
|
13
|
+
### Check 1: Every Customer Segment Has a VPC
|
|
14
|
+
|
|
15
|
+
**Rule:** Every segment listed in BMC → Customer Segments must have a corresponding section in the VPC.
|
|
16
|
+
|
|
17
|
+
**What a failure looks like:** The BMC lists "Enterprise IT Departments" as a segment. No VPC section exists for them. The business model assumes this segment generates revenue, but no one has defined what value the product delivers to them or what problems it solves for them.
|
|
18
|
+
|
|
19
|
+
**How to resolve:** Either create the VPC for the missing segment, or remove the segment from the BMC if it is aspirational and not yet being served.
|
|
20
|
+
|
|
21
|
+
### Check 2: Every Revenue Stream Has a Supporting Value Proposition
|
|
22
|
+
|
|
23
|
+
**Rule:** Every stream listed in BMC → Revenue Streams must map to at least one Value Proposition in BMC → Value Propositions, which must map to at least one VPC.
|
|
24
|
+
|
|
25
|
+
**What a failure looks like:** The BMC lists "Enterprise consulting revenue" as a revenue stream. The Value Propositions block has no corresponding proposition. No VPC defines what value consulting delivers. This is an unfunded promise — the business model assumes income from a value the product does not yet deliver.
|
|
26
|
+
|
|
27
|
+
**How to resolve:** Either define the value proposition and VPC that supports this revenue stream, or remove the revenue stream from the BMC until the value proposition is defined.
|
|
28
|
+
|
|
29
|
+
### Check 3: VPC Customer Jobs Map to BMC Customer Segments
|
|
30
|
+
|
|
31
|
+
**Rule:** Every Customer Job in the VPC must belong to a segment that exists in the BMC.
|
|
32
|
+
|
|
33
|
+
**What a failure looks like:** The VPC defines a job "Generate tax reports for quarterly filing" under a segment called "Small Business Owners." The BMC does not list Small Business Owners as a Customer Segment — it lists "Freelancers" and "Agency Owners." The VPC is targeting a segment the business model does not serve.
|
|
34
|
+
|
|
35
|
+
**How to resolve:** Either add the segment to the BMC (with corresponding value proposition, channels, and revenue stream), or move the job to an existing segment that actually performs it.
|
|
36
|
+
|
|
37
|
+
### Check 4: Pain Relievers and Gain Creators Cover the Core Value Proposition
|
|
38
|
+
|
|
39
|
+
**Rule:** The BMC's Value Proposition for each segment must be supported by specific Pain Relievers and Gain Creators in the VPC. The stated value proposition cannot be vaguer than what the VPC promises.
|
|
40
|
+
|
|
41
|
+
**What a failure looks like:** The BMC states "Eliminates manual invoice entry entirely." The VPC's Pain Relievers say "Reduces invoice entry time by providing templates." The BMC promises elimination. The VPC delivers reduction. The product cannot deliver what the BMC promises — either the BMC overstates the value or the VPC understates what the product does.
|
|
42
|
+
|
|
43
|
+
**How to resolve:** Align the language. If the product truly eliminates manual entry, update the VPC. If it only reduces it, update the BMC. The canvases must agree on what the product actually delivers.
|
|
44
|
+
|
|
45
|
+
### Check 5: Unaddressed Pains and Gains Are Explicitly Dispositioned
|
|
46
|
+
|
|
47
|
+
**Rule:** Every pain with no pain reliever and every gain with no gain creator must have a documented disposition in the VPC's "Unaddressed" section.
|
|
48
|
+
|
|
49
|
+
**What a failure looks like:** The VPC lists "Worried about missing payment deadlines" as a pain. No pain reliever addresses it. The Unaddressed section is empty. Story-mapping will not flag this — it will simply not create a task for it. The pain exists, the customer feels it, and the product ignores it silently.
|
|
50
|
+
|
|
51
|
+
**How to resolve:** Disposition each unaddressed item. Either "Must Have — target Release [N]" or "Out of scope — because [reason]." If it is Must Have, it must appear in the next release plan.
|
|
52
|
+
|
|
53
|
+
## How Findings Trigger Updates
|
|
54
|
+
|
|
55
|
+
Two skills feed findings back into the canvases. Each has a specific trigger and a specific update pattern.
|
|
56
|
+
|
|
57
|
+
### When ux-research Returns Findings
|
|
58
|
+
|
|
59
|
+
ux-research produces personas, mental models, and journey maps. These may reveal:
|
|
60
|
+
|
|
61
|
+
- **A new Customer Job** the VPC did not capture. A persona's goals include something not listed as a job.
|
|
62
|
+
- **Action:** Add the job to the VPC. Check if it maps to an existing BMC segment or requires a new one (Check 3).
|
|
63
|
+
|
|
64
|
+
- **A pain more severe than expected.** A journey map shows a pain point with high frustration that the VPC listed but did not prioritize.
|
|
65
|
+
- **Action:** Re-order the VPC's Pains list. Check if the most painful pain is being addressed by the product (Check 5). If not, escalate to Must Have in the next release plan.
|
|
66
|
+
|
|
67
|
+
- **A gain the customer values that the VPC did not list.** A persona's goals include something not in the VPC's Gains.
|
|
68
|
+
- **Action:** Add the gain to the VPC. Disposition it — is it something the product should create, or is it out of scope?
|
|
69
|
+
|
|
70
|
+
- **A mental model conflict.** The product's structure conflicts with how users think about the domain.
|
|
71
|
+
- **Action:** This does not change the canvases directly. It changes IA and interaction design (ux-design). But if the conflict is severe enough that the product's core value proposition is undermined, it may require revisiting the VPC's Products & Services section.
|
|
72
|
+
|
|
73
|
+
### When continuous-improvement Flags Strategy Drift
|
|
74
|
+
|
|
75
|
+
Post-release measurement may reveal:
|
|
76
|
+
|
|
77
|
+
- **Users are not experiencing the gain the VPC promises.** The gain creator exists in the VPC, but users report they are not experiencing the gain in practice.
|
|
78
|
+
- **Action:** The value proposition may be wrong, or the implementation may not deliver what the VPC describes. Investigate whether the VPC needs updating (the gain is aspirational, not current) or whether the implementation needs fixing (the gain should be current but isn't).
|
|
79
|
+
|
|
80
|
+
- **A pain the VPC says is relieved keeps appearing in support tickets.** The pain reliever exists on paper but does not work in practice.
|
|
81
|
+
- **Action:** Either the pain reliever is insufficient (update the VPC to be honest about what the product actually does) or the implementation has a bug (fix the implementation, not the canvas).
|
|
82
|
+
|
|
83
|
+
- **A revenue stream is underperforming.** The BMC assumes revenue from a segment, but conversion or retention is low.
|
|
84
|
+
- **Action:** Check whether the value proposition for that segment is compelling enough. The VPC may need revisiting — is the product actually delivering enough value to justify the price?
|
|
85
|
+
|
|
86
|
+
## Alignment Checklist
|
|
87
|
+
|
|
88
|
+
Run after every canvas creation or update:
|
|
89
|
+
|
|
90
|
+
```markdown
|
|
91
|
+
## Alignment Check — [Date]
|
|
92
|
+
|
|
93
|
+
- [ ] Check 1: Every BMC Customer Segment has a VPC section
|
|
94
|
+
- [ ] Check 2: Every BMC Revenue Stream maps to a Value Proposition with a supporting VPC
|
|
95
|
+
- [ ] Check 3: Every VPC Customer Job belongs to a segment in the BMC
|
|
96
|
+
- [ ] Check 4: BMC Value Propositions and VPC Pain Relievers/Gain Creators agree on what the product delivers
|
|
97
|
+
- [ ] Check 5: Every unaddressed pain and gain in the VPC has a documented disposition
|
|
98
|
+
|
|
99
|
+
### Conflicts Found
|
|
100
|
+
[List any check that failed, what the conflict is, and how it was resolved.]
|
|
101
|
+
- Check [N]: [Conflict description] → [Resolution]
|
|
102
|
+
|
|
103
|
+
### Updates Made
|
|
104
|
+
[List any changes made to either canvas as a result of this alignment check.]
|
|
105
|
+
- [Canvas]: [What changed and why]
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Append this checklist to the bottom of `/docs/business-model-canvas.md` each time alignment is validated. It is the audit trail showing the canvases were checked and are in sync.
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# Value Proposition Canvas
|
|
2
|
+
|
|
3
|
+
## What Is the VPC?
|
|
4
|
+
|
|
5
|
+
The VPC zooms into one specific relationship from the BMC: what a specific customer segment needs and what the product offers them. It is the most frequently read document in the methodology — six skills consume it directly. Getting it wrong means every downstream skill builds on a faulty foundation.
|
|
6
|
+
|
|
7
|
+
One VPC per customer segment. If the BMC defines three segments, there are three VPCs. Each lives in the same file, clearly separated by segment.
|
|
8
|
+
|
|
9
|
+
## The Two Sides
|
|
10
|
+
|
|
11
|
+
### Side 1: Customer Profile (what the customer needs)
|
|
12
|
+
|
|
13
|
+
Three categories, populated from research — not from assumptions about what the product will do.
|
|
14
|
+
|
|
15
|
+
#### Customer Jobs
|
|
16
|
+
What the customer is trying to accomplish. Jobs are activities, not features. They are stated in the customer's language, not the product's.
|
|
17
|
+
|
|
18
|
+
- **Functional jobs:** Tasks they need to complete. "Send an invoice to a client." "Know how much money I owe in taxes."
|
|
19
|
+
- **Social jobs:** How they want to be perceived. "Look professional to my clients." "Demonstrate financial responsibility to my accountant."
|
|
20
|
+
- **Emotional jobs:** How they want to feel. "Feel confident my finances are under control." "Stop worrying about unpaid invoices."
|
|
21
|
+
|
|
22
|
+
**Rules:**
|
|
23
|
+
- Jobs are statements of intent, not descriptions of pain. "Track unpaid invoices" is a job. "Frustrated by losing track of invoices" is a pain.
|
|
24
|
+
- Order jobs by importance to the customer. The top job is the one the product must solve to deliver core value.
|
|
25
|
+
- Each job here becomes a backbone activity in story-mapping. The mapping is direct — do not invent activities that have no corresponding job.
|
|
26
|
+
|
|
27
|
+
#### Pains
|
|
28
|
+
What frustrates the customer when trying to accomplish their jobs. Pains are specific, observable problems — not vague dissatisfaction.
|
|
29
|
+
|
|
30
|
+
- **Emotional pains:** Anxiety, frustration, fear. "Worried I'll miss a payment deadline."
|
|
31
|
+
- **Functional pains:** Obstacles and inefficiencies. "Spends 45 minutes manually entering invoice data into a spreadsheet every Friday."
|
|
32
|
+
- **Social pains:** How current solutions make them feel. "Embarrassed to send invoices that look unprofessional."
|
|
33
|
+
|
|
34
|
+
**Rules:**
|
|
35
|
+
- Pains map to frustrations in persona documents (ux-research). The same pain appears in both places — the VPC names it, the persona contextualizes it.
|
|
36
|
+
- Pains map to Must Have features in release planning. The most painful pain is the first problem the product must solve.
|
|
37
|
+
- Be specific about magnitude. "Takes too long" is vague. "Takes 45 minutes" is measurable and testable.
|
|
38
|
+
|
|
39
|
+
#### Gains
|
|
40
|
+
What the customer wants to achieve or experience as a result of accomplishing their jobs. Gains are the definition of success.
|
|
41
|
+
|
|
42
|
+
- **Functional gains:** What they want the product to do. "Send invoices in under 2 minutes."
|
|
43
|
+
- **Social gains:** How they want to be seen. "Clients perceive me as organized and professional."
|
|
44
|
+
- **Emotional gains:** How they want to feel. "Confident that all invoices are tracked and followed up on automatically."
|
|
45
|
+
- **Strategic gains:** Long-term outcomes. "Spend less time on admin, more time on client work."
|
|
46
|
+
|
|
47
|
+
**Rules:**
|
|
48
|
+
- Gains map to goals in persona documents (ux-research). The same gain appears in both places.
|
|
49
|
+
- Gains map to "So that" clauses in Gherkin scenarios (bdd-specification). Every scenario's business value statement traces back to a gain defined here.
|
|
50
|
+
- Order gains by importance. The top gain is what the product delivers when it is working perfectly.
|
|
51
|
+
|
|
52
|
+
### Side 2: Value Proposition (what the product offers)
|
|
53
|
+
|
|
54
|
+
Three categories, each directly responding to the customer profile on the other side.
|
|
55
|
+
|
|
56
|
+
#### Products & Services
|
|
57
|
+
What the product actually is and does. The concrete offering.
|
|
58
|
+
|
|
59
|
+
- List the product itself and any services that accompany it (onboarding, support, integrations).
|
|
60
|
+
- Each product or service must respond to at least one Customer Job. If a feature exists that serves no job, it is waste.
|
|
61
|
+
|
|
62
|
+
#### Pain Relievers
|
|
63
|
+
How the product addresses each pain. Each pain reliever maps to a specific pain.
|
|
64
|
+
|
|
65
|
+
- Be explicit about the mapping: "Relieves [pain name] by [how]."
|
|
66
|
+
- If a pain has no pain reliever, it is an unaddressed problem. Either the product must address it (becomes a Must Have feature) or the pain is out of scope (document why).
|
|
67
|
+
|
|
68
|
+
#### Gain Creators
|
|
69
|
+
How the product delivers each gain. Each gain creator maps to a specific gain.
|
|
70
|
+
|
|
71
|
+
- Be explicit about the mapping: "Creates [gain name] by [how]."
|
|
72
|
+
- If a gain has no gain creator, it is an unmet expectation. Either the product must create it or the gain is aspirational for a future release (document when).
|
|
73
|
+
|
|
74
|
+
## Output Contract
|
|
75
|
+
|
|
76
|
+
This is what downstream skills read. Every field below must be populated. Ambiguous or missing fields break the chain.
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
Customer Jobs → story-mapping reads to derive backbone activities
|
|
80
|
+
→ ux-research reads to identify persona segments
|
|
81
|
+
Pains → ux-research pulls into persona frustrations
|
|
82
|
+
→ story-mapping references in task templates
|
|
83
|
+
→ story-mapping references in release plans
|
|
84
|
+
Gains → ux-research pulls into persona goals
|
|
85
|
+
→ bdd-specification uses for "So that" clauses
|
|
86
|
+
→ story-mapping references in task templates
|
|
87
|
+
→ story-mapping references in release plans
|
|
88
|
+
→ ui-design-workflow reads for user goals context
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## File Format
|
|
92
|
+
|
|
93
|
+
Create: `/docs/value-proposition-canvas.md`
|
|
94
|
+
|
|
95
|
+
If multiple customer segments exist, each segment gets its own clearly separated section. All segments live in the same file.
|
|
96
|
+
|
|
97
|
+
```markdown
|
|
98
|
+
# Value Proposition Canvas
|
|
99
|
+
|
|
100
|
+
**Created:** [Date]
|
|
101
|
+
**Last updated:** [Date]
|
|
102
|
+
**Product:** [Product name]
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Segment: [Segment Name]
|
|
107
|
+
|
|
108
|
+
**BMC reference:** Customer Segments → [Segment name]
|
|
109
|
+
|
|
110
|
+
### Customer Profile
|
|
111
|
+
|
|
112
|
+
#### Customer Jobs
|
|
113
|
+
1. **[Job name]** — [Description in customer's language. What they are trying to accomplish.]
|
|
114
|
+
2. **[Job name]** — [Description]
|
|
115
|
+
|
|
116
|
+
#### Pains
|
|
117
|
+
1. **[Pain name]** — [Specific, observable problem. Include magnitude where possible.]
|
|
118
|
+
2. **[Pain name]** — [Description]
|
|
119
|
+
|
|
120
|
+
#### Gains
|
|
121
|
+
1. **[Gain name]** — [What success looks like for the customer. Specific, not vague.]
|
|
122
|
+
2. **[Gain name]** — [Description]
|
|
123
|
+
|
|
124
|
+
### Value Proposition
|
|
125
|
+
|
|
126
|
+
#### Products & Services
|
|
127
|
+
- **[Product/service name]:** [What it is and what it does. Maps to which Customer Job(s).]
|
|
128
|
+
- **[Product/service name]:** [Description]
|
|
129
|
+
|
|
130
|
+
#### Pain Relievers
|
|
131
|
+
- **Relieves [Pain name]** by [How the product addresses this specific pain]
|
|
132
|
+
- **Relieves [Pain name]** by [How]
|
|
133
|
+
|
|
134
|
+
#### Gain Creators
|
|
135
|
+
- **Creates [Gain name]** by [How the product delivers this specific gain]
|
|
136
|
+
- **Creates [Gain name]** by [How]
|
|
137
|
+
|
|
138
|
+
### Unaddressed
|
|
139
|
+
[Document any pains with no pain reliever and any gains with no gain creator.
|
|
140
|
+
Each must have a disposition: "Must Have — target Release [N]" or "Out of scope — because [reason]".]
|
|
141
|
+
|
|
142
|
+
- Pain: [Pain name] — [disposition]
|
|
143
|
+
- Gain: [Gain name] — [disposition]
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Segment: [Next Segment Name]
|
|
148
|
+
|
|
149
|
+
[Same structure as above]
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Rules
|
|
153
|
+
|
|
154
|
+
- Customer Jobs are ordered by importance. The first job is the one the product must solve to deliver core value. Story-mapping will derive the backbone in this order.
|
|
155
|
+
- Pains and Gains are ordered by severity and importance respectively. The first pain is the most painful. The first gain is the most valued.
|
|
156
|
+
- Every pain must have a disposition: relieved by the product, or explicitly out of scope with a reason.
|
|
157
|
+
- Every gain must have a disposition: created by the product, or explicitly aspirational with a target release.
|
|
158
|
+
- The VPC is updated whenever ux-research returns findings. Personas and journey maps may reveal jobs, pains, or gains that were not visible at canvas creation time.
|
|
159
|
+
- Do not populate the Value Proposition side (Products & Services, Pain Relievers, Gain Creators) until the Customer Profile side is complete. The value proposition must respond to real customer needs, not the other way around.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Project Context for Claude Code
|
|
2
|
+
|
|
3
|
+
## Project Overview
|
|
4
|
+
- **Name**: [PROJECT_NAME]
|
|
5
|
+
- **Purpose**: [BUSINESS_PURPOSE]
|
|
6
|
+
- **Tech Stack**: [LANGUAGES, FRAMEWORKS, DATABASES]
|
|
7
|
+
|
|
8
|
+
## Methodology
|
|
9
|
+
This project uses ATDD + Red-Green-Refactor workflow.
|
|
10
|
+
|
|
11
|
+
**Skills available at `/mnt/skills/user/`:**
|
|
12
|
+
- `product-strategy/SKILL.md` — business model canvas and value proposition canvas (foundation — run first)
|
|
13
|
+
- `ux-research/SKILL.md` — personas, mental models, and user journey maps
|
|
14
|
+
- `story-mapping/SKILL.md` — organizing user activities and tasks
|
|
15
|
+
- `bdd-specification/SKILL.md` — writing Gherkin specifications
|
|
16
|
+
- `ux-design/SKILL.md` — information architecture, interaction patterns, usability evaluation, onboarding
|
|
17
|
+
- `ui-design-workflow/SKILL.md` — screen flows, component selection, acceptance targets
|
|
18
|
+
- `ui-design-system/SKILL.md` — design tokens, layout, typography, components, accessibility (reference — consulted during UI design)
|
|
19
|
+
- `atdd-workflow/SKILL.md` — RED-GREEN-REFACTOR implementation workflow
|
|
20
|
+
- `clean-code/SKILL.md` — SOLID principles and design patterns (reference — consulted during GREEN and REFACTOR)
|
|
21
|
+
- `cicd-pipeline/SKILL.md` — CI/CD pipeline stages, environment promotion, deployment and rollback (bridge from commit to production)
|
|
22
|
+
- `continuous-improvement/SKILL.md` — post-release measurement, root cause analysis, process updates (run after each release)
|
|
23
|
+
|
|
24
|
+
**Read the relevant skill BEFORE starting any work.**
|
|
25
|
+
|
|
26
|
+
## Context Files (Read Before Implementation)
|
|
27
|
+
1. `/docs/test-strategy.md` — testing tools and commands
|
|
28
|
+
2. `/docs/business-model-canvas.md` — business model
|
|
29
|
+
3. `/docs/value-proposition-canvas.md` — customer value propositions
|
|
30
|
+
4. `/docs/story-map/backbone.md` — user activities
|
|
31
|
+
5. `/docs/ubiquitous-language.md` — domain terminology
|
|
32
|
+
|
|
33
|
+
## Project-Specific Rules
|
|
34
|
+
[Add constraints, naming conventions, patterns specific to this project]
|
|
35
|
+
|
|
36
|
+
Examples:
|
|
37
|
+
- All monetary values use Money value object (never raw numbers)
|
|
38
|
+
- Dates in ISO 8601 format
|
|
39
|
+
- All user-facing text supports i18n
|
|
40
|
+
|
|
41
|
+
## Architecture
|
|
42
|
+
[Describe your layer structure and folder organization]
|
|
43
|
+
|
|
44
|
+
Examples:
|
|
45
|
+
- `/src/domain/` — pure business logic, no external dependencies
|
|
46
|
+
- `/src/application/` — use cases and orchestration
|
|
47
|
+
- `/src/infrastructure/` — databases, APIs, adapters
|
|
48
|
+
- `/src/presentation/` — UI layer
|
|
49
|
+
|
|
50
|
+
## Current Focus
|
|
51
|
+
- **Release:** [RELEASE_NAME]
|
|
52
|
+
- **Target:** [DATE]
|
|
53
|
+
- **Story Map:** `/docs/story-map/releases/[release].md`
|
|
54
|
+
|
|
55
|
+
## Additional Notes
|
|
56
|
+
[Any other context Claude Code needs to know]
|