Slide 1

Slide 1 text

© 2025 Bitkey Inc. 整頓のジレンマとの戦い 〜Tidy First?で振り返る事業とキャリアの歩み〜 株式会社ビットキー 佐藤拓人 2025/07/03

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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 特に朝 / 昼は血糖値スパイクが起きないよう にして集中力が持続するようにしている

Slide 5

Slide 5 text

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. 娘から (妻から) のメッセージ

Slide 6

Slide 6 text

6 Copyright © 2025 Bitkey Inc. All right reserved. 1. Tidy First?

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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?

Slide 9

Slide 9 text

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? 対象外

Slide 10

Slide 10 text

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?

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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円に

Slide 21

Slide 21 text

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)

Slide 22

Slide 22 text

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円に

Slide 23

Slide 23 text

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)

Slide 24

Slide 24 text

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) 変動が大きいほど リターンが見込める

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

34 Copyright © 2025 Bitkey Inc. All right reserved. 2. ビットキー と Tidy First?

Slide 35

Slide 35 text

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年に誕⽣した新しい企業ですが、すでにネクスト ユニコーンランキングに選出されるなど、特定の投資家や企業だけ ではなく、世間からの期待も⾼まっています。

Slide 36

Slide 36 text

つなげよう。 人は、もっと自由になれる。 Bitkey Recruiting Book © Bitkey inc All rights reserved. Mission・Vision

Slide 37

Slide 37 text

デジタル間の体験の分断 インターネットの登場やアプリ開発が⼿軽になったことで、⽣活の利便性は 向上しました。⼀⽅で、デジタルサービスが増えるほどに、沢⼭のスマホア プリやWebサービス、SaaSツールなどを使い分ける⼿間も発⽣。毎回のアカ ウント登録、個⼈情報の⼊⼒、各アプリへの情報の⼆重登録などの⼿間か ら、やがて存在を忘れ、使わなくなるサービスもあるはずです。私達はここ に「デジタル間の体験の分断」課題があると捉えています。 リアルとデジタル間の体験の分断 デジタルで⽣活の利便性が向上する⼀⽅で、⽇常⽣活にはデジタルだけで完 結しない場⾯も多数あります。例えば、私達は24時間いつでも、ECサイトで 買い物したり、宿泊予約が可能になりました。しかし、荷物の受け取りは未 だに対⾯することが⼀般的です。このように、デジタルは便利なのに、リア ル体験ではシームレスさが途切れてしまいます。私達はここに「リアルとデ ジタル間の体験の分断」課題があると捉えています。 私たちが解決するのは 体験の「分断」です。

Slide 38

Slide 38 text

3つのhubシリーズ - 私たちの「⽣活」における全てに価値提供を 「暮らし」は、もっと便利にできる 働き⽅に、⾃由とパワーを ⼈⽣は、感動的だ ⼈⽣すべてのシーンで体験性を向上させることを⽬指し、⼈⽣における体験をHome(暮らし)、Workspace(働く)、Experience(⾮⽇常)と3つの領域に分けて設計。 「⾮⽇常体験」 ⾃分の「好き」に没頭しよう その体験は、もっと特別な時間に 「仕事∕働く」 あらゆる「働く空間」とそこで「働く⼈や業務」をつなぎ、 仕事をもっと快適に 「暮らし」 あなたの暮らしは、テクノロジーで変わる 住宅の⽇常は、より便利な体験へ

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

53 Copyright © 2025 Bitkey Inc. All right reserved. 3. 探索期 と Tidy First?

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

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

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

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

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

66 Copyright © 2025 Bitkey Inc. All right reserved. 4. 拡張期 と Tidy First?

Slide 67

Slide 67 text

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

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

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

Slide 70

Slide 70 text

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

Slide 71

Slide 71 text

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

Slide 72

Slide 72 text

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

Slide 73

Slide 73 text

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

Slide 74

Slide 74 text

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

Slide 75

Slide 75 text

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

Slide 76

Slide 76 text

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

Slide 77

Slide 77 text

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

Slide 78

Slide 78 text

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

Slide 79

Slide 79 text

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

Slide 80

Slide 80 text

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

Slide 81

Slide 81 text

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

Slide 82

Slide 82 text

82 Copyright © 2025 Bitkey Inc. All right reserved. 5. 変革期 と Tidy First?

Slide 83

Slide 83 text

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

Slide 84

Slide 84 text

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

Slide 85

Slide 85 text

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

Slide 86

Slide 86 text

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

Slide 87

Slide 87 text

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

Slide 88

Slide 88 text

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

Slide 89

Slide 89 text

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

Slide 90

Slide 90 text

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

Slide 91

Slide 91 text

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

Slide 92

Slide 92 text

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

Slide 93

Slide 93 text

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

Slide 94

Slide 94 text

94 Copyright © 2025 Bitkey Inc. All right reserved. 6. まとめ

Slide 95

Slide 95 text

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

Slide 96

Slide 96 text

96 End of File Copyright © 2025 Bitkey Inc. All right reserved.