第7章:書き方③ Consequences(結果)— “痛み”もちゃんと書く💦💎
この章はね、**「いいことだけ書いた作文ADR」**から卒業して、 **未来の自分とチームを助ける“強いADR”**にする回だよ〜!🫶✨
7.0 この章でできるようになること🎯✨
- Consequences(結果)に 何を書くべきか がわかる📌
- メリットだけじゃなく、デメリット・リスクもちゃんと書ける👎⚠️
- 「結果」を **次のアクション(タスク)**に落とせる🧹🛠️
- TypeScript開発でありがちな Consequences ネタが増える🧠💡
7.1 Consequencesって結局なに?🤔📌
ADRの基本形(Context / Decision / Consequences)の “Consequences” は、 **「この決定をした結果、何が起きる? 何がラクになって、何がツラくなる?」**を書く場所だよ📝✨
Michael Nygard の ADR 形式でも Consequences は必須要素として扱われてるよ。(Architectural Decision Records) さらに元の考え方として、良い結果だけじゃなく“全部”書く(都合の悪い話も含めて)ことが大事って言われてるの。(Cognitect.com)
そして “Consequences” には、単なる感想じゃなくて、 **効果 / 結果 / フォローアップ(次にやること)**まで含めるのが良いとされるよ。(GitHub)
7.2 なんで「痛み(デメリット)」を書くの?😣➡️😌
「デメリット書くと、決定が弱く見える気がする…」って思いがちなんだけど、逆!🙅♀️💦
デメリットを書くとこうなる👇
- 未来の炎上を減らせる🔥➡️🧯 「聞いてないんだけど?」が減る
- レビューが強くなる👀✨ 反対意見を先回りして潰せる
- 運用がラクになる🧹 面倒ポイントが事前に見えるから、準備できる
- “この決定を選んだ理由”が透明になる🔍 トレードオフを理解して合意しやすい
AWSのガイドでも、ADRは「決定・背景・結果」を書くものとして整理されてるよ。(AWS ドキュメント) つまり、結果を薄く書くと、ADRが半分欠けるの😵💫
7.3 Consequencesの「書きやすい型」🧩✨(おすすめ)

初心者が強くなるには、型が正義💪🌸 私はこの型をおすすめするよ👇
✅ Consequences = 3 + 2 + 1 で書く✨
- 良いこと(Pros) 👍(3つ)
- 悪いこと(Cons) 👎(3つ)
- 副作用(Neutral / Side effects) 🌀(あれば)
- リスク・未知(Risks / Unknowns) ⚠️(2つくらい)
- フォローアップ(Follow-ups) 🛠️(やること)
- どう検証する?(Validation) 🔍(軽く一言)
ポイント:「悪いこと」→「じゃあどう備える?」 まで書けると一気にプロっぽい💎
7.4 “強いConsequences”を書くコツ8つ💡✨
① 「何がラク/ツラくなる?」で書き始める📝
- ✅「これにより◯◯が容易になる」
- ✅「一方で◯◯が難しくなる」
② 具体名を出す(誰が何をする時?)👥
- ✅「新規参加の開発者が型エラーで詰まりやすい」
- ✅「APIチームとフロントの契約が明確になる」
③ コストは“種類”で書く💰⏳
- 学習コスト📚 / 実装コスト🛠️ / 運用コスト🧹 / 更新コスト🔄
④ “時間軸”を入れる🕰️
- 短期(今月)🎈 / 中期(次のリリース)📦 / 長期(半年〜)🏔️
⑤ 「例外」や「適用範囲」を思い出す🧷
- どこまで適用? どこは例外? → Decision が強くなるし、Consequences も締まる✨
⑥ できれば“数字/指標”の匂いを入れる📊
- 例:ビルド時間、バグ率、PRレビュー時間、障害件数… ※ガチな計測じゃなくてOK!「見る予定」が大事🙆♀️
⑦ “次にやること”へ変換する🛠️
- デメリットを書く → そのまま タスク化できるのが最強!
⑧ “都合のいい未来”を書かない😇💦
- ❌「きっと運用は簡単になるはず」
- ✅「運用は簡単になる見込みだが、◯◯が必要(手順整備など)」
7.5 TypeScript開発で出やすい Consequences ネタ集🧠✨

