$30 off During Our Annual Pro Sale. View Details »

専門領域に特化したチームの挑戦

 専門領域に特化したチームの挑戦

# レバテック×イオン ~事業会社を支える開発組織のBizDevOps戦略~
20:00 「専門領域に特化したチームの挑戦:半年間の実践で見えた成果とシステム横断開発の壁」 厚澤一成(レバテック株式会社)

# 概要
コアドメインの大改革を進めるため、一つのドメインに集中して開発するチームで半年間実践して得た気づきの共有

Tech Leverages

November 28, 2024
Tweet

More Decks by Tech Leverages

Other Decks in Technology

Transcript

  1. | © 2024 Levtech Co., Ltd. 2 レバテック開発部 ITSプロダクト開発グループ 流入ドメインチーム 厚澤

    一成 KAZUNARI ATSUZAWA #DDD #SOLIDの原則 #PMの卵 #ゴルフ #最近スコア100切って嬉しい #ピアノ #楽譜読めない #好きなトップバリュはドリンクゼリー エナジー180 マスカット味
  2. | © 2024 Levtech Co., Ltd. 5 事業ポートフォリオ レバテックについて エージェント プログラミング

    スクール コンテンツ メディア プラット フォーム ダイレクト リクルーティング ITエンジニア・クリエイターの フリーランス・転職・就職・教育の すべてを備える採用プラットフォーム エージェントを中心に、求人媒体、 プログラミング教育まで IT専門職のキャリアを厚くサポート。
  3. | © 2024 Levtech Co., Ltd. 7 技術広報 レバテックについて カンファレンススポンサー や

    テックブログ に力を入れてます!  もフォローしてね! etc.
  4. | © 2024 Levtech Co., Ltd. 10 各ドメインの詳細は今回の本質ではないので抽象化します m(_ _)m 新設立されたドメインチームで半年間実践して得た気づき

    今日話すこと Before After 社内営業支援 システム(SFA) A Team Aドメイン Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Aドメイン Cドメイン Dドメイン 社内営業支援 システム(SFA) A Team システムが持つ機能を 開発するチーム Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Cドメイン Dドメイン ドメインチーム Aドメイン Aドメイン 一つのドメインに集中 して開発するチーム ※ただしシステムは横 断して開発する
  5. | © 2024 Levtech Co., Ltd. 12 一つのドメインを大改革したいが、推進が困難な状況・・・ ドメインチームが生まれた背景 社内営業支援 システム(SFA)

    A Team Aドメイン Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Aドメイン Cドメイン Dドメイン Before
  6. | © 2024 Levtech Co., Ltd. 13 一つのドメインを大改革したいが、推進が困難な状況・・・ ドメインチームが生まれた背景 社内営業支援 システム(SFA)

    A Team Aドメイン Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Aドメイン Cドメイン Dドメイン Before 実際、1年程かけてドメイン の理想状態を練ることができ ていた。 大改革するぞ!って勢いで!
  7. | © 2024 Levtech Co., Ltd. 14 一つのドメインを大改革したいが、推進が困難な状況・・・ ドメインチームが生まれた背景 社内営業支援 システム(SFA)

    A Team Aドメイン Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Aドメイン Cドメイン Dドメイン Before 実際、1年程かけてドメイン の理想状態を練ることができ ていた。 大改革するぞ!って勢いで! BUT!!! 改革対象のドメインが複数のシステム&チー ムにまたがっている状況で、複数チームを巻 き込んだ大規模なPJとなってしまう。 →チーム間のコミュニケーションコストが高 く、理想状態の実現完了まで時間がかかって しまう・・・泣
  8. | © 2024 Levtech Co., Ltd. 15 一つのドメインを大改革したいが、推進が困難な状況・・・ ドメインチームが生まれた背景 社内営業支援 システム(SFA)

    A Team Aドメイン Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Aドメイン Cドメイン Dドメイン Before 実際、1年程かけてドメイン の理想状態を練ることができ ていた。 大改革するぞ!って勢いで! BUT!!! 改革対象のドメインが複数のシステム&チー ムにまたがっている状況で、複数チームを巻 き込んだ大規模なPJとなってしまう。 →チーム間のコミュニケーションコストが高 く、理想状態の実現完了まで時間がかかって しまう・・・泣 ドメイン知識のキャッチ アップも大変・・・
  9. | © 2024 Levtech Co., Ltd. 17 一つのドメインに集中するチームを作れば解決するのでは・・・? ドメインチームが生まれた背景 After 社内営業支援

    システム(SFA) A Team Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Cドメイン Dドメイン ドメインチーム Aドメイン 社内営業支援 システム(SFA) A Team Aドメイン Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Aドメイン Cドメイン Dドメイン Aドメイン Before
  10. | © 2024 Levtech Co., Ltd. 18 一つのドメインに集中するチームを作れば解決するのでは・・・? ドメインチームが生まれた背景 After 社内営業支援

    システム(SFA) A Team Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Cドメイン Dドメイン ドメインチーム Aドメイン 社内営業支援 システム(SFA) A Team Aドメイン Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Aドメイン Cドメイン Dドメイン Aドメイン Before PJ推進するためのチーム 間連携がなくなるので、 開発に集中できるので は?
  11. | © 2024 Levtech Co., Ltd. 19 一つのドメインに集中するチームを作れば解決するのでは・・・? ドメインチームが生まれた背景 After 社内営業支援

    システム(SFA) A Team Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Cドメイン Dドメイン ドメインチーム Aドメイン 社内営業支援 システム(SFA) A Team Aドメイン Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Aドメイン Cドメイン Dドメイン Aドメイン ドメイン知識をチームに集 約することで、対象ドメイ ンの課題解決の質とスピー ドを両立することが可能に なるのでは? Before PJ推進するためのチーム 間連携がなくなるので、 開発に集中できるので は?
  12. | © 2024 Levtech Co., Ltd. 20 一つのドメインに集中するチームを作れば解決するのでは・・・? ドメインチームが生まれた背景 After 社内営業支援

    システム(SFA) A Team Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Cドメイン Dドメイン ドメインチーム Aドメイン 社内営業支援 システム(SFA) A Team Aドメイン Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Aドメイン Cドメイン Dドメイン Aドメイン ドメイン知識をチームに集 約することで、対象ドメイ ンの課題解決の質とスピー ドを両立することが可能に なるのでは? Before PJ推進するためのチーム 間連携がなくなるので、 開発に集中できるので は? つまるところ、逆コンウェイの法則を応用してみた系のお話です
  13. | © 2024 Levtech Co., Ltd. 22 • 「コンウェイの法則」 ◦ システムの設計(アーキテク

    チャー)は、おのずと組織構造を 反映させたものになる コンウェイの法則 逆コンウェイの法則とは コンウェイの法則と逆コンウェイの法則から組織構造を考えるより
  14. | © 2024 Levtech Co., Ltd. 23 • 「逆コンウェイの法則」 ◦ アーキテクチャによって組織構造を変化

    させる後追いのではなく、そもそも最初 から最適なアーキテクチャに合うような組 織デザインを設計するという「アーキテク チャのための組織を作る 」というイメージ 逆コンウェイの法則 逆コンウェイの法則とは コンウェイの法則と逆コンウェイの法則から組織構造を考えるより 綺麗なシステムを作るためには 綺麗な組織構造であれ!
  15. | © 2024 Levtech Co., Ltd. 25 最適なアーキテクチャ=コアドメインに集中できる状態と捉え まずはチームの粒度を理想状態へ レバテックの逆コンウェイ応用戦略 社内営業支援

    システム(SFA) A Team Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Cドメイン Dドメイン ドメインチーム Aドメイン Aドメイン
  16. | © 2024 Levtech Co., Ltd. 26 最適なアーキテクチャ=コアドメインに集中できる状態と捉え まずはチームの粒度を理想状態へ レバテックの逆コンウェイ応用戦略 社内営業支援

    システム(SFA) A Team Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Cドメイン Dドメイン ドメインチーム Aドメイン Aドメイン 本来、アーキテクチャも ドメイン単位で設計する べきだが、粒度が本当に 適切かの見極めが必要な ため、いきなりマイクロ サービス化は行わない。
  17. | © 2024 Levtech Co., Ltd. 27 最適なアーキテクチャ=コアドメインに集中できる状態と捉え まずはチームの粒度を理想状態へ レバテックの逆コンウェイ応用戦略 社内営業支援

    システム(SFA) A Team Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Cドメイン Dドメイン ドメインチーム Aドメイン Aドメイン 本来、アーキテクチャも ドメイン単位で設計する べきだが、粒度が本当に 適切かの見極めが必要な ため、いきなりマイクロ サービス化は行わない。 代わりに担当するドメインに 関係するシステムの改修を全 てチームで行う方針。
  18. | © 2024 Levtech Co., Ltd. 34 チームが改修するシステムが広範囲に渡るため属人化が発生した 所感(苦しかったことその1) 社内営業支援 システム(SFA)

    A Team Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Cドメイン Dドメイン ドメインチーム Aドメイン Aドメイン
  19. | © 2024 Levtech Co., Ltd. 35 チームが改修するシステムが広範囲に渡るため属人化が発生した 所感(苦しかったことその1) 社内営業支援 システム(SFA)

    A Team Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Cドメイン Dドメイン ドメインチーム Aドメイン Aドメイン 大きな泥団子状態のシステ ムの改修 →他ドメインの副作用が発 生しないよう調査しながら の実装が必要で大変・・・
  20. | © 2024 Levtech Co., Ltd. 36 チームが改修するシステムが広範囲に渡るため属人化が発生した 所感(苦しかったことその1) 社内営業支援 システム(SFA)

    A Team Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Cドメイン Dドメイン ドメインチーム Aドメイン Aドメイン 複数のリポジトリでシステムが 構成されていて、キャッチアッ プが大変・・・ 大きな泥団子状態のシステ ムの改修 →他ドメインの副作用が発 生しないよう調査しながら の実装が必要で大変・・・
  21. | © 2024 Levtech Co., Ltd. 37 自然と各システム単位で担当者が固定に=属人化が発生してしまった・・・ チームが改修するシステムが広範囲に渡るため属人化が発生した 所感(苦しかったことその1) 社内営業支援

    システム(SFA) A Team Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Cドメイン Dドメイン ドメインチーム Aドメイン Aドメイン 複数のリポジトリでシステムが 構成されていて、キャッチアッ プが大変・・・ 大きな泥団子状態のシステ ムの改修 →他ドメインの副作用が発 生しないよう調査しながら の実装が必要で大変・・・
  22. | © 2024 Levtech Co., Ltd. 38 自然と各システム単位で担当者が固定に=属人化が発生してしまった・・・ チームが改修するシステムが広範囲に渡るため属人化が発生した 所感(苦しかったことその1) 社内営業支援

    システム(SFA) A Team Bドメイン Cドメイン フリーランス向け プラットフォーム B Team Cドメイン Dドメイン ドメインチーム Aドメイン Aドメイン 複数のリポジトリでシステムが 構成されていて、キャッチアッ プが大変・・・ 大きな泥団子状態のシステ ムの改修 →他ドメインの副作用が発 生しないよう調査しながら の実装が必要で大変・・・ Bad・・・ システム障害発生時に各システムの開発担当者がいないと問題の切り分けに時間が かかってしまう・・・ 加えてテックリードにコードレビューを任せていた=属人化が加速する要因に
  23. | © 2024 Levtech Co., Ltd. 40 • ドメインの大改革を行うため、1年かけて要件定義を実施していた • 要件定義完了後、ドメインチームが結成。そしてPJに合流

    • 開発フェーズから合流となったため、業務理解と開発を並行で求められる形に • PJのデリバリも求められるため、要件の実現で精一杯・・・ ドメインチームというよりプロジェクト推進チームとなってしまった 所感(苦しかったことその2)
  24. | © 2024 Levtech Co., Ltd. 41 ドメインチームというよりプロジェクト推進チームとなってしまった • ドメインの大改革を行うため、1年かけて要件定義を実施していた •

    要件定義完了後、ドメインチームが結成。そしてPJに合流 • 開発フェーズから合流となったため、業務理解と開発を並行で求められる形に • PJのデリバリも求められるため、要件の実現で精一杯・・・ 所感(苦しかったことその2) Good👍 PJの推進観点では1チームで進めることができたため、開発生産性は高い
  25. | © 2024 Levtech Co., Ltd. 42 Bad・・・ PJの要件を満たすこと ≠ドメインに明るいエンジニア →開発から質の高い解決策を出すにはまだまだ精進が必要・・・

    ドメインチームというよりプロジェクト推進チームとなってしまった • ドメインの大改革を行うため、1年かけて要件定義を実施していた • 要件定義完了後、ドメインチームが結成。そしてPJに合流 • 開発フェーズから合流となったため、業務理解と開発を並行で求められる形に • PJのデリバリも求められるため、要件の実現で精一杯・・・ 所感(苦しかったことその2) Good👍 PJの推進観点では1チームで進めることができたため、開発生産性は高い
  26. | © 2024 Levtech Co., Ltd. 45 良かったこともちゃんとあります・・・! 所感(良かったことその1) Good👍 PJの推進が基本1チームで完結するため、調整コスト減った感じはする。

    チーム間のタスク管理や定例とかも無いため。 Good👍 複数ドメインの機能開発するチームと比較してタスク優先度管理は簡単! バックログでタスクの優先度を並べ替える時間は圧倒的に減りました。
  27. | © 2024 Levtech Co., Ltd. 47 Good • タスクの優先度管理が簡単 •

    チーム間の調整コストが減るため開発に集中しやすい(デリバリの安定) More • 我々のように複数システムを横串で開発する意思決定をする場合、属人化防止 対策は考えておきたい(モブワークとかドキュメント整備するとか) • 開発フェーズに入るとデリバリーが求められるのは当然。ドメイン知識に明る い最強チームを作るには、なるべく上流から開発チームもJOINしよう 逆コンウェイの法則は魅力的だが、足元はしっかり固めよう・・・ まとめ