🤝

BABY JOB の開発チームにおける役割 v2.0

2023/12/01に公開

BABY JOB 株式会社の開発部部長 兼 EM の kawanamiyuu です。
今年も BABY JOB のアドベントカレンダーが始まりました。よろしくお願いします!

はじめに

開発チームにおける役割とは

私が BABY JOB に入社した 2021 年 11 月当時、私含めて 6 名程の開発組織[1]でした。採用を頑張り、2022 年の夏頃、2倍以上に拡大した組織内のコミュニケーション最適化のために役割を設け[2]、「開発チームにおける役割 v1.0」というドキュメントを社内に公開しました。
そこからさらに組織が大きくなり、また、組織としての練度が上がっていくなかで、今年(2023 年)の 2 月頃、「開発チームにおける役割 v2.0」へとブラッシュアップしました。

本記事では、「開発チームにおける役割 v2.0」の社内ドキュメントを(ほぼ原文まま)公開し、それぞれの役割を言語化した際の私の考えや想いを紹介したいと思います。

ざっくり組織図

本記事での「開発チーム」という表現は「あるプロダクトの開発に携わる組織」のようなニュアンスで使用しています。
下図でいうと、"手ぶら登園" というプロダクトを開発する「手ぶら登園開発課と、その中にあるいくつかのチーム」のまとまりを「開発チーム」というような意味合いで言っています。

それぞれの役割

本記事では、BABY JOB の開発チームにおける主要な 4 つの役割[3]について紹介します。

  • メンバー
  • プロジェクトリード
  • テックリード
  • チームリード

"メンバー"

☑️ 役割の定義

期待されること

  • プロダクトを利用するユーザーへの直接的な価値提供(開発実務)を行う主役である
  • 自身が担当するタスク、所属するチームが担当するプロジェクトを完遂させることにこだわり、あらゆる手段を講じて開発実務を前進させる
  • 担当する実務のスコープやコンテキストに応じて、コミュニケーションする対象(個人/チーム)や、ホウレンソウの頻度/詳細度を主体的に判断する

これより以下に定義する役割は「メンバー」にアドオンされる役割である。
ちなみに、これらの役割はそれぞれが排他的な関係ではない。

  • 例えば、「チームリード」の役割を担う人物はチームリーダーであり、メンバーでもありえる
  • また例えば、「メンバー」の役割を担う人物が「チームリード」の視座をもつことを否定しない(むしろ歓迎される)

📝 解説

「開発チームにおける役割 v2.0」を整理するにあたり、最も大切と考えたのがこの「メンバー」という役割です。ちなみに、v1.0 では定義できていなかったものです。

「プロジェクトリード」「テックリード」「チームリード」といったマネジメントやリーダーシップを発揮する役割の人物がいることで、結果的に全体としてチーム開発が上手くまわることはあるかもしれません。ただ、だからといってマネージャー/リーダー任せではいけないし、メンバーへ丸投げでもいけない。大前提として、開発チームの全員が圧倒的当事者意識[4]をもって能動的にプロダクト開発に向き合い、それぞれができる最大限のことを行い、あるいはチームメンバーの協力を得て、やりぬく。誰かが頑張っているのではなく、自身が開発チームの仕事を前に進めているという自覚と自負を持ってほしい。そのような想いを「メンバー」の役割として表現してします。

"プロジェクトリード"

☑️ 役割の定義

マネジメント領域に対する関心の強さ

プロジェクト、ピープル>プロダクト>テクノロジー

期待されること

  • 担当プロダクトに関するそれぞれのプロジェクトの QCDS を達成することに責任をもつ
  • 複数プロジェクトの QCDS の整合性を取りながら、担当プロダクトの短中期での事業目標の達成を目指す
  • 上記のことを達成するために、ステークホルダー(事業責任者、CSチーム、開発責任者、開発チーム)と協力して、機能開発の優先順位やスコープ定義、プロダクト仕様に関する意思決定を主導する
  • 開発メンバーや開発チームの個別のタスク管理を行うことはプロジェクトマネージャーの主たる関心事ではない
    • 開発メンバーや開発チームの個別のタスク管理はその個人やチームによって主体的に行われることを期待する

📝 解説

いわゆるプロジェクトマネジメントに関する役割です。

ポイントとしては、開発チームやメンバーのタスク管理という業務は、プロジェクトマネジメントを遂行する中でのあくまで手段の 1 つであり、それ自体がプロジェクトリードの主要な役割ではないと言い切っている点です。これは「メンバー」の役割の存在を前提とすると不自然なことではありません。プロジェクトリードは個々のタスクよりも、全体の整合性にフォーカスします。