「何書けばいいかわかんない😭」って時に、ここから引っ張ってOKだよ〜!📌
🧷 型まわり(strict系)
- 👍 バグの早期発見が増える
- 👎 型を書く量が増えて、最初は遅く感じる
- ⚠️ 既存コードの移行が重い(段階導入が必要)
🔍 ランタイム検証(zod等)
- 👍 APIレスポンスの事故が減る
- 👎 スキーマ作成の手間・重複(型と二重管理になりやすい)
- ⚠️ パフォーマンス影響や例外処理方針が必要
📦 モジュール/ビルド周り(ESM, bundler, nodenext等)
- 👍 ツールチェーンとの整合が良くなることが多い
- 👎 設定の理解コストが上がる(沼ポイント)
- ⚠️ 今後のTypeScriptの大きめ移行(ネイティブ化など)で“前提”が動く可能性があるので、決定の結果に「追従コスト」を書いておくと強いよ🧠 TypeScriptチームは、5.9系の次に 6.0 を“橋渡し”として位置づけ、7.0をネイティブ化ラインとして進める方針を述べているよ。(TypeScript)
7.6 例:Consequencesを「弱い→強い」にしてみる✍️✨
テーマ:APIレスポンスの runtime validation を zod でやる(例)
❌弱いConsequences(ありがち)
- 良い点:安全になる
- 悪い点:少し大変
- 以上
…うん、かわいいけど、未来の自分が泣くやつ😭💦
✅強いConsequences(この章のゴール)
-
👍 想定外のレスポンスが来ても、画面で爆発せずに「扱えるエラー」にできる(障害が減る)
-
👍 API変更が入った時に、型だけでなく実行時でも検知できる
-
👍 バグ調査が早くなる(どのフィールドが壊れてるか即わかる)
-
👎 スキーマ定義が増える(型定義と二重になりやすい)
-
👎 バリデーション失敗時のエラー表現を統一しないと、UXが崩れる
-
👎 スキーマ設計を雑にすると「全部 optional」みたいになって意味が薄れる
-
⚠️ バリデーションのコストが気になる画面が出るかも(大量データなど)
-
⚠️ 既存コードへの導入は段階的にしないとPRが巨大化する
-
🛠️ Follow-ups
- 失敗時エラー型(例:
ValidationError)と表示方針を決める - “まずは重要画面だけ”など導入順を決める
- 代表APIでパフォーマンス確認(簡単な計測でOK)
- 失敗時エラー型(例:
-
🔍 Validation(検証)
- 想定外レスポンスの再現テストを1つ入れる / 主要画面のレスポンスサイズで計測する
こう書くと、ADRが一気に「未来の説明書」になるよ📒💎
7.7 Consequencesを「タスク」に変換する魔法🪄🛠️

書いたデメリットやリスクは、放置すると呪いになる👻💦 だから、こうやって変換しよ👇
- 👎「運用が複雑になる」 → 🛠️「運用手順を docs に書く」
- ⚠️「パフォーマンスが落ちるかも」 → 🛠️「計測して、閾値超えたら代替案に切り替える条件を書く」
- 👎「学習コストが高い」 → 🛠️「最小サンプルとチートシートを用意する」
7.8 ワーク(手を動かすやつ)🎮✨
ワークA(5分):「良い3つ+悪い3つ」縛り✍️
最近の判断を1つ選んで、Consequencesを 3/3 で書く👍👎
ワークB(5分):「リスク2つ」だけ追加⚠️
- “起きたらダメージが大きいこと”を2つ
ワークC(5分):「Follow-ups」を3つ🛠️
- リスクやデメリットを 潰す行動に変換する
7.9 AI活用(Copilot/Codex向け)プロンプト例🤖💕
そのままコピペして使ってOKだよ〜!
あなたはADRレビュー担当です。
以下の Decision と Context から、Consequences を
1) Pros 3つ
2) Cons 3つ
3) Risks/Unknowns 2つ
4) Follow-ups 3つ
の形式で提案してください。
「TypeScript開発で起こりがちな現実的な痛み」を必ず含めてください。
Decision:
(ここに一文)
Context:
(ここに背景)
悪魔の代弁者として、上の決定に対して
「反対意見」と「最悪ケース」を5つ挙げてください。
そのうち2つは運用・保守の観点にしてください。
上のConsequencesを、初心者にも読みやすい短い文章に整形してください。
曖昧表現(たぶん/きっと等)を減らし、具体名を増やしてください。
7.10 自己採点チェックリスト✅✨(これで完成度アップ)
- Pros だけじゃなく Cons がちゃんとある 👎
- Cons が「具体的な痛み」になってる(誰が困る?何が増える?)😣
- リスク(未知)を書いた⚠️
- リスクを潰す Follow-ups がある🛠️
- “検証する方法”が一言ある🔍
- 未来の自分が読んで「なるほど」って言える📒✨
おまけ:Consequences用のミニテンプレ🧩💕
必要なら、この塊をADRに貼って埋めるだけでOK!
## Consequences
### Pros 👍
-
-
-
### Cons 👎
-
-
-
### Risks / Unknowns ⚠️
-
-
### Follow-ups 🛠️
-
-
-
### Validation 🔍
-
次の章(第8章)に行くと、ADRを迷子にしない置き場所&管理の話になるよ📁🧭✨ 第7章の内容を使って、もし「この判断で Consequences 作ってみて〜!」って題材があれば、こちらで一緒に書いて磨けるよ🥰📝