新しいチームに入った時は4つの軸でキャッチアップする

はじめに

こんにちは。普段はWebアプリケーションエンジニアとして日々プロダクトを作っています。3ヶ月ほど前に新しいチームに参画しました。自分から希望したというよりは、前のチームの解散と共に自分と相性の良さそうなチームを選んでもらったという感じで異動先が決まりました。このプロダクトは自分にとっては4つ目で、キャッチアップにも慣れてきました。そこで、新しくプロダクトを作るメンバーに参加したときのキャッチアップのコツの一部を言語化してみます。

ここに書いていることは新しくチームに入ったときはもちろん、自分が継続的に関わっている場合であっても意識したほうがよいと考えています。というのも、自身が関わるプロダクトと周囲の状況は絶えず変化するものですし、日々の業務の中で初心を忘れてしまうこともあるからです。

自分が業務に忙殺されても、ここに戻ってきて初心に戻れるようにという想いも込めて書いていきます。

キャッチアップするときの4つの軸

  1. プロダクト

  2. プロジェクト

  3. チーム

  4. コードベース

1. プロダクト: 目指す姿と現在地。周辺環境。

目指す姿と現在地、周辺環境をキャッチアップします。ざっと以下のように分けてキャッチアップすると一歩ずつ着実にプロダクトの理解が深まり、自分がやるべきことを俯瞰して見ることができます。

  • 業務領域

    • 誰が、何のために、何をしているのか

    • 業務領域の潮流

  • 世界観

    • どのような苦しみを抱えているのか

    • どんな状態になると嬉しいのか

  • 現在地とマイルストーン

    • 今のプロダクトではどこまで実現できているのか

    • ユーザー数・規模

    • 大まかにどういう経路を辿って成長させていくのか

  • この製品の立ち位置

    • 競合

    • 他の自社製品との関わり

  • お客様への届け方

    • 売り方

    • 提供形態(SaaS)、デプロイ戦略、テナント戦略

2. プロジェクト: ゴールへの中継地点と到達方法

プロダクトのキャッチアップが目指す姿と現在地のキャッチアップだとすると、プロジェクトのキャッチアップは目指す姿への中継地点を把握し、どのようにその中間地点に到達するのかを把握することです。プロジェクトがどういう状態なのかを把握することで、今やるべきことがはっきりしてきます。

  • 直近取り組むべき内容

    • 半年

    • 四半期

  • ステークホルダー

    • この製品に関わっている人は誰か

    • 製品にまつわる情報を提供してくれているのは誰か

    • 出荷に関わっている人は誰か

    • 誰が販促を主導してくれているのか

    • etc…

  • 会議体

    • 情報がどこから来て、どのような経路でプロダクトに反映されるのか

    • どこで意思決定が行われるのか

3. チーム: ゴールに向けて持続的かつ最速で進める環境

プロダクトの開発は一人ではできません。必ず誰かと協力する必要があります。いきなりプロダクトに関わる人すべてを把握するのは難しいですが、自分がいる開発チーム内の状況だけでも把握しておくことは、自分の仕事をスムーズに進めることに役立ちます。

  • メンバー

    • 個々人の特性・担当

    • 直近の入れ替わり

  • チームの各種ルール

    • 働き方

    • コミュニケーション

  • 文化・雰囲気

  • 各種イベント

4. コードベース: 具体的な実現手段

アプリケーションエンジニアとしては当たり前すぎる&細かく書くときりがないので代表的なものを一部だけ上げます。ただし、これをキャッチアップするに当たって、「今の状態になっている背景」と合わせて理解することが大事です。

  • コードベースに変更を加える際のルール

    • Issueの管理方法

    • レビュールール

  • アーキテクチャ

  • 言語

  • 設計・コーディングルール

  • CI/CD戦略

  • フレームワーク・ライブラリ

  • etc..

おわりに

上記の軸は無限に深掘りできるので、期限と暫定的なキャッチアップのゴールを定める必要があります。
自分はリードエンジニアとしての役割を担うことが多いので、以下の目標を2ヶ月で達成できるように集中してキャッチアップしています。

  1. プロダクト: 機能概要をすべて把握し、プロダクトゴール・マイルストーンを把握し、自らロードマップを描けるようになる

  2. プロジェクト: プロジェクトの内容、QCDのレベルを理解し、一つのプロジェクトを先導できるようにする

  3. チーム: チームのお作法、ルール、メンバーの特徴を知り、仕事をスムーズに進めつつ、チームに合った改善サイクルを回せるような提案ができるようになる

  4. コードベース: 使用技術に精通し、機能追加をリードエンジニアのスピード感とクオリティでできるようになりつつ、メンバーの開発スピードが上がる改善を実現できるようになる

2ヶ月としているのは、チームに入って概ね3ヶ月でプロダクトにとってインパクトの大きい成果を出せるようにするためです。もちろん、キャッチアップ期間中も通常業務は行いますし、早く成果を出せるに越したことはありません。しかし、あまり焦ってキャッチアップをおろそかにしても、インパクトの薄い仕事をしてしまいがちなので、それよりは状況を丁寧に理解したうえで前に進むのが良いと考えています。


いいなと思ったら応援しよう!