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

整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fightin...

整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜

登壇者名:佐藤 拓人
登壇したイベントタイトル:開発生産性Conference2025
登壇したイベントのURL:https://dev-productivity-con.findy-code.io/2025

More Decks by 株式会社ビットキー / Bitkey Inc.

Other Decks in Technology

Transcript

  1. 2 Copyright © 2025 Bitkey Inc. All right reserved. 目次

    1. Tidy First? 2. ビットキーとTidy First? 3. 探索期とTidy First? 4. 拡大期とTidy First? 5. 変革期とTidy First? 6. まとめ
  2. 3 Copyright © 2025 Bitkey Inc. All right reserved. 自己紹介

    佐藤 拓人 Sato Takuto 2015.04 2019.05 2020.01 大学(建築学専攻)卒業後、 株式会社ワークスアプリケーションズに入社 会計システムのソフトウェア開発を担当 特に財務会計の仕訳関連 ビットキーへ参画 ECサイトの開発 / 保守、社内システムの開発 TaKuTyの開発 今のHome事業の前身となるResidenceチームに配属 スマートロックを扱う管理画面やバックエンド、スマ ホアプリの開発に従事 Now Home事業のプロダクト責任者 複雑な事象を読み解いて構造化し、抽象化 / 汎用化で きるように設計し、低コストで多くの価値をだせる開 発をすることを好む
  3. 4 Copyright © 2025 Bitkey Inc. All right reserved. 自己紹介

    私の開発生産性向上の取り組み 生活習慣の改善 04:30 起床 05:00 始発で会社へ 05:45 出社 06:00 仕事 〜課題発掘Time〜 06:30 ジム 08:00 仕事 〜集中Time〜 11:00 昼飯 & MTGなど通常業務 14:00 おやつ & MTGなど通常業務 17:00 おやつ & MTGなど通常業務 18:00 帰宅 19:00 子供のお迎え 19:30 子供の世話 (夕飯 & 風呂) 20:00 夕飯 20:30 明日の準備 21:00 寝かしつけ 21:30 就寝 1. 睡眠時間の確保 平日の平均睡眠時間 4.5-5.5h → 6.0-7.0h 湯船に必ず入る 就寝1時間前から家の照度を落とす...など 2. 運動習慣 週4回ジムトレ & 毎日9,000歩 気が向いたら追加で家トレ 3. 食事 PFCバランスの取れた食事 (毎日ほぼ固定) 1日6食 P:186g / F:33g / C:229g / 1930kcal 特に朝 / 昼は血糖値スパイクが起きないよう にして集中力が持続するようにしている
  4. 5 Copyright © 2025 Bitkey Inc. All right reserved. 自己紹介

    私の開発生産性向上の取り組み 生活習慣の改善 04:30 起床 05:00 始発で会社へ 05:45 出社 06:00 仕事 〜課題発掘Time〜 06:30 ジム 08:00 仕事 〜集中Time〜 11:00 昼飯 & MTGなど通常業務 14:00 おやつ & MTGなど通常業務 17:00 おやつ & MTGなど通常業務 18:00 帰宅 19:00 子供のお迎え 19:30 子供の世話 (夕飯 & 風呂) 20:00 夕飯 20:30 明日の準備 21:00 寝かしつけ 21:30 就寝 1. 睡眠時間の確保 平日の平均睡眠時間 4.5-5.5h → 6.0-7.0h 湯船に必ず入る 就寝1時間前から家の照度を落とす...など 2. 運動習慣 週4回ジムトレ & 毎日9,000歩 気が向いたら追加で家トレ 3. 食事 PFCバランスの取れた食事 (毎日固定) P:186g / F:33g / C:229g / 1930kcal 特に朝 / 昼は血糖値スパイクが起きないよう にして集中力が持続するようにしている なぜ生活習慣改善したのか? 1. 事業状況/自身の期待役割の変化 2. 登壇/イベントなど露出の機会増加 3. AIの台頭 4. 娘から (妻から) のメッセージ
  5. 7 Copyright © 2025 Bitkey Inc. All right reserved. 1.

    Tidy First? 「Tidy First?」とは? タイトル: Tidy First? 著者: Kent Beck 出版: 2023年 ・個人で実践する経験主義的ソフトウェア設計 ・「まず整理整頓から始めるべきでは?」という問いかけ ・実践的なアプローチが豊富にまとめられている書籍 ・「整頓」という簡単にできる取り組みを掲げている ・「ディスカウントキャッシュフロー」「オプショナリ    ティ」という経済的な視点での判断軸に触れている
  6. 8 Copyright © 2025 Bitkey Inc. All right reserved. 「Tidy

    First?」を目次を振り返る 1. 整頓 1. ガード説 2. デッドコード 3. シンメトリーを揃える 4. 新しいインターフェース、古い実装 5. 読む順番 6. 凝集の順番 7. 変数宣言と初期化を一緒の場所に移動 する 8. 説明変数 9. 説明定数 10. 明示的なパラメーター 11. ステートメントを小分けする 12. ヘルパーを抽出する 13. ひとかたまり 14. 説明コメント 15. 冗長なコメントを削除する 2. 管理術 1. 分けて整理する 2. 連結 3. バッチサイズ 4. リズム 5. 絡まりをときほぐす 6. 先に整頓、後に整頓、改めて整頓、整 頓しない 3. 理論 1. 要素を役立つように関係づける 2. 構造と振る舞い 3. 経済性:時間価値とオプショナリティ 4. 明日の1ドルより今日の1ドル 5. オプション 6. オプション vs キャッシュフロー 7. 可逆的な構造変更 8. 結合 9. コンスタンチンの等価性 10. 結合 vs 分離 11. 凝集 12. 結論 1. Tidy First?
  7. 9 Copyright © 2025 Bitkey Inc. All right reserved. 1.

    整頓 1. ガード説 2. デッドコード 3. シンメトリーを揃える 4. 新しいインターフェース、古い実装 5. 読む順番 6. 凝集の順番 7. 変数宣言と初期化を一緒の場所に移動 する 8. 説明変数 9. 説明定数 10. 明示的なパラメーター 11. ステートメントを小分けする 12. ヘルパーを抽出する 13. ひとかたまり 14. 説明コメント 15. 冗長なコメントを削除する 2. 管理術 1. 分けて整理する 2. 連結 3. バッチサイズ 4. リズム 5. 絡まりをときほぐす 6. 先に整頓、後に整頓、改めて整頓、整 頓しない 3. 理論 1. 要素を役立つように関係づける 2. 構造と振る舞い 3. 経済性:時間価値とオプショナリティ 4. 明日の1ドルより今日の1ドル 5. オプション 6. オプション vs キャッシュフロー 7. 可逆的な構造変更 8. 結合 9. コンスタンチンの等価性 10. 結合 vs 分離 11. 凝集 12. 結論 「Tidy First?」を目次を振り返る 1. Tidy First? 対象外
  8. 10 Copyright © 2025 Bitkey Inc. All right reserved. 1.

    整頓 1. ガード説 2. デッドコード 3. シンメトリーを揃える 4. 新しいインターフェース、古い実装 5. 読む順番 6. 凝集の順番 7. 変数宣言と初期化を一緒の場所に移動 する 8. 説明変数 9. 説明定数 10. 明示的なパラメーター 11. ステートメントを小分けする 12. ヘルパーを抽出する 13. ひとかたまり 14. 説明コメント 15. 冗長なコメントを削除する 2. 管理術 1. 分けて整理する 2. 連結 3. バッチサイズ 4. リズム 5. 絡まりをときほぐす 6. 先に整頓、後に整頓、改めて整頓、整 頓しない 3. 理論 1. 要素を役立つように関係づける 2. 構造と振る舞い 3. 経済性:時間価値とオプショナリティ 4. 明日の1ドルより今日の1ドル 5. オプション 6. オプション vs キャッシュフロー 7. 可逆的な構造変更 8. 結合 9. コンスタンチンの等価性 10. 結合 vs 分離 11. 凝集 12. 結論 「Tidy First?」を目次を振り返る 1. Tidy First?
  9. 11 Copyright © 2025 Bitkey Inc. All right reserved. キャッシュフロー

    ・「お金」「時間」の価値は一緒じゃない ・時間が経過するほど価値は下がる 1. Tidy First? 「キャッシュフロー」とは?
  10. 12 Copyright © 2025 Bitkey Inc. All right reserved. 1.

    Tidy First? 「キャッシュフロー」とは? ・明日の1ドルよりも今日の1ドル ・より早く確実にお金を稼ぎ、後でお金を使う ・より早く、より高い確率で、より多くのお金を稼ぐ ・より遅く、より低い確率で、より少なくお金を費やす ・(キャッシュフローの観点においては) 先に整頓はしない
  11. 13 Copyright © 2025 Bitkey Inc. All right reserved. 1.

    Tidy First? 「キャッシュフロー」とは? ・明日の1ドルよりも今日の1ドル ・より早く確実にお金を稼ぎ、後でお金を使う ・より早く、より高い確率で、より多くのお金を稼ぐ →より早く、より高い確率で、より多く価値を提供する機能をリリースする ・より遅く、より低い確率で、より少なくお金を費やす →より遅く、より低い確率で、より少ないリソースで実現する ・(キャッシュフローの観点においては) 先に整頓はしない
  12. 14 Copyright © 2025 Bitkey Inc. All right reserved. オプション

    ・(容易に実現可能な) 機能拡張の選択肢があるか ・実装しなくても選択肢があることが価値 1. Tidy First? 「オプション」とは?
  13. 15 Copyright © 2025 Bitkey Inc. All right reserved. オプションを下げるケース

    ・重要な従業員が辞める ・数日でできていた変更に数ヶ月かかるようになる ・顧客との距離を置く ・刺激的な提案を受け頻度が毎日ではなく月1回になると取れるオプションは減る ・変更コストが跳ね上がる ・1日1回ではなく月1回しかオプションを行使できなくなる 1. Tidy First? 「オプション」とは?
  14. 16 Copyright © 2025 Bitkey Inc. All right reserved. オプションを下げるケース

    ・重要な従業員が辞める ・数日でできていた変更に数ヶ月かかるようになる ・顧客との距離を置く ・刺激的な提案を受け頻度が毎日ではなく月1回になると取れるオプションは減る ・変更コストが跳ね上がる ・1日1回ではなく月1回しかオプションを行使できなくなる Tidy First?では、特に3番目のケースに対して整頓を通して改善を試みている 1. Tidy First? 「オプション」とは?
  15. 17 Copyright © 2025 Bitkey Inc. All right reserved. ◼

    ソフトウェア開発におけるオプション ・「次にどのような振る舞いを実装できるか」は実装する前からそれ自体に価値がある ・「次にどのような振る舞いを実装できるか」はポートフォリオにある実装が多ければ多い  ほど価値がある ・「次にどのような振る舞いを実装できるか」はポートフォリオ内に価値がある振る舞いが  多いほど価値がある ・実装するまでオプションを残しておく限り、どの振る舞いの価値が最大になる  かを気にする必要がない ・価値予測の不確実性が高いほど、オプションの価値は高い 1. Tidy First? 「オプション」とは?
  16. 18 Copyright © 2025 Bitkey Inc. All right reserved. 1.

    Tidy First? 「オプション」とは? ◼ オプションの良し悪し ・振る舞いの変更の価値が変動する可能性が高ければ高いほどよい ・開発を長く続けれるほど良い ・将来もっと安く開発できることに越したことはないが、価値に占める割合は少ない ・オプションを作るために行う設計は少なければ少ないほどよい
  17. 19 Copyright © 2025 Bitkey Inc. All right reserved. 1.

    Tidy First? 「オプション」とは? ◼ オプションの良し悪し ・振る舞いの変更の価値が変動する可能性が高ければ高いほどよい ・開発を長く続けれるほど良い ・将来もっと安く開発できることに越したことはないが、価値に占める割合は少ない ・オプションを作るために行う設計は少なければ少ないほどよい なんで?
  18. 20 Copyright © 2025 Bitkey Inc. All right reserved. 例)

    Aくんが企業Cの株式を購入する場合   ※ 現在の市場価格は1株1000円、行使価格は1株1000円   ※ 権利料は1株50円 1. Tidy First? オプション取引の例(コールの買い) 権利 Aくん 権利の買い手 Bさん 権利の売り手 × 権利行使しない 1株1200円に 1株800円に
  19. 21 Copyright © 2025 Bitkey Inc. All right reserved. 例)

    Aくんが企業Cの株式を購入する場合   ※ 現在の市場価格は1株1000円、行使価格は1株1000円   ※ 権利料は1株50円 1. Tidy First? オプション取引の例(コールの買い) 権利 Aくん 権利の買い手 Bさん 権利の売り手 × 権利行使しない 1株1200円に 1株800円に +150円/株 (200 - 50) -50円/株 (0 - 50)
  20. 22 Copyright © 2025 Bitkey Inc. All right reserved. 例)

    Aくんが企業Cの株式を購入する場合   ※ 現在の市場価格は1株1000円、行使価格は1株1000円   ※ 権利料は1株50円 1. Tidy First? オプション取引の例(コールの買い) 権利 Aくん 権利の買い手 Bさん 権利の売り手 × 権利行使しない 1株1400円に 1株600円に
  21. 23 Copyright © 2025 Bitkey Inc. All right reserved. 例)

    Aくんが企業Cの株式を購入する場合   ※ 現在の市場価格は1株1000円、行使価格は1株1000円   ※ 権利料は1株50円 1. Tidy First? オプション取引の例(コールの買い) 権利 Aくん 権利の買い手 Bさん 権利の売り手 × 権利行使しない 1株1400円に 1株600円に +350円/株 (400 - 50) -50円/株 (0 - 50)
  22. 24 Copyright © 2025 Bitkey Inc. All right reserved. 例)

    Aくんが企業Cの株式を購入する場合   ※ 現在の市場価格は1株1000円、行使価格は1株1000円   ※ 権利料は1株50円 1. Tidy First? オプション取引の例(コールの買い) 権利 Aくん 権利の買い手 Bさん 権利の売り手 × 権利行使しない 1株1400円に 1株600円に +350円/株 (400 - 50) -50円/株 (0 - 50) 変動が大きいほど リターンが見込める
  23. 25 Copyright © 2025 Bitkey Inc. All right reserved. 1.

    Tidy First? 変動が大きくなるのは、特に以下の2要素 1. 価格変動性(ボラティリティ) → 振る舞いの変更の価値が変動する可能性が高ければ高いほどよい 2. 残存期間(権利獲得から行使までの時間) → 開発を長く続けれるほど良い 「オプション」とは?
  24. 26 Copyright © 2025 Bitkey Inc. All right reserved. ・ソフトウェア設計が「振る舞いの変更のオプション」を持つ

      ・ ソフトウェア設計が柔軟であるほど、変更の意思決定を後回しにできる   ・ 変更がすぐ行えるのなら、今決めなくても最適なタイミングで決定できる   ・ これにより、変更の「オプション価値」が高まり、不要なリスクを減らせる   ・ 価値予測の不確実性が高いほど、オプションの価値は高くなる ・ソフトウェア設計(整頓)により変更のための行使コストを下げる ・つまり、適切な設計をすることで、変更を後回しにしながらも、必要なときにす  ぐ対応できる状態を作れる   ・ オプション取引での「安いプレミアムで高価値なオプション」 1. Tidy First? ソフトウェア設計におけるオプション
  25. 27 Copyright © 2025 Bitkey Inc. All right reserved. ・「価値が最大化されるタイミングで実行」する

      ・ すぐに実行したいので、小さいコストですぐに実行できるが重要   ・ 事業戦略/マーケット変化により、特定時期に一気にリリースしたい場合がある ・どの変更に価値があるかわからない状態では、選択肢が多い方が良い   ・ 選択肢があること自体にも価値がある   ・ 事業戦略/マーケットがどの方向に変化するか読めない時ほど有益 ・設計によって時間価値(オプショナリティ)を維持したり、作り出すことができる   ・ 逆に下げることもできる   ・ 可逆的な範囲で対応できる幅が広いと良い 1. Tidy First? 金融市場のオプションとの違い
  26. 28 Copyright © 2025 Bitkey Inc. All right reserved. オプション

    ・(容易に実現可能な) 機能拡張の選択肢があるか ・実装しなくても選択肢があることが価値 1. Tidy First? 「オプション」とは?
  27. 29 Copyright © 2025 Bitkey Inc. All right reserved. ・キャッシュフロー観点

      ・より早く確実にお金を稼ぎ、後でお金を使う。先に整頓はしない ・オプション観点   ・今お金を使って、あとでお金を稼ぐ。絶対に先に整頓をする 1. Tidy First? オプション vs キャッシュフロー
  28. 30 Copyright © 2025 Bitkey Inc. All right reserved. ・キャッシュフロー観点

      ・より早く確実にお金を稼ぎ、後でお金を使う。先に整頓はしない ・オプション観点   ・今お金を使って、あとでお金を稼ぐ。絶対に先に整頓をする ・整頓のコスト + 整頓の後に変更するコスト < 整頓せずに変更するコスト   → 先に整頓する 1. Tidy First? オプション vs キャッシュフロー
  29. 31 Copyright © 2025 Bitkey Inc. All right reserved. ・キャッシュフロー観点

      ・より早く確実にお金を稼ぎ、後でお金を使う。先に整頓はしない ・オプション観点   ・今お金を使って、あとでお金を稼ぐ。絶対に先に整頓をする ・整頓のコスト + 整頓の後に変更するコスト < 整頓せずに変更するコスト   → 先に整頓する ・整頓のコスト + 整頓の後に変更するコスト > 整頓せずに変更するコスト   →完全に判断の領域 1. Tidy First? オプション vs キャッシュフロー
  30. 32 Copyright © 2025 Bitkey Inc. All right reserved. キャッシュフロー観点

      ・より早く確実にお金を稼ぎ、後でお金を使う。先に整頓はしない ・オプション観点   ・今お金を使って、あとでお金を稼ぐ。絶対に先に整頓をする ・整頓のコスト + 整頓の後に変更するコスト < 整頓せずに変更するコスト   → 先に整頓する ・整頓のコスト + 整頓の後に変更するコスト > 整頓せずに変更するコスト   →完全に判断の領域 1. Tidy First? オプション vs キャッシュフロー 完全に判断の領域...!?
  31. 33 Copyright © 2025 Bitkey Inc. All right reserved. キャッシュフロー観点

      ・より早く確実にお金を稼ぎ、後でお金を使う。先に整頓はしない ・オプション観点   ・今お金を使って、あとでお金を稼ぐ。絶対に先に整頓をする ・整頓のコスト + 整頓の後に変更するコスト < 整頓せずに変更するコスト   → 先に整頓する ・整頓のコスト + 整頓の後に変更するコスト > 整頓せずに変更するコスト   →完全に判断の領域 1. Tidy First? オプション vs キャッシュフロー 「完全に判断の領域」を 過去の経験を元に 振り返ってみる
  32. 35 Copyright © 2025 Bitkey Inc. All right reserved. 2.

    ビットキー と Tidy First? ビットキーについて ビットキー アンドパット 京都フュージョニアリング Sakana AI Preferred Networks RANK 評価額(億円) 設⽴年⽉ 12 14 13 3463 2128 1931 871 761 602 2014 / 03 2012 / 06 2023 / 07 2012 / 09 2018 / 08 2019 / 10 社名 406 2018 / 07 25 参考:⽇本経済新聞. 2024年12⽉6⽇掲載 https://www.nikkei.com/article/DGXZQOUC2655R0W4A121C2000000/ スマートニュース Luup 3 2 1 2021年以降、4年連続で ネクストユニコーン企業TOP20に選出 ビットキーは2018年に誕⽣した新しい企業ですが、すでにネクスト ユニコーンランキングに選出されるなど、特定の投資家や企業だけ ではなく、世間からの期待も⾼まっています。
  33. 39 Copyright © 2025 Bitkey Inc. All right reserved. これまでの変遷

    拡大期:2021/01 - 2023/06 変革期:2023/07 - 2025/06 探索期:2019/05 - 2020/12 2. ビットキー と Tidy First? ※あくまで個人目線での整理で、  時間軸もざっくりしたものです
  34. 40 Copyright © 2025 Bitkey Inc. All right reserved. ・目指すのは「体験の分断の解決」

    ・その一歩目としてスマートロックに注力 ・スマートロックの周辺は手厚めに実装 ・可能性を最大限に広げられるように、周辺機能は浅く  広くで構えておけることを重要視 ・1-2週間後には求められる機能や優先順位が変動する ・必要となったタイミングで、いかにすぐに動くものを  提供できるかが最重要 立場  : メンバー / チームリーダー 事業状況: 拡大 期 変革 期 探索 期 2. ビットキー と Tidy First? 探索期 と Tidy First?
  35. 41 Copyright © 2025 Bitkey Inc. All right reserved. ・意識していたこと

     ・第1部:整頓 (一部)  ・第3部:理論 (オプション/キャッシュフロー) ・意識していなかったこと  ・第1部:整頓 (Statementの小分け、Helper抽出等)  ・第2部:管理術  ・第3部:理論(結合/凝集) Tidy First?: 2. ビットキー と Tidy First? 拡大 期 変革 期 探索 期 探索期 と Tidy First?
  36. 42 Copyright © 2025 Bitkey Inc. All right reserved. ・意識していたこと

     ・第1部:整頓 (一部)  ・第3部:理論 (オプション/キャッシュフロー) ・意識していなかったこと  ・第1部:整頓 (Statementの小分け、Helper抽出等)  ・第2部:管理術  ・第3部:理論(結合/凝集) Tidy First?: 2. ビットキー と Tidy First? 拡大 期 変革 期 探索 期 探索期 と Tidy First?
  37. 43 Copyright © 2025 Bitkey Inc. All right reserved. Tidy

    First?: 2. ビットキー と Tidy First? 拡大 期 変革 期 探索 期 探索期 と Tidy First? ・非常にカオスな状況下で、オプションの価値が高い ・オプションでも要望に対して、すぐに価値提供できる  ことが求められる ・複雑な機能の優先度は低く、限定的であっても動くこ  とが重要 ・「時間をかければ実現できる」は価値が低い ・機能実装時に同様の振る舞いを合わせて実装したり、  共通化・汎用化で同時に実現可能とすることを優先 ・今後の展開を中期的に見据え、明らかな負債とならな  い観点も重要 ・概念整理やコアとなる設計を大切に
  38. 44 Copyright © 2025 Bitkey Inc. All right reserved. ・スマートロックから「暮らし/働く」という世界観へ

    ・一気に事業拡大し、圧倒的に多くの機能追加の時期 ・機能の優先順位の変動も1ヶ月程度に ・関わる人/チームが増え、機能の複雑さも増加 ・単純な共通化/汎用化でカバーできる領域が減少 ・複数人での開発/機能展開しやすい整理が必要 ・探索期の実装では対応が難しい箇所も顕在化し始める ・新規開発の速度を上げつつ、既存実装の整理も必要 拡大 期 変革 期 探索 期 立場  : チームリーダー / Tech Lead 事業状況: 2. ビットキー と Tidy First? 拡大期 と Tidy First?
  39. 45 Copyright © 2025 Bitkey Inc. All right reserved. ・意識していたこと

     ・第1部:整頓 (全般)  ・第2部:管理術 (全般)  ・第3部:理論 (全般) ・意識していなかったこと  ・なし (強いて言うならチーム/持続可能性) Tidy First?: 2. ビットキー と Tidy First? 拡大 期 変革 期 探索 期 拡大期 と Tidy First?
  40. 46 Copyright © 2025 Bitkey Inc. All right reserved. ・意識していたこと

     ・第1部:整頓 (全般)  ・第2部:管理術 (全般)  ・第3部:理論 (全般) ・意識していなかったこと  ・なし (強いて言うならチーム/持続可能性) Tidy First?: 2. ビットキー と Tidy First? 拡大 期 変革 期 探索 期 拡大期 と Tidy First? 特に 結合 / 凝集
  41. 47 Copyright © 2025 Bitkey Inc. All right reserved. ・依然としてカオスな状況で、オプションの価値は高い

    ・短期的だけでなく、中期的にも価値を発揮し続けるこ  とが重要に ・求められる機能も複雑さを増し、安易な共通化/汎用化  はデメリットの方が多くなってきた ・事業拡大に耐えられるよう「結合/凝集」が重要になる ・事業拡大に備え、戦略的な大きな整理も必要となる Tidy First?: 2. ビットキー と Tidy First? 拡大 期 変革 期 探索 期 拡大期 と Tidy First?
  42. 48 Copyright © 2025 Bitkey Inc. All right reserved. 拡大

    期 変革 期 探索 期 立場  : homehub開発部長 / EM 事業状況: 2. ビットキー と Tidy First? ・プロダクトが普及し安定性やパフォーマンスが重要に ・会社運営の方針も大きく変わり「コト < ヒト」に ・無理して何とか実現すること...の重要度は下がった ・コントローラブルな領域が徐々に増え、2〜3ヶ月単位  で見通し立てられるように ・必要とされていない/利用されていない機能が存在する  ことに伴うメンテナンスコストも無視できなくなる ・チームや組織で持続可能な開発を実現できるかが重要 ・円滑に実現するための整理やプロセスの改善が必要 ・AI活用の観点でも、知識が個人に依存することは弊害 変革期 と Tidy First?
  43. 49 Copyright © 2025 Bitkey Inc. All right reserved. ・意識していたこと

     ・第1部:整頓 (全般)  ・第2部:管理術 (全般)  ・第3部:理論 (全般)  ・Extra:チーム/開発プロセス ・意識していなかったこと  ・なし Tidy First?: 2. ビットキー と Tidy First? 変革期 と Tidy First? 拡大 期 変革 期 探索 期
  44. 50 Copyright © 2025 Bitkey Inc. All right reserved. ・意識していたこと

     ・第1部:整頓 (全般)  ・第2部:管理術 (全般)  ・第3部:理論 (全般)  ・Extra:チーム/開発プロセス ・意識していなかったこと  ・なし Tidy First?: 2. ビットキー と Tidy First? 変革期 と Tidy First? 拡大 期 変革 期 探索 期 特に 結合 / 凝集    持続可能性
  45. 51 Copyright © 2025 Bitkey Inc. All right reserved. ・オプションには価値があるが、過度な実装は不要

    ・結合/凝集は引き続き重要 ・持続可能な状態の実現のため、属人性の低減が必要 ・持続可能な状態の実現のため、チーム/組織として動き やすい状態を作ることがより重要になった ・短期/中期的な視点から長期的な視点へ ・将来への投資をすることの重要度が増す Tidy First?: 2. ビットキー と Tidy First? 変革期 と Tidy First? 拡大 期 変革 期 探索 期
  46. 52 Copyright © 2025 Bitkey Inc. All right reserved. これまでの変遷

    拡大期:2021/01 - 2023/06 変革期:2023/07 - 2025/06 探索期 (2019/05 - 2020/12) 2. ビットキー と Tidy First? ※あくまで個人目線での整理で、  時間軸もざっくりしたものです 各フェーズで 何をしたのか?
  47. 54 Copyright © 2025 Bitkey Inc. All right reserved. Tidy

    First?: 拡大 期 変革 期 探索 期 おさらい ・非常にカオスな状況下で、オプションの価値が高い ・オプションでも要望に対して、すぐに価値提供できる  ことが求められる ・複雑な機能の優先度は低く、限定的であっても動くこ  とが重要 ・「時間をかければ実現できる」は価値が低い ・機能実装時に同様の振る舞いを合わせて実装したり、  共通化・汎用化で同時に実現可能とすることを優先 ・今後の展開を中期的に見据え、明らかな負債とならな  い観点も重要 ・概念整理やコアとなる設計を大切に 3. 探索期 と Tidy First?
  48. 55 Copyright © 2025 Bitkey Inc. All right reserved. 要求:

    クーポン番号を入力することで、ユーザーごとに1度だ け指定金額を割引をする ・創業後1年未満 ・toC向けにスマートロックの販売を開始してから2週間  程度のタイミング ・機能追加は他にもいろいろ求められている状態 ・プロモーションなどはどんどん打っていきたい状態 ・どんな打ち出し方をするかは検討もついていない状態 拡大 期 変革 期 探索 期 3. 探索期 と Tidy First? 状況: ECサイトのクーポン対応
  49. 56 Copyright © 2025 Bitkey Inc. All right reserved. 対応:

    ・できるだけ汎用的に設計 ・今後利用されるだろう機能も合わせて実装 ・クーポン発行画面など一部機能はスコープアウト ・設計は以下要素で概念整理した上で実施 「利用制限」: ユーザーごとに利用回数、クーポンごとの利用回数 「適用条件」: 特定の料金以上、送料の料金、特定の商品が一定数以上 カートに入っていた場合など 「調整金額」: ワンショット / サブスク料金割引 料金全体から固定率/固定金額の割引、特定の商品に対して のみ/送料に対してのみの割引など 拡大 期 変革 期 探索 期 3. 探索期 と Tidy First? ECサイトのクーポン対応
  50. 57 Copyright © 2025 Bitkey Inc. All right reserved. Tidy

    First?: ◼オプション: ・直接的な要件だけでなく、クーポンとして求められう  る機能を想定して設計 ・どんな要素あるか / 概念としてどの整理できるか ・同時に実装できる箇所は合わせてできるだけ実装 ◼キャッシュフロー: ・コストは抑えるためスコープを限定 ・後からの変更が大変なDBの設計は事前に丁寧に実施 ・実装は大きくコストかけずにサクッと実施 拡大 期 変革 期 探索 期 3. 探索期 と Tidy First? ECサイトのクーポン対応
  51. 58 Copyright © 2025 Bitkey Inc. All right reserved. Tidy

    First?: ◼オプション: ・直接的な要件だけでなく、クーポンとして求められう  る機能を想定して設計 ・どんな要素あるか / 概念としてどの整理できるか ・同時に実装できる箇所は合わせてできるだけ実装 ◼キャッシュフロー: ・コストは抑えるためスコープを限定 ・後からの変更が大変なDBの設計は事前に丁寧に実施 ・実装は大きくコストかけずにサクッと実施 拡大 期 変革 期 探索 期 3. 探索期 と Tidy First? ECサイトのクーポン対応
  52. 59 Copyright © 2025 Bitkey Inc. All right reserved. 結果:

    ・運用の幅が広がった ・新たなプロモーションを打つ場合 / トラブルに伴い運  用でカバーする場合など ・すでに多くのクーポンの機能に対応済みで追加コスト  はかなり限定的であり、ビジネスサイドのみで意思決  定しやすい観点で有益であった 拡大 期 変革 期 探索 期 3. 探索期 と Tidy First? ECサイトのクーポン対応
  53. 60 Copyright © 2025 Bitkey Inc. All right reserved. 結果:

    ・運用の幅が広がった ・新たなプロモーションを打つ場合 / トラブルに伴い運  用でカバーする場合など ・すでに多くのクーポンの機能に対応済みで追加コスト  はかなり限定的であり、ビジネスサイドのみで意思決  定しやすい観点で有益であった 超低コストで実現可能 / すでに実現可能 であることが非常に価値がある 拡大 期 変革 期 探索 期 3. 探索期 と Tidy First? ECサイトのクーポン対応
  54. 61 Copyright © 2025 Bitkey Inc. All right reserved. 要求:

    アカウントを持たない「こども」が顔認証を使えるよう にする ・顔認証ソリューションを提供するタイミング ・元々アカウント(メールアドレス/電話番号)を有する  ユーザーがスマホで解錠できる機能を提供していた ・生体認証による解錠手段提供時に、アカウント管理で  きない「こども」の顔の管理が必要となった ・解錠手段を提供するビジネス特性上においても顔を誰  が管理するか...は今後のビジネスの根幹に影響しえる 拡大 期 変革 期 探索 期 3. 探索期 と Tidy First? 状況: こども x 顔認証
  55. 62 Copyright © 2025 Bitkey Inc. All right reserved. 対応:

    ・「こども」の顔の管理をどうするか徹底的に議論 ・今後の展開で必要となるケースを想定  ・成長して大人になりアカウントを有する場合  ・親の離婚などに伴い家族構成が変更される場合  ... ・その上で今後の機能拡張の上で明確なボトルネックと ならないように設計 ・結果として「家族」という概念を新たに導入 ・「家族」が「こども」の情報を管理するように ・その「こども」に顔情報が紐付く実装とした 拡大 期 変革 期 探索 期 3. 探索期 と Tidy First? こども x 顔認証
  56. 63 Copyright © 2025 Bitkey Inc. All right reserved. Tidy

    First?: ◼オプション: ・中長期的視点で機能拡張時の障害とならないように、  大方針の設計に注力 ・必要な機能だけ見ればもっと簡潔に実装する方法は  あったが「だれが」解錠手段を管理できるかはビジネ  ス上重要な要素でもあったため今後の展開も見据えて  丁寧に実施 ◼キャッシュフロー: ・大方針と概念の整理にはコストを払ったものの、実装  は大方針に即した実装をするための最小コストで実現 拡大 期 変革 期 探索 期 3. 探索期 と Tidy First? こども x 顔認証
  57. 64 Copyright © 2025 Bitkey Inc. All right reserved. 結果:

    ・顔認証ソリューション提供は成功 ・その後の元々想定していたユースケースに対応する機  能拡張はまだ出番はない ・家族という概念を設けた結果複雑となってしまって  払ったコストがある ・しかしながら営業トークでどこまで想定して設計/開発  している...ということは武器にすることができた...と  いう観点ではプラス面もある 拡大 期 変革 期 探索 期 3. 探索期 と Tidy First? こども x 顔認証
  58. 65 Copyright © 2025 Bitkey Inc. All right reserved. ◼実施したこと

    ・短期的なオプションの価値が非常に高い ・中長期的に明らかな負債となるリスクケアも重要 ・キャッシュフロー観点でコストは無駄にできない ・低コストで最大限のリターンのために、概念整理や機  能の抽象化 / 汎用化を重視 ◼実施しなかったこと ・中長期的なオプションに対しての投資はほぼしない ・整理も最低限であり、結合/凝集に対してはケアしない ・前提が日々大きく変わりえるためファイル分割やメ  ソッド切り出しなども積極的にはしていない 拡大 期 変革 期 探索 期 まとめ まとめ: 3. 探索期 と Tidy First?
  59. 67 Copyright © 2025 Bitkey Inc. All right reserved. ・依然としてカオスな状況で、オプションの価値は高い

    ・短期的だけでなく、中期的にも価値を発揮し続けるこ  とが重要に ・求められる機能も複雑さを増し、安易な共通化/汎用化  はデメリットの方が多くなってきた ・事業拡大に耐えられるよう「結合/凝集」が重要になる ・事業拡大に備え、戦略的な大きな整理も必要となる Tidy First?: 拡大 期 変革 期 探索 期 おさらい 4. 拡張期 と Tidy First?
  60. 68 Copyright © 2025 Bitkey Inc. All right reserved. 課題・状況:

    ・サービスクラスにfirestoreへのアクセスが直書き ・高結合、低凝集の実装となってしまっていた ・DBの変更に伴う修正や、影響範囲の調査が大変 拡大 期 変革 期 探索 期 対応: ・Infrastructure相当の処理を切り出して実装 ・既存実装は無理に置換しない ・開発対象となった箇所を順次置換していく ・継承クラスを用意して実装コストを減らす工夫も合わ  せて実施  ※所定のフィールドを渡せばよく使う振る舞いを実現してくれ   るようなもの 4. 拡張期 と Tidy First? Repositoryパターン導入
  61. 69 Copyright © 2025 Bitkey Inc. All right reserved. Tidy

    First?: ◼結合 / 凝集 ・Infrastructure, DBへの結合を低減 ・Infrastructureの処理をまとめることで凝集を向上 ◼オプション ・結合 / 凝集を改善し機能追加や調査を容易化 ・1つ1つの効果は大きくないが、高頻度に触る領域でり  リターンが大きいと判断 ◼キャッシュフロー ・レイヤを追加したため実装コストは初期的に微増 ・多少の可読性は犠牲にしつつ実装コストを低減するた  めの工夫も同時に実施。 拡大 期 変革 期 探索 期 4. 拡張期 と Tidy First? Repositoryパターン導入
  62. 70 Copyright © 2025 Bitkey Inc. All right reserved. 結果:

    ・結合、凝集の観点で改善 ・その後の調査 & 実装のコストが低減できた ・実装コストを抑えることができた...はず ・ただし継承クラスを用いることで認知負荷は微増 ※ 最近の状況を考慮するなら、AIに書かせるのが良いと  考えます 拡大 期 変革 期 探索 期 4. 拡張期 と Tidy First? Repositoryパターン導入
  63. 71 Copyright © 2025 Bitkey Inc. All right reserved. 課題・状況:

    対象とする事業範囲の拡大、事業拡大に伴うチームと実 装に関わるメンバーの急増によりソースコードのスパ ゲッティ化が加速。意図しない箇所で不具合が発生する などの事例が多発してしまう... 拡大 期 変革 期 探索 期 対応: 戦術的DDD導入 ・低結合/高凝集を実現のために戦術的DDDを導入 ・戦略的DDDはノータッチ ・実装コストが大きく増加しないように、全面的な導入  はしない ・低結合 / 高凝集の効果がより期待できる要素を限定的  に導入 ・初期的には継承を活用して少ない実装量で実現できる  ように工夫 4. 拡張期 と Tidy First?
  64. 72 Copyright © 2025 Bitkey Inc. All right reserved. Tidy

    First?: ◼結合 / 凝集 ・Entity / Value Object / Domain Service などの整理  でドメイン知識を集約させ凝集を向上 & 結合も低減 ◼オプション ・結合/凝集の改善に伴い修正箇所が判断しやすくなる ・影響範囲が判断が困難である状況も徐々に解消。 ◼キャッシュフロー ・実装量が増加することを懸念して領域を絞って導入 ・初期的に実装コストを抑えるために、継承クラスを用  意してOOPを実現しやすい状況を用意。 拡大 期 変革 期 探索 期 戦術的DDD導入 4. 拡張期 と Tidy First?
  65. 73 Copyright © 2025 Bitkey Inc. All right reserved. 結果:

    ・すぐに成果がでるものでもない ・試行錯誤の後に徐々に整い始める ・少なくてもこの取り組みがあったからこそ、現状の実  装方針をより良い形で整理することができていると感  じている 拡大 期 変革 期 探索 期 戦術的DDD導入 4. 拡張期 と Tidy First?
  66. 74 Copyright © 2025 Bitkey Inc. All right reserved. 要求:

    マンションの住人が共有部の施設をhomehubから予約で きるようにする。料金や予約回数、予約可能時間などを 施設や予約する人の属性ごとに設定できるようにする 拡大 期 変革 期 探索 期 状況: 事業拡大に伴いスマートロックを使えるようにするだけ でなく、自身が住んでいる建物内の共有部を使えるよう にする & 予約した時間でスマートロックを解錠できるよ うにするような機能拡張が実施される 施設予約 4. 拡張期 と Tidy First?
  67. 75 Copyright © 2025 Bitkey Inc. All right reserved. 対応:

    ・ネットカフェや駐車場などを参考に「予約」に必要と  なりえる要素を洗い出した上で概念を整理 ・その上で今回必要な要件分だけ詳細の設計 & 実装 ・設計は以下要素で概念整理した上で実施  ・誰が参照 / 利用できるか  ・予約可否の制約   利用状況によらない / アカウントの利用状況に応じて / 全体   の利用状況に応じて  ・登録 / 変更 / 延長 / 取消 などユースケースごとの制約  ・オプション  ・料金 拡大 期 変革 期 探索 期 施設予約 4. 拡張期 と Tidy First?
  68. 76 Copyright © 2025 Bitkey Inc. All right reserved. Tidy

    First?: ◼オプション ・長期的な観点で、将来の機能拡張に備えるために広く  構え、要素や概念の整理 ・すぐに要求される可能性が低いものや不明瞭なもの  は、必要となったらこの辺に実装すればいいな...  くらいが想像できる程度に留める ・中期的な観点で、DBは必要となったタイミングで大き  なコストなく実現可能な範囲で設計 ◼キャッシュフロー ・要素や概念の整理には投資 ・詳細設計以降のフェーズにおいては投資を控える 拡大 期 変革 期 探索 期 施設予約 4. 拡張期 と Tidy First?
  69. 77 Copyright © 2025 Bitkey Inc. All right reserved. 要求:

    オフィスビル全体のスマートアクセスの実現。従業員や 来訪者のアクセスをコントロールするサービスの実装 (2-3ヶ月)。顔認証やビルの制御盤連携、無人受付機能と の連携なども実施 ・元々は入居者や従業員とデバイス、期間を指定してカ ギを発行するという仕組みであった ・デバイスや解錠手段が増加するにつれ処理が煩雑化 し、凝集度も著しく低下 ・スマートアクセスに関する機能追加を急速に拡大して いきたかったが、難しい状況となっていた 拡大 期 変革 期 探索 期 状況: 4. 拡張期 と Tidy First? アクセスコントロールの実装
  70. 78 Copyright © 2025 Bitkey Inc. All right reserved. 対応:

    ・「ヒト」「モノ」「空間」という粒度で再整理を実施 ・「モノ」はスマートアクセスに着目して整理  ・解錠機能:扉のカギの解錠施錠の機能  ・認証機能:パスコードや顔認証での解錠可否を判断する機能  ・連携機能:ネットワークに繋げて処理をする機能 ・従業員の属性や来訪者がどの会議室で何時からの予定  があるかなどの情報とアクセスできる経路などから  「いつ」「誰が」「どこに」アクセスできるかを判断  し、解錠可能とするための処理を実装する処理を汎用  的に実装 拡大 期 変革 期 探索 期 4. 拡張期 と Tidy First? アクセスコントロールの実装
  71. 79 Copyright © 2025 Bitkey Inc. All right reserved. ◼結合

    / 凝集 ・事業拡大に伴い必要となったコアドメインを新設 ・コアとなる要素を大きく再整理 ・コアドメインの整理に伴い結合 / 凝集を大きく改善 ◼オプション ・デバイスやユースケースが増えても低コストで対応し やすい状況を整備 ・事業展開を大きく促進できることが期待 ◼キャッシュフロー ・リターンが期待できるため、コストを大きく投資 ・会社全体での大規模な施策で、概念整理は丁寧に実施 ・実装は比較的コストかけずに実装 Tidy First?: 拡大 期 変革 期 探索 期 アクセスコントロールの実装 4. 拡張期 と Tidy First?
  72. 80 Copyright © 2025 Bitkey Inc. All right reserved. ・その後パフォーマンス観点などにより大改修が入る

    ・概念の整理自体は受け継がれ、今のプロダクトのコア  な要素となっている ・コアドメイン / コアな要素の概念整理により、デバイ  スの追加対応やユースケースの追加対応は以前と比べ  はるかに低コストで安全に実施できるように 結果: 拡大 期 変革 期 探索 期 アクセスコントロールの実装 4. 拡張期 と Tidy First?
  73. 81 Copyright © 2025 Bitkey Inc. All right reserved. ◼実施したこと

    ・中期的なオプションが価値が高い ・結合 / 凝集が一気に重要に (...がすぐには改善できない) ・コストは無駄にできないが...限定的な範囲での投資 ・中期的な視点で最大のリターンのため、慎重に選定し た対象で、大きな投資をして大きな改善を実施 ・その他にも小さな投資で小さな改善を実施 ◼実施しなかったこと ・過度な共通化や汎用化 ・属人性の低減 ・長期的な視点でのコストが大きめの投資 拡大 期 変革 期 探索 期 6. まとめ 拡大期 と Tidy First? まとめ:
  74. 83 Copyright © 2025 Bitkey Inc. All right reserved. 拡大

    期 変革 期 探索 期 立場  : homehub開発部長 / EM 事業状況: 2. ビットキー と Tidy First? ・プロダクトが普及し安定性やパフォーマンスが重要に ・会社運営の方針も大きく変わり「コト < ヒト」に ・無理して何とか実現すること...の重要度は下がった ・コントローラブルな領域が徐々に増え、2〜3ヶ月単位  で見通し立てられるように ・必要とされていない/利用されていない機能が存在する  ことに伴うメンテナンスコストも無視できなくなる ・チームや組織で持続可能な開発を実現できるかが重要 ・円滑に実現するための整理やプロセスの改善が必要 ・AI活用の観点でも、知識が個人に依存することは弊害 変革期 と Tidy First?
  75. 84 Copyright © 2025 Bitkey Inc. All right reserved. ・意識していたこと

     ・第1部:整頓 (全般)  ・第2部:管理術 (全般)  ・第3部:理論 (全般)  ・Extra:チーム/開発プロセス ・意識していなかったこと  ・なし Tidy First?: 2. ビットキー と Tidy First? 変革期 と Tidy First? 拡大 期 変革 期 探索 期
  76. 85 Copyright © 2025 Bitkey Inc. All right reserved. ・オプションには価値があるが、過度な実装は不要

    ・結合/凝集は引き続き重要 ・持続可能な状態の実現のため、属人性の低減が必要 ・持続可能な状態の実現のため、チーム/組織として動き やすい状態を作ることがより重要になった ・短期/中期的な視点から長期的な視点へ ・将来への投資をすることの重要度が増す Tidy First?: 2. ビットキー と Tidy First? 変革期 と Tidy First? 拡大 期 変革 期 探索 期
  77. 86 Copyright © 2025 Bitkey Inc. All right reserved. オプションを下げるケース

    ・重要な従業員が辞める ・数日でできていた変更に数ヶ月かかるようになる ・顧客との距離を置く ・刺激的な提案を受け頻度が毎日ではなく月1回になると取れるオプションは減る ・変更コストが跳ね上がる ・1日1回ではなく月1回しかオプションを行使できなくなる 1. Tidy First? 「オプション」とは?
  78. 87 Copyright © 2025 Bitkey Inc. All right reserved. オプションを下げるケース

    ・重要な従業員が辞める ・数日でできていた変更に数ヶ月かかるようになる ・顧客との距離を置く ・刺激的な提案を受け頻度が毎日ではなく月1回になると取れるオプションは減る ・変更コストが跳ね上がる ・1日1回ではなく月1回しかオプションを行使できなくなる 1. Tidy First? 「オプション」とは?
  79. 88 Copyright © 2025 Bitkey Inc. All right reserved. 課題:

    属人性が極まっており、新規メンバーの参入障壁が非常に高かっ た。特定の領域を解決できる人間が限られており、チームで自律 的に解決できる領域が非常に限定的であった。 モブプロ / ペアプロの導入 拡大 期 変革 期 探索 期 Tidy First?: 対応: 5. 変革期 と Tidy First? ◼オプション 属人性を低減し、チームとしてのアジリティを向上。中長期的に 継続可能なチーム構成とするために導入。 ◼キャッシュフロー 一時的にはチームの生産性が落ちることも許容しつつ実施。実際 にはチームの生産性 (Velocity) は大きく低減はせずに実行でき た。 モブプロ / ペアプロの導入
  80. 89 Copyright © 2025 Bitkey Inc. All right reserved. 課題:

    設計や実装手順、ドメインの整理の仕方が属人的でありメンバー ごとにバラバラだった。モブプロ / ペアプロでも何から実施すれ ば良いかわからずあたふたすることも多かった。 イベントストーミング、BDDの導入 拡大 期 変革 期 探索 期 Tidy First?: 対応: 5. 変革期 と Tidy First? ◼オプション イベントストーミングというフレームワークに則って、ビジネス メンバー、QAとで整理を進めることで属人的な要素を低減。 BDDにより、事前にビジネスサイド / QAと整理した振る舞いを 元にテスト駆動で実装を進めることができ、モブ/ペアで動きや すくなると共により属人的な要素を排除。 ◼キャッシュフロー 以前と比べ実装前の準備にかかるコストが増大したが許容して実 施。実際には整備以降のプロセスを円滑に進めることができ以前 と同程度orそれ以上のアウトプットを残すことができた BDD x イベントストーミング
  81. 90 Copyright © 2025 Bitkey Inc. All right reserved. 拡大

    期 変革 期 探索 期 5. 変革期 と Tidy First? 複数のドメインが入り乱れており整理しきれていなかった。全体 像が整理されておらず属人性が高い状態であり、結合 / 凝集も改 善しづらい状況だった。AIを活用するにもドメインが別れておら ず精度が上げきれなかった。 境界づけられたコンテキストを整理する ◼結合 / 凝集 ソースコードレベルでは解決しきるのが難しい結合/凝集をドメ インから再整理をすることで土壌を整える。 ◼キャッシュフロー 比較的低コストで実施可能であり、リターンも期待できるため投 資。整理した内容に基づき既存実装を改修する部分は対象外。 モジュール整理 課題: Tidy First?: 対応:
  82. 91 Copyright © 2025 Bitkey Inc. All right reserved. 拡大

    期 変革 期 探索 期 5. 変革期 と Tidy First? モノリスでのBFF / モジュール分離 課題: ドメイン処理が部分的にフロントに実装されることがたたあっ た。バックエンドに寄せているものもあるが、明確なルールがな く責任の所在が曖昧であった。 モノリスのリポジトリ内で、フロントエンドごとにBFF相当のレ イヤを設け、ここでフロント固有の実装を集約。BFFとは別にド メインごとにディレクトリを分離し、ここにフロントエンドに寄 らない知識をドメインごとに分けて管理するように Tidy First?: 対応: ◼結合 / 凝集 フロントエンドからドメイン処理をできるだけ除外しつつ、ドメ イン層にはドメインに特化した処理を集約。フロントエンド固有 の処理やドメインの組み合わせはBFF相当のレイヤで捌くことで より低結合/高凝集に。 ◼キャッシュフロー 既存の実装の改修は一気に進めることはせずに、機能追加や改修 が必要な領域から徐々に実施。
  83. 92 Copyright © 2025 Bitkey Inc. All right reserved. 拡大

    期 変革 期 探索 期 5. 変革期 と Tidy First? イベントソーシング x 関数型 課題: ステート管理では結合が上がりやすく、設計の難易度が高く属人 化している状況であった。 イベントという客観的事実に基づく設計 / 実装方針を採用 Tidy First?: 対応: ◼結合 / 凝集 ドメインイベントを介した整理とすることで、より疎結合に実装 を進めることができる。 ◼オプション 客観的な事実に基づく構成とすることで、モデリングや設計の難 易度を緩和させることができる ◼キャッシュフロー 知識の習熟やイベントの管理/実装にも実装コストがかかる。全 面的な導入はせず、特定の領域において試験的に導入しAIなどと 組み合わせ現実的なラインで達成可能か精査しながら実施
  84. 93 Copyright © 2025 Bitkey Inc. All right reserved. ◼実施したこと

    ・長期的な視点での投資や整理の価値が向上 ・持続可能性のためのチームや開発プロセスの整備 ・結合/凝集を整えやすい土壌の整備 ◼実施しなかったこと ・過度な共通化/汎用化 ・短期的なリターンを優先した対応 拡大 期 変革 期 探索 期 6. まとめ 変革期 と Tidy First? まとめ:
  85. 95 Copyright © 2025 Bitkey Inc. All right reserved. ・カオスな状況下であり、オプションに非常に価値がある

    ・キャッシュフロー観点でも非常にシビアで、短期的な視点で低コ  ストで最大限のリターンが期待できるオプションのみ実施 拡大 期 変革 期 探索 期 6. まとめ 変革期 と Tidy First? ・まだまだカオスな状況下で、オプションに高い価値がある ・短期的な視点だけではなく中期的な視点での投資も重要に ・ドメインが複雑になり、結合 / 凝集と対する整理の価値が上昇 ・多少コントローラブルになるが、オプションには価値がある ・長期的な視点での持続可能性が重要 ・チームやプロダクト全体のドメインの整理が重要