"テックリード"

☑️ 役割の定義

マネジメント領域に対する関心の強さ

テクノロジー、ピープル>プロダクト>プロジェクト

期待されること

  • 担当プロダクトの技術的意思決定、技術的投資(技術的負債の解消も含む)の計画策定/実行に責任をもつ
  • 短期(〜四半期)および中長期(半年〜)での、開発組織の開発生産性、プロダクトのデリバリー速度×品質を最大化する
  • 上記のことを達成するために、テックリード自身が技術的な専門性とスキルを活かして手を動かすこともあれば、プロジェクトマネージャーと協力して開発メンバーや開発チームを技術的観点でマネジメントし成功に導くこともある
  • 開発メンバーや開発チームの個別のタスク管理を行うことはテックリードの主たる関心事ではない
    • 開発メンバーや開発チームの個別のタスク管理はその個人やチームによって主体的に行われることを期待する

📝 解説

テックリードに期待することとして「ピープルマネジメント」への関心を強く設定しているのがポイントです。

これは私自身の経験[5]によりますが、テックリード個人が開発組織の技術のトップラインを伸ばす、テックリード個人の技術力で貢献できる成果には上限があり、チームとしてより大きな成果を出すためには、組織が技術を適切に行使できるよう支援する、技術面でメンバーを育成するといった、「人」「組織」に対する視点や取り組みが必ず必要になってきます。
人事評価などを含むピープルマネジメントとは主旨が異なるため誤解を生む可能性もあるかもしれませんが、「人」「組織」への関心をしっかり持ってもらいたいという意味でこのように優先順位づけています。

"チームリード"

☑️ 役割の定義

期待されること

  • 所属チームが担当する機能開発やプロジェクトの短中期での QCDS の達成を推進する
  • 複数チーム体制でのプロダクト開発を円滑に進めるために必要なチーム内外でのコミュニケーションを推進する
    • 自身が所属チームの代表となって、プロジェクトマネージャーや他のチームリーダーとコミュニケーションすることもあれば、該当実務のスコープやコンテキストに応じて、チームメンバーが主体的にチーム内外に対してコミュニケーションすることを支援する
  • 上記のことを達成するために、全体最適の視点をもってプロジェクトマネージャーや他のチームリーダーと密にコミュニケーションを図る
  • チームメンバーの個別のタスク管理を行うことはチームリーダーの主たる関心事ではない
    • チームメンバーの個別のタスク管理はその個人によって主体的に行われることを期待する

📝 解説

BABY JOB の開発組織では 1 つのプロダクトに対して 1 チームあたり 3〜5 名からなる複数のチームが連携して開発に取り組んでします。ざっくりいうと、プロダクトごとに LeSS(Large-Scale Scrum)のような開発体制を採っています。

ある 1 つのチームのリーダーに期待するのがこの「チームリード」の役割です。
プロジェクトリードと同様に、「チームリーダーはチームメンバーのおもり役ではない」というのが役割定義のポイントの 1 つです。

さいごに

今回、開発チームにおける役割について私の主観強めで解説をしてみました。
「開発チームにおける役割 v2.0」では「メンバー」という役割を発見(言語化)できたことが一番大きな成果だったと思います。
これからも BABY JOB の開発チームのメンバー皆が BABY JOB の開発組織の主役として、実力と誇りをもてる組織づくりに尽力していきたいと思います。

脚注
  1. 私が入社した直後の取り組みについて スタートアップで 1 度は崩壊しかけたチームがこれからチームになっていくための第一歩 というスライドにて公開しています。 ↩︎

  2. 役割が誕生した前後の時期の開発組織の問題やスクラム開発への取り組について スクラムの基礎学習によって開発プロセスの改善が少し進み始めた話 というスライドにて公開しています。 ↩︎

  3. 本記事で紹介している 4 つの役割以外に "イテレーションマネージャー" という役割も存在します。詳細は 開発チームの自走力を育む「イテレーションマネージャー」という取り組み というスライドにて公開しています。 ↩︎

  4. BABY JOB のバリューの 1 つが「圧倒的当事者意識」です。 ↩︎

  5. 私は BABY JOB に入社する前の職場ではエンジニアとして、テックリードの役割を担っていました。 ↩︎

BABYJOB テックブログ

Discussion