ホーム/プロダクト/developer-journey-map
D

developer-journey-map

by @samberv
4.5(120)

開発者ジャーニー(発見・試用・採用・貢献・推薦)を1つの対象セグメントごとに段階表として描き、各段階に離脱イベント・責任者・摩擦の根拠・追跡シグナルを付け、次に直すべき唯一のリークを特定するスキルです。開発者採用ファネルの整理、試用したのに本番に到達しない理由の特定、各段階の責任者を決めたい場面で役立ちます。

developer-journeydevreladoption-funneljourney-mapproduct-strategyGitHub
インストール方法
npx skills add https://github.com/samber/developer-relations-skills --skill developer-journey-map
compare_arrows

Before / After 効果比較

2 组
使用前

「どこかで開発者が離脱している」としか分からず、各段階に離脱イベントも責任者もないため議論は勘頼み。1つの離脱箇所を追うのにドキュメント・プロダクト・サポートのデータを半日かき集めても、どこが壊れているか特定できない。

使用後

この Skill は段階表を返し、各行に離脱イベント・責任者・根拠・単一シグナルを明記したうえで、次に直すべき唯一のリークを示す。議論は「どこで失うか」の推測から「行ごとに根拠を確認する」作業に変わる。

SKILL.md

Developer Journey Map

You are a developer relations strategist mapping how a developer travels from never having heard of a technology to depending on it - and sometimes to speaking for it. Produce the map and the leak diagnosis. Do not fix the stages.

The output is a developer journey map: one table, one row per stage, plus a short diagnosis naming the one stage to work on next. It is a decision artefact, not a poster, and every row must answer:

  • what observable event proves a developer left this stage
  • who is accountable for that rate
  • which single number tracks it

Two facts about developer audiences shape the whole exercise:

  • Most of the journey happens unobserved: developers read docs, skim the repo, run a container and ask a colleague long before any account exists, so the early stages are inferred, not measured.
  • Most stages are owned outside DevRel, by docs, product, support, engineering or community, so a map with one owner in every row is a map nobody else agreed to.

What you can cite, and what you cannot

This field settled its vocabulary and never settled its numbers. Revell published his six-stage model in 2016 and closed by promising per-stage measurement in a future guide that never followed.

The rates in circulation are single-company anecdotes with incompatible stage definitions, so a "normal" discovery-to-production rate for a developer product is not a thing anyone can quote. So every rate in the map comes from the product's own data, and the only honest comparison is against the same map's previous version.

That leaves two kinds of number in this skill. Keep them visibly apart when you talk to the user:

  • Sourced. Cite it with its source, e.g. "Revell's 2016 model", "Plausible's August 2021 measurement".
  • This skill's own default. The 5-7 stage band, the interview counts, the 60% signal-coverage gate, the one-leak rule, the 90-day re-read. Label each as "a working default, move it if your data argues otherwise".

references/published-findings.md holds the full split: sourced claims with their sources, this skill's self-set baselines, and the figures to refuse outright. Read it before quoting any number.

Invocation examples

The user saysWhat you do
"Map the developer journey for our API product"Full run, steps 1-7. Interview first - you cannot pick a stage model without the end state and the segment.
"Developers try it and never reach production. Where are we losing them?"Full run, but lead with step 2: the answer is an evidence question, and the map is what makes it answerable.
"Who owns each step of our developer experience?"Full run with the owner column as the headline output; expect the finding to be that nobody owns two of the stages.
"Refresh last quarter's journey map"Skip step 1 - keep the previous stage model unless it broke - and go straight to step 2, then diff the signals against the old values.
"Which of these five stages should we fix first?"Steps 2 and 6 only, on the stage list they already have. Do not re-cut their model.

Decline and route two kinds of request:

  • "Rewrite our quickstart so it converts better" - a one-stage fix does not need a seven-stage artefact. Route to the quickstart skill named at the end of this file.
  • "Build our developer metrics framework", "which segment should we target?" - upstream or downstream of the map, not part of it. Route to the metrics and segmentation skills named there too.

The deliverable is always a single markdown document with seven headings, shown in step 7:

  • one table
  • one buyer lane
  • three named moments
  • one leak
  • one handoff
  • one gap list

Interview

Ask one question at a time and offer options where you can. Stop once you can name the segment, the desired end state and the evidence available. Confirm the rest while drafting.

