Wantedly Engineering Handbook
  • Wantedly Engineering Handbook
  • まえがき
  • 第一部:開発チームへの案内
    • 技術とアーキテクチャ
    • プロダクト概要(未執筆)
    • 開発チームの構造
    • コミュニケーションの全体
    • ドキュメンテーション(未執筆)
    • カレンダー
    • 障害対応の心構え
    • 効率的な社内知識の調べ方
    • 外部発信(執筆中)
  • 第二部:技術領域への案内
    • Apps
      • アプリを提供するプラットフォーム
      • デザインシステム入門
      • Web アプリのアーキテクチャ
      • プロダクトデザイナーと上手に協働するための心得
      • Web アプリのデザインシステムライブラリ
      • Web アプリ共通ライブラリ "React Shared Component" の紹介
      • モバイルアプリのアーキテクチャ
      • モバイルアプリのデザインシステムライブラリ(未執筆)
    • The System
      • protobuf スキーマと gRPC 通信
      • 実践: gRPC in Ruby
      • 実践: gRPC in Go
      • GraphQL Gateway - アプリ向けに API を公開する
      • Wantedly Visit で BFF GraphQL サーバーを辞めた理由
      • 実践: GraphQL スキーマ設計(未執筆)
      • API での認可処理 (Authorization)
      • マイクロサービス共通ライブラリ "servicex" の紹介
      • 非同期メッセージング処理入門(未執筆)
      • バッチ処理入門(未執筆)
    • Infrastructure
      • Infrastructure Squad
      • プロダクト開発のための Kubernetes 入門
      • インフラ構成概要
      • リリース・デプロイ戦略を支える技術
      • SaaS を活用する:New Relic, Honeybadger, Datadog
    • Data
      • データ基盤入門
      • レコメンデーション
      • Looker 入門
      • 推薦システムの開発に使っているツール
    • 開発プロセス
      • Git の慣習
      • ポストモーテムの取り組み
      • 負債返済日の取り組み
      • プロダクトの課題発見及び解決
      • ソフトウェアデザインの基礎
      • コードレビュー
      • コーディング規約
      • リリース・デプロイ戦略
      • 上長承認が必要な作業
      • アーキテクチャディシジョンレコード(ADR)
      • 作業ログを残す意味
      • 多言語化対応(i18n)
      • メール開発
    • 開発ツール
      • 社内利用している開発ツールの最新状況
      • kube
      • Code Coverage
      • Kubefork
  • おわりに
    • ロードマップ(未執筆)
    • Handbook の書き方
    • コントリビューター
  • 付録
    • 社内用語集
    • 主要な GitHub レポジトリのリスト(未執筆)
    • 今後の挑戦・未解決イシュー(未執筆)
    • プロダクト開発組織のバリュー(未執筆)
    • 採用についての考え方(未執筆)
GitBook提供
このページ内
  • Squad
  • Chapter
  • 全体

役に立ちましたか?

  1. 第一部:開発チームへの案内

開発チームの構造

前へプロダクト概要(未執筆)次へコミュニケーションの全体

最終更新 1 年前

役に立ちましたか?

技術とプロダクトと組織は相互に関係しています。ここでは、どのような人の集まり=組織が、技術を使ってプロダクトを生み出しているのかの概要を説明します。

こちらの図は2023年時点での組織の構造をおおまかに描写したものです。

Squad

まず、組織にはたくさんの Squad と呼ばれる2-5人程度のチームがあります。Squad は、共通のミッションを達成するための、自律した最小のチーム単位です。Squad には、そのミッションを達成するために必要な、さまざまな技術領域・職能の人が集まっています。ミッションは OKR: Objective and Key Result によってわかりやすくチャレンジングなものとして定義します。

特にプロダクト開発に関して Squad を活動の基本的な単位とするのは、プロダクトのミッション(目的)に対して共感して動ける文化を重視しているためです。職能を先に置いてしまうとこういった要素が薄くなりがちです。

Chapter

もう一つ重要な単位に Chapter と呼ばれるものがあります。これは、Squad を横断して存在する、共通の専門領域に関心がある人たちの集まりです。専門領域に対して適切な戦略を考えたり、共通の課題に取り組んでいます。

例えば、システムを開発していて、自分の Squad では通信に JSON を使っているけれども、隣の Squad では XML を使っている、といった事があると Squad に入った時にうまく能力を発揮できませんし、開発した機能間の連携もできません。そのような機会があまりなければ良いですが、Wantedly は人と会社が有機的に価値を生み出す単一のビジネス・プラットフォームであるため、機能間の異動や連携は恒常的にあります。そのため、Chapter という仕組みが存在します。

Squad と Chapter の違いが一点あります。Squad については、素早く動きユーザーに価値を届けることを重視するために原則としてひとつに所属している状態が望ましいです。一方で Chapter についてはあくまで技術的なトピックの切り口であるため、そういった状態を理想としているわけではありません。必要であれば新しい領域にチャレンジするのも良いでしょう。

なお、技術領域と言ってもどこまでも細かく切ることは想定しておらず(e.g. "Ruby Chapter" という単位では Chapter にしない)、さまざまなことを考慮して一定の粒度で決めています。大まかには、1) 身につけるのに一定以上の時間が必要なコアスキルのセットを共有している、2) 同様のスキルセットを持つエンジニアが世の中や社内に一定数いる、といった条件は満たしている必要があるでしょう。

以上が、もっとも基本的な組織の構成要素です。他にも、補完的なものとして Guild というものもあります。

全体

最後に、より具体的な Squad と Chapter を含む全体について説明します。2022年7月現在、 プロダクトに紐づく Squad は Dev Trive の傘下で動いています。また、ソフトウェア基盤の構築・改善、意思決定のための情報収集分析、組織開発などプロダクト開発をより推進するための 基盤 Squad が合計5つ存在します。例えば Kubernetes のようなシステム基盤は Infra Squad によって導入・運用をしています。プロダクト開発 Squad と基盤 Squad があることで、生産と生産性を両立することを目指しています。

もっと知りたい

(internal)

(internal)

SquadとOKR - 開発チームが無駄なく高い成果を出すために大事にしていること | Wantedly Engineer Blog
Guild
組織図