Salesforce開発を専門とする受託開発チームのチームマネージャーとして以下のマネジメントを行った。
商談管理、既存顧客の案件獲得・案件開発、チームメンバーのコンディション管理、案件アサイン、育成、評価、昇格支援まで、チーム運営全般を担当。
売上ノルマは設定されておらず、メンバーの適正配置とスキル成長を軸としたマネジメントを行った。
チームとして以下の責務を負っていた。
①案件を継続的に確保し稼働を安定させる。自前で案件が足りない場合、社内から調達する。
②炎上案件・待機メンバーを発生させない
③メンバー一人ひとりが経験・スキル・キャリア志向に応じた成長機会を得て、納得感のある評価とキャリアアップを実現できることの3点を同時に成立させる
④(自社社員で案件を賄えない場合)社内および社外から開発要因を調達する
## 背景
チームマネージャーに就任するまで、私自身も大口顧客と相対するプロジェクトでPM兼Salesforceエンジニアとして業務に従事していた。
そこにチームマネジメント業務が加わるとこれまでの働き方では立ち行かないため、自分のリソースの再設計を行った。
### 業務再設計活動の詳細
統括PMに、役割変更を申し出て以下の調整を行った。
- 統括PMの補佐として、大口チーム運営の他に以下の業務を行う。
- 大口顧客の継続的な開拓。顧客の複数業務担当者から個別に開発相談を受ける役割の窓口担当となり、案件の開発を行う。
- 進行しているプロジェクトの管理監督を行う
- 私自身は直接プロジェクトマネジメントは行わない
- 自分の業務再設計後は、プロジェクトワークが減った分のリソースををチーム運営時間にリソースを再配分しました。
#### 案件獲得および
案件獲得は「既存顧客からの継続案件」と「新規コンペ参加」の二本立てで進めた。私の管理チームは既存の大口顧客のプロジェクトメンバーでもあるため、アサインの優先度は既存顧客>新規案件。
既存顧客は継続的な支援を行っているものの、時期により受注量は増減があるため、アサインが賄えない場合がある。そのため、アサイン計画は開発メンバー単位の管理表を作成し、常に6か月から12か月程度先までアサインが把握できる状態を維持した。
急な開発依頼によるアサイン変動などもあるため、管理表は常に最新状態を維持した。
#### メンバーアサインについての考え方
- チームメンバーとはMBOによる目標設定時と1on1により各メンバーのキャリア観や成長方針を確認・収集し、普段の開発でも経験領域を広げるように役割設定を行った。
※プロジェクト内の別プロダクトへの開発作業を経験させたり、経験のない開発工程を経験させたり、等。
- 毎回全ての希望を叶えることはできないが、1on1では開発メンバー自身にどうしたいかを尋ね、希望を聞いてアサインする際に考慮した。
#### チームメンバーの稼働管理、参画案件の炎上防止についての考え方
- 炎上防止において重視したのは、以下の2点です。
- 管理プロジェクトのデイリーミーティングに参加し、プロジェクトの進捗状況を直接見聞する。
- プロジェクト週報で予実報告と問題点について注意し、炎上の火種を早めに対処する。
- デイリーミーティングでは現状へのメンバーやPMの温度にギャップが無いか、タスクの予実管理と遅延が見えている場合はPMが遅延を含めてコントロールできているかを確認した。
例えば、明らかに遅延しているのに緊張感やスケジュールを守る意識が見られない場合などはプロジェクトが徐々に悪化しているのに気づいてないか、見て見ぬふりをしている可能性があり注意が必要になる。
- また、「まだ大丈夫です」と言うのみで具体的な打ち手が見られない場合も危険な兆候なため、こういった炎上の火種がプロジェクトに見えてないかを確認して回った。火種が見つかった場合も、私がすぐに介入するのではなく、まずはPMに私が気になる点について認識しているかを確認し、まずは自発的に改善できるような指導を行い、自分たちで改善できない場合にはあどばいすするか直接介入して改善対応を行った。
#### メンバー育成・評価・昇格支援についての考え方
- ここまでに既に述べていることもあるが、育成についてはメンバーごとの経験・スキル・キャリア志向を踏まえ、「今後どういうスキルアップ、キャリアアップを行いたいか?」を各自に考えさせた。
- 中には、「希望がないので何でも良い」といった方や「キャリアアップの気がなく現状維持」というメンバーもいるため、その場合はメンバーにできる範囲で仕事をアサインし、スキルアップを強要することしなかった。(今の職位相当の成果が出せるならそれで良い、という考え)
- 評価・昇格支援では、会社側の昇格基準(求められる役割・成果の水準)とメンバー本人の現状のギャップを具体的に言語化して目標を設定させた。また、昇格に向けた実績構築が可能な案件を意識的に設定し、『努力して大きな成果を出せば昇格推薦時の材料にできる』機会を設定した。
#### マネジメント業務全体を通じての工夫と学び
- PM・PLとしての実務経験(要件定義、進捗管理、顧客折衝、リカバリ対応など)を通じて培った「現状の詳細な把握→問題の言語化→対応策の実行」という思考プロセスを、そのままチームマネジメントにも応用した。
具体的には、「兆候を早期発見し対処する」姿勢の重要性を学んでおり、これをメンバーの稼働管理にも転用した。私自身、これまでに大きく体調を崩した経験があるため、心身が壊れる前に対処することの重要性を説きながら管理に努めた。
- 一方で、マネジメント固有の難しさとして、プロジェクトと異なり「ゴールが常に変化し続ける(メンバーの成長やキャリア志向は固定的なものではない)」という点があり、単発の対応ではなく継続的な対話とアサインの微調整が必要だと痛感した。この経験から、マネジメントとは「一度仕組みを作って終わり」ではなく、メンバーの状態変化に応じて継続的に仕組みをアップデートし続ける活動である、という認識を持つに至った。
教育事業を複数展開する企業グループ向けに、分散した会員情報をSalesforce基盤へ集約し、グループ横断で共有・利活用できるデータ基盤を構築するプロジェクト。
PMとして3名の開発メンバーと上級PMの合計5名を率い、要求定義から基本設計までを管理し、将来業務像、データモデル、既存システムとの連携方針を合意可能な状態にすること、および基本設計成果物を作成することがゴールでした。
要求定義から基本設計までについて、PMの主なタスクは以下。
①顧客グループ各社との要求・合意事項
②工程ごとの成果物と完了条件
③連携元システムと既存システム/Salesforce・MuleSoft・Data Cloud・Heroku間のデータ連携仕様
④データ基盤のデータモデル構築
⑤会議・意思決定・未決事項
⑥開発メンバー3名と上級PMの担当領域、作業進捗、課題・依存関係の管理
責務は、抽象的な構想を実装可能な要求・要件へ落とし込み、関係者が判断できる資料と論点を揃え、各メンバーが担当範囲と成果物を理解して作業を進められる状態を作ることでした。
その後、合意できた箇所から基本設計工程成果物を整え、プロジェクト再開後に実装へ移行できる状態を目標としました。
本案件では、教育事業を展開する複数のグループ企業に分散していた会員情報を集約し、グループ横断で共有・利活用できるデータ基盤を構築することが求められていた。
一方、プロジェクト開始時点では、将来どのような業務でデータを利用するのか、誰が利用・運用するのか、どのシステムからどのデータを取得するのかといった事項が抽象的であり、関係者間でも具体的な完成イメージが十分に共有されていなかった。
加えて、対象となるグループ企業ごとに業務や保有データの形式が異なり、既存システム、Salesforce Platform、MuleSoft、Data Cloud、Herokuといった複数のサービスをまたぐ連携を検討する必要があった。そのため、単純にスケジュールとタスクを管理するだけでは、目指すゴールには届かないと考え、以下の施策を行った。
- 要求定義から基本設計までの各工程について、作成すべき成果物と、各成果物に記載すべき内容の草案を作成した。これにより、メンバーごとに成果物の粒度や認識がばらつくことを防ぎ、顧客とは資料ベースで議論を進め、整理する内容の過不足を確認しながら要求の整理を進めた。
- また、要求定義では、顧客から提示された構想をそのまま要件化するのではなく、将来業務の利用場面を具体化した。データ基盤を利用する人物、運用する人物、利用目的を顧客と整理し、ユーザーストーリーやユースケースの仮説を顧客と作成しながら、構築するシステムのイメージを固めていった。
- グループ各社のステークホルダーとの会議では、論点、確認事項、決定が必要な事項を事前に整理し、論点ごとに議論の内容を図解した資料を交えて議論することで、抽象的な議論が多くてもステークホルダーが迷走しないように配慮した。
この施策については、Salesforceの営業やSEと認識を合わせながら顧客との議論を進める必要があったため、責任者である上級PMにも協力を依頼し、資料を作成してもらったうえで、議論をコントロールしてもらった。
- 要件定義では、会員情報をどの単位で管理するか、各システムのデータをどのように関連付けるかを整理し、データモデルの検討を進めた。また、既存システムと新しいデータ基盤の間、およびSalesforce Platform、MuleSoft、Data Cloud、Heroku間のデータ連携について、処理の役割分担と連携仕様の草案を作成し、顧客と草案をベースに協議しながら仕様を明確化して進めた。
- 開発チームマネジメントでは、3名の開発メンバーについて、Salesforce、Data Cloud、MuleSoft、Herokuなどの担当領域を明確にし、各領域の主担当を設定した。単に作業を割り振るのではなく、領域間の依存関係を踏まえて、どの成果物を誰が作成し、誰が確認するかを整理した。
- プロジェクトの情報抽象度が高く、要件の具体化や設計への落とし込みは、開発メンバーのスキル不足により不可能であった。プロジェクトメンバーの補強が必要と考えて上級PMに相談したものの、叶わなかったため、上級PMに実務支援を依頼した。それにより、データ連携仕様は私が草案を考え、データモデル設計とUI設計は上級PMが素案を考える役割分担を行い、仕様検討にあたった。
- 進捗管理では、課題の正確な理解に基づいて成果物が作成できているか、顧客との合意状況、未決事項、他領域への依存関係を確認した。仕様の確定に必要な情報が不足している場合は、開発メンバー内で抱え込ませず、ブロック要因をデイリーMTGで共有させ、顧客への確認事項として整理し、会議の議題に反映した。これにより、担当者が判断待ちのまま作業を進めたり、異なる前提で設計を進めたりすることを防いだ。
- 結果として、要求定義から基本設計までについて、成果物、将来業務像、データモデル、データ連携方針、各担当領域を整理し、後続の実装工程へ移行できる設計情報を整えた。
- プロジェクトは基本設計終了後に顧客都合で一旦停止したが、これはプロジェクト内の品質・進捗上の問題ではなく、顧客側の別のビジネス課題と要員リソース調整によるものであった。
その後、案件再開時には実装および本番サービスインへ引き継がれている。