Slide 1

Slide 1 text

専門領域に特化した チームの挑戦 〜半年間の実践で見えた成果 とシステム横断開発の壁〜

Slide 2

Slide 2 text

| © 2024 Levtech Co., Ltd. 2 レバテック開発部 ITSプロダクト開発グループ 流入ドメインチーム 厚澤 一成 KAZUNARI ATSUZAWA #DDD #SOLIDの原則 #PMの卵 #ゴルフ #最近スコア100切って嬉しい #ピアノ #楽譜読めない #好きなトップバリュはドリンクゼリー エナジー180 マスカット味

Slide 3

Slide 3 text

レバテックについて

Slide 4

Slide 4 text

| © 2024 Levtech Co., Ltd. 4 VISIONとMISSION レバテックについて

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

| © 2024 Levtech Co., Ltd. 6 プロダクト・サービス レバテックについて コンテンツメディア Q&Aプラットフォーム 採用管理ツール 案件/求人サイト スマホアプリ LP/サービスサイト

Slide 7

Slide 7 text

| © 2024 Levtech Co., Ltd. 7 技術広報 レバテックについて カンファレンススポンサー や テックブログ に力を入れてます!  もフォローしてね! etc.

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

今日話すこと

Slide 10

Slide 10 text

| © 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ドメイン 一つのドメインに集中 して開発するチーム ※ただしシステムは横 断して開発する

Slide 11

Slide 11 text

ドメインチームが生まれた背景

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

| © 2024 Levtech Co., Ltd. 16 ってことは?

Slide 17

Slide 17 text

| © 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

Slide 18

Slide 18 text

| © 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推進するためのチーム 間連携がなくなるので、 開発に集中できるので は?

Slide 19

Slide 19 text

| © 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推進するためのチーム 間連携がなくなるので、 開発に集中できるので は?

Slide 20

Slide 20 text

| © 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推進するためのチーム 間連携がなくなるので、 開発に集中できるので は? つまるところ、逆コンウェイの法則を応用してみた系のお話です

Slide 21

Slide 21 text

逆コンウェイの法則とは いきなり出てきたよーわからん

Slide 22

Slide 22 text

| © 2024 Levtech Co., Ltd. 22 ● 「コンウェイの法則」 ○ システムの設計(アーキテク チャー)は、おのずと組織構造を 反映させたものになる コンウェイの法則 逆コンウェイの法則とは コンウェイの法則と逆コンウェイの法則から組織構造を考えるより

Slide 23

Slide 23 text

| © 2024 Levtech Co., Ltd. 23 ● 「逆コンウェイの法則」 ○ アーキテクチャによって組織構造を変化 させる後追いのではなく、そもそも最初 から最適なアーキテクチャに合うような組 織デザインを設計するという「アーキテク チャのための組織を作る 」というイメージ 逆コンウェイの法則 逆コンウェイの法則とは コンウェイの法則と逆コンウェイの法則から組織構造を考えるより 綺麗なシステムを作るためには 綺麗な組織構造であれ!

Slide 24

Slide 24 text

レバテックの逆コンウェイ応用戦略

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

| © 2024 Levtech Co., Ltd. 28 そんなドメインチームで半年働いてわかったことを共有します!

Slide 29

Slide 29 text

今日伝えたいこと(結論)

Slide 30

Slide 30 text

| © 2024 Levtech Co., Ltd. 30 逆コンウェイの法則は魅力的だが、足元はしっかり固めよう・・・ 今日伝えたいこと(結論)

Slide 31

Slide 31 text

| © 2024 Levtech Co., Ltd. 31 そうなんです 今日伝えたいこと(結論)

Slide 32

Slide 32 text

| © 2024 Levtech Co., Ltd. 32 苦労話がメインになりますw 今日伝えたいこと(結論)

Slide 33

Slide 33 text

所感(苦しかったことその1)

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

所感(苦しかったことその2)

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

所感(良かったことその1)

Slide 44

Slide 44 text

| © 2024 Levtech Co., Ltd. 44 良かったこともちゃんとあります・・・! 所感(良かったことその1) Good👍 複数ドメインの機能開発するチームと比較してタスク優先度管理は簡単! バックログでタスクの優先度を並べ替える時間は圧倒的に減りました。

Slide 45

Slide 45 text

| © 2024 Levtech Co., Ltd. 45 良かったこともちゃんとあります・・・! 所感(良かったことその1) Good👍 PJの推進が基本1チームで完結するため、調整コスト減った感じはする。 チーム間のタスク管理や定例とかも無いため。 Good👍 複数ドメインの機能開発するチームと比較してタスク優先度管理は簡単! バックログでタスクの優先度を並べ替える時間は圧倒的に減りました。

Slide 46

Slide 46 text

まとめ

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

| © 2024 Levtech Co., Ltd. 48 最後にもう一回 まとめ

Slide 49

Slide 49 text

| © 2024 Levtech Co., Ltd. 49 逆コンウェイの法則は魅力的だが、足元はしっかり固めよう!!! まとめ

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

宣伝

Slide 52

Slide 52 text

| © 2024 Levtech Co., Ltd. 52 テックブログに力を入れています!※ 平均10本/月の記事を公開中 宣伝 テックブログURL

Slide 53

Slide 53 text

🎄レバテック開発部アドベントカレンダーやるぞ! レバテック開発部 Advent Calendar 2024