Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to...

Avatar for Logy Logy
September 05, 2025

DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025

Avatar for Logy

Logy

September 05, 2025
Tweet

More Decks by Logy

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 4 • 名前: 太⽥ 拓也 • 経歴: SIer ->

    バックオフィス向けSaaS開発 -> クラスメソッド • 役割: 開発に関わるところ⼤体全部 • 興味: プログラミングというよりもエンジニアリングが好き
  2. サービス開発にありがちなこと 10 • 歪な設計 ◦ 明らかに⼀貫性を⽋いているが、理由がわからず怖くて修正できない • 使っていたライブラリ、フレームワークが廃れた ◦ 乗り換え先を検討しているが、元々どういう観点で選ばれたのかがわから

    ないので困っている • 想定と異なる成⻑ ◦ こんな使われ⽅をする想定はなかったのでパフォーマンスが問題に ビジネスは常に不確実でわからないことだらけ 過去の担当者がそのときの最善を尽くしたことを信じる
  3. コンテキストをだいじに 17 コンテキストとは 背景 / 状況 / ⽂脈 Whyにあたる部分 •

    競合の戦略 • 営業状況 • チームのスキルセット • 技術トレンド • etc
  4. コンテキストをだいじに 20 もしコンテキストが残されていたら? • 数ヶ⽉先には資⾦が尽きるかもしれないスタートアップの機能開発 ◦ 時間のかかる内製? ◦ 悪評は多いがすぐに機能が実現できるライブラリの採⽤? •

    ⼤規模サービスの緊急のバグ修正が必要で数分でも早く復旧したい ◦ 明らかなパッチワーク? ◦ 時間を確保して拡張性のある設計? コンテキストによって評価は変わる
  5. コンテキストをだいじに 21 もしコンテキストが残されていたら? • 数ヶ⽉先には資⾦が尽きるかもしれないスタートアップの機能開発 ◦ 時間のかかる内製? ◦ 悪評は多いがすぐに機能が実現できるライブラリの採⽤? •

    ⼤規模サービスの緊急のバグ修正が必要で数分でも早く復旧したい ◦ 明らかなパッチワーク? ◦ 時間を確保して拡張性のある設計? 判断の結果(コードや設計)は多くの場合残り続けるが 判断のコンテキストは驚くほどすぐに失われる
  6. • One-Way Door (⼀度しか通れないドア) ◦ 影響が⼤きく、変更が困難な決定 ◦ ⽴ち⽌まり、深く議論し、分析する • Two-Way

    Door (いつでも引き返せるドア) ◦ 影響が⼩さく、変更が容易な決定 ◦ 素早く試して学ぶことで、意思決定コストを削減する 意思決定のコストを賢く管理する 29 One-Way Door, Two-Way Door 参考: https://aws.amazon.com/jp/executive-insights/content/how-amazon-defines-and-operationalizes-a-day-1-culture/
  7. 意思決定のコストを賢く管理する 30 One-Way Door, Two-Way Door • One-Way Door (⼀度しか通れないドア)

    ◦ 影響が⼤きく、変更が困難な決定 ◦ ⽴ち⽌まり、深く議論し、分析する • Two-Way Door (いつでも引き返せるドア) ◦ 影響が⼩さく、変更が容易な決定 ◦ 素早く試して学ぶことで、意思決定コストを削減する 参考: https://aws.amazon.com/jp/executive-insights/content/how-amazon-defines-and-operationalizes-a-day-1-culture/ こちらに投資する
  8. 意思決定のコストを賢く管理する 32 開発におけるTwo-Way Door • 内部APIのIF設計 • 静的解析ツールやLintツールの導⼊ • 実装ルールの定義

    変更影響が多岐に及ぶ場合は One-Wayに近いこともあるが、 昨今のAI Agentの台頭によって そのしきい値は⼤きく変わりつつある
  9. 意思決定の質を改善する 37 「〜べきか否か」という意思決定に注意 A or B or C のように認知できていれば発想が広がりやすい B

    A C 決定⼒! :正解を導く4つのプロセス 早川書房 もっとよい⽅法はないか? -> A and Cという組み合わせもある -> BとCに似たDという選択肢も  あるかもしれない D
  10. (再掲)コンテキストをだいじに 39 もしコンテキストが残されていたら? • 数ヶ⽉先には資⾦が尽きるかもしれないスタートアップの機能開発 ◦ 時間のかかる内製? ◦ 悪評は多いがすぐに機能が実現できるライブラリの採⽤? •

    ⼤規模サービスの緊急のバグ修正が必要で数分でも早く復旧したい ◦ 明らかなパッチワーク? ◦ 時間を確保して拡張性のある設計? それぞれのケースにおいて、この2択以外にも選択肢がある
  11. 意思決定の質を改善する 40 選択肢を広げる • 数ヶ⽉先には資⾦が尽きるかもしれないスタートアップの機能開発 ◦ 時間のかかる内製? ◦ 悪評は多いがすぐに機能が実現できるライブラリの採⽤? ◦

    部分的にでも機能をすぐに実現できる外部サービスの導⼊ • ⼤規模サービスの緊急のバグ修正が必要で数分でも早く復旧したい ◦ 明らかなパッチワーク? ◦ 時間を確保して拡張性のある設計? ◦ 応急処置後に落ち着いて再設計
  12. 意思決定の質を改善する 41 選択肢を広げる • 数ヶ⽉先には資⾦が尽きるかもしれないスタートアップの機能開発 ◦ 時間のかかる内製? ◦ 悪評は多いがすぐに機能が実現できるライブラリの採⽤? ◦

    部分的にでも機能をすぐに実現できる外部サービスの導⼊ (折衷案 + 枠組みの拡張) • ⼤規模サービスの緊急のバグ修正が必要で数分でも早く復旧したい ◦ 明らかなパッチワーク? ◦ 時間を確保して拡張性のある設計? ◦ 応急処置後に落ち着いて再設計(時間軸の拡張) 折衷案や時間軸を観点に⼊れてみる
  13. まとめ 45 • ビジネスは常に不確実 • 意思決定を上達させるには練習が必要 • 振り返りのためにコンテキストを残す ◦ ⼿段の⼀つとしてのADR

    • ただし、すべての意思決定に⼤きなコストをかける必要はない ◦ One-Way-door に投資する • 「〜べきか否か」という問いに注意して意思決定の質を改善する ◦ 選択肢を広く持つ
  14. 参考 46 • ソフトウェアアーキテクトのための意思決定術: Software Architecture and Decision-Making ◦ https://speakerdeck.com/snoozer05/software-architecture-and-decision-making

    • ソフトウェアアーキテクトのための意思決定術 リーダーシップ∕技術∕プロダクトマネジメントの活⽤ ◦ インプレス ◦ ISBN-10 : 4295020761 ◦ Srinath Perera (著), 島⽥ 浩⼆ (翻訳) • クネビンフレームワークとOODAループにみる「意思決定」 ◦ https://www.servantworks.co.jp/posts/consider-ooda-loop-with-cynefin-framework/ • AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition ◦ https://speakerdeck.com/twada/agentic-software-engineering-findy-2025-07-edition?slide=40 • 決定⼒! :正解を導く4つのプロセス ◦ 早川書房 ◦ ISBN-10 : 4152094036 ◦ チップ ハース (著), ダン ハース (著), Chip Heath (その他), Dan Heath (その他), 千葉 敏⽣ (翻訳)
  15. Appendix B 49 AI Agentの台頭によって技術的意思決定はどう変わっていくか • コンテキストの重要性が⾼まることは⾔わずもがな ◦ ドキュメントを残すことの投資対効果が⾼まった ◦

    むしろ⽣成AI⽂脈でコンテキストという⽤語を知った⼈も多いのでは • フレームワークやライブラリの調査が圧倒的に早くなった ◦ ハルシネーションの存在により、引き続き信憑性の判断は求められる • ちょっとしたリファクタリングのコストが⼤きく下がった ◦ 疲れ知らずのAIに⼈だと躊躇するような特定のパターンの置き換えをひた すらやってもらえる