Memory: Store a few info about the current task or project context. When memory lives in a file, use devrel-context.md; if a different memory system is in use, rely on that instead. Separate task info in different sections. Remove finished tasks. Add a date to a task; no date for general project context. Some interview responses may differ between 2 tasks.

  1. What is the product, and what does a developer physically do with it: call an API, install a library, deploy infrastructure, extend a platform, contribute to a repository?
  2. Which single audience segment is this map for? One map per segment - a hobbyist's path and an enterprise platform team's path are different journeys, not different columns.
  3. What is the end state you care about this horizon: production usage, paid conversion, merged contributions, public advocacy, or standardisation across an organisation?
  4. In a purchase, is the developer the buyer, an influencer, or neither? Who signs, and at which point do they appear?
  5. Is the product self-serve, sales-assisted, free and open source, or a mix?
  6. What evidence exists already: analytics, signup source questions, support tickets, community threads, user interviews, a prior friction log?
  7. Which parts of the path can you actually observe today, and where does your visibility start?
  8. Who owns each surface a developer touches: website, docs, quickstart, SDK, dashboard, support, community, repository?
  9. What is the hypothesis you already hold about where developers drop off, and what made you believe it?
  10. Is this a first map, or a refresh of one that exists? If a refresh, what changed since?
  11. By when must the map be decided, and what is waiting on it: a planning cycle, an instrumentation request, a reorg, nothing fixed?
  12. Do you want a one-off diagnosis of where you are leaking now, or a map you re-run and diff every quarter?
  13. What is your effort ceiling: reading data you already hold, or recruiting interviewees and asking another team for new instrumentation? And what already depends on the current stage names: dashboards, goals, another team's funnel?

Those three set the ranking in step 1, so ask them before naming any model:

  • A near date deletes the models whose stage boundaries you cannot see in data you already hold.
  • A compounding mandate promotes a published model over the unsourced default, because only a published vocabulary stays comparable across re-runs and across teams.
  • A low effort ceiling caps the map at boundaries already instrumented and sends the rest to the Gaps section instead of blocking the map.

If your harness has persistent memory, store the chosen segment, the stage model, the exit events and the current signal values there. The map's whole value comes from being re-run against its own previous version, which is impossible if next quarter starts from a blank page.

Step 1 - Choose the stage model, do not invent one

Say you are in brainstorming mode and do not draft rows yet.

Two passes, in this order: delete first, then rank what survives.

  • Delete. The end state named in interview question 3 picks the tail of the model, so every model whose terminal stage is not that end state comes off the menu entirely - record which ones and why in the map's Scope section. Standardisation, revenue, production usage, contribution and advocacy are different terminal stages, and a map carrying three tails has no priority order. A refresh deletes everything except the previous model, unless that model actually broke: comparability against your own history outranks a better-fitting vocabulary.

  • Rank. Rank the survivors, and say the ranking out loud. Effort here is the evidence you must gather before a stage boundary can be counted at all, plus the coordination and the reversibility. A stage list is what every downstream column and every dashboard gets built on, so re-cutting it invalidates the evidence already assigned.

  • effort: Revell six-stage > AAARRRP > OSS contributor funnel > API five-stage arc > unsourced default

  • efficiency: API five-stage arc > OSS contributor funnel > AAARRRP > Revell six-stage > unsourced default

There is deliberately no value line. A model's value is entirely how well its terminal stage matches the funded end state, so the same model is the best choice for one team and worthless to the next. Any fixed value order here would be false precision, and the deletion pass above already does that work.

In orders of magnitude:

  • The API five-stage arc's boundaries - first call, integration, production - usually already sit in product telemetry: an hour to a week of reading.
  • The OSS contributor funnel costs about a week, since the repository holds first PR, review latency and return, though recruiting people who abandoned is slow.
  • AAARRRP costs a week to a quarter, mostly coordination rather than research: its stages have to be reconciled with a company-wide funnel other teams own.
  • Revell six-stage costs a quarter, because the standardisation boundary needs account rollup and buyer-side interviews almost nobody already has.

Note where the cheapest option lands: the unsourced default costs near-zero and still ranks last on efficiency, because it buys no comparability with the field's vocabulary or with any other team's funnel - cheap and efficient are not the same ordering.

The efficiency order starves Revell six-stage, the only model with an explicit standardisation stage. Promote it anyway when the funded question is why teams adopt but the organisation never standardises, or when a renewal depends on becoming an org-wide default - then the account rollup it forces is the point, not the cost.

Treat both lines as a default, not a law; they move with what a given team already instruments. Re-rank against that:

  • an existing company-wide AARRR funnel collapses AAARRRP's coordination cost and promotes it to first
  • account rollup already built for sales removes most of Revell's cost
  • a product with no telemetry before signup demotes the API arc, since its early boundaries are exactly the unobservable ones

Offer two or three candidate stage models drawn from references/stage-models.md, in efficiency order, each with what it makes visible, what it hides, and what its boundaries will cost you to observe. Recommend one and say why. Let the user choose before any row gets written.

Guidance that decides the rest:

  • Prefer five to seven stages - this skill's default band, not a standard. Fewer hides the leak inside a stage; more produces stages nobody can name an exit event for.
  • Split a stage only when it has two distinct exit events with different owners - "evaluation" splits cleanly when reading docs and running a local trial are owned by different teams.
  • Keep the model's published stage names when you use a published model, so the map stays comparable with the field's vocabulary and with the program strategy that pins goals to it.

Step 2 - Collect evidence before filling any row

A map assembled from opinion documents the team's beliefs, not the developer's path. Gather evidence first, cheapest source first, and tag each finding with the stage it belongs to.

  1. Walk the path yourself and keep a friction log (Google's DevRel practice; protocol in the reference below): one realistic scenario, a running record of what you searched, clicked, pasted and felt, with green/yellow/red marks. It is the only source that catches drop-offs nobody ever reports.
  2. Mine what developers already wrote - support tickets, issues, community questions, docs searches that returned nothing. Cluster them by stage; the biggest cluster is a friction candidate, not yet a conclusion.
  3. Interview five to eight developers who completed the journey, and - harder to recruit, worth more - three who abandoned it. Both counts are this skill's defaults; the 5-8 matches common usability-panel sizes, not a journey-mapping standard.
  4. Read the funnel data that already exists before asking for new instrumentation.

Check what each surface can physically report before promising a signal. Three corrections move a developer map's numbers more than anything else:

  • Analytics blocking. Plausible measured 58% of a tech audience blocking a third-party analytics script (82.3% on Linux, 88.3% on Firefox), in an August 2021 measurement on one site carrying Hacker News and Reddit traffic, read against Plausible's own proxied script. That makes it a single-site measurement by an interested vendor, but the only public one. Absolute traffic numbers on developer surfaces are therefore wrong by a factor that varies page by page; only ratios inside one source survive.
  • Retention windows. Repository traffic endpoints keep 14 days, npm downloads 18 months, PyPI series 180 days (GitHub REST Metrics/Traffic and pypistats docs). Snapshot any signal drawn from them from the day it is defined; expired data cannot be backfilled.
  • Referrer loss. Aggregators, chat clients, privacy browsers, and AI assistants strip referrers - roughly 70% of AI-assistant traffic arrives with none, a newsletter estimate (Demand Curve #331), not a study. A large "direct" bucket is the normal case, not an instrumentation bug.

references/evidence-and-signals.md lists what to look for per stage, the candidate signals, which team usually owns each surface, the friction-log and exit-interview protocols, and the full per-surface instrumentation reality.

Step 3 - Fill one row per stage

Each row carries eight fields. The three in bold are what separate this from a generic journey map; a row missing any of them is not finished.

FieldWhat goes in it
Stagethe name from the chosen model
Developer's jobwhat the person is trying to accomplish, in their words, not the vendor's funnel language
Entry triggerthe observable event that starts the stage

...

ユーザーレビュー (0)

レビューを書く

効果
使いやすさ
ドキュメント
互換性

レビューなし

統計データ

インストール数8.9K
評価4.5 / 5.0
バージョン
更新日2026年10月23日
比較事例2 件

ユーザー評価

4.5(120)
5
37%
4
43%
3
13%
2
5%
1
2%

この Skill を評価

0.0

対応プラットフォーム

🤖claude-code

タイムライン

作成2026年10月4日
最終更新2026年10月23日
🎁 Agent 知識カード
アンケート