新卒2年目エンジニアが新機能開発でプロダクトマネージャーへの第一歩を踏み出した話
TECH
2022.12.23
更新日:2022.12.23
公開日:2021.12.24
SEARCH WRITEのプロダクトマネージャーをしている吉継と申します。もとは開発者としてSEARCH WRITEに参画していましたが、半年ほど前に新チーム体制になりプロダクトマネージャーの役割になりました。
新チーム体制では、今までうまくいっていたやり方がうまくいかなくなったり、メンバー間のプロダクトへの理解の差からくるコミュニケーションエラーが発生したりと多くの課題に直面しました。
開発者ではなくプロダクトマネージャーの視点で、これらの課題にチームでどう立ち向かって解決していったかをまとめました。みなさんのチームに何か1つでも持ち帰っていただければと思います。
弊社ではスクラムチームにおけるプロダクトオーナーの役割をプロダクトマネージャーが担っています。もちろん開発業務だけではなく、カスタマーサクセスとの連携やロードマップの作成・リソース管理などのビジネス領域、画面仕様の設計などのUX領域の業務も担当しています。
半年前と比べると、開発のサイクルがうまく回っているなという実感を持っています。もう少し具体的にお話しすると、プロダクトマネージャーの目線では以下のような変化がありました。
これらの要因として、スクラムイベントの改善を続けたことが大きかったのではないかと考えています。特に、リファインメントとプランニングのあり方は半年前と比べて変化しています。この記事では、私たちが現在のスクラムイベントの形にたどり着くまでの過程を書き記すことができればと考えています。
ここで重要なのは、全ての改善は週次のチームふりかえりのアクションとして行われた点です。スクラムイベントのあり方に決まった正解があるのではなく、チームの個性や状況に応じてうまくいく形を見つけていくことが大切だと考えています。あくまで1チームの例としてご覧いただければと思います。
SEARCH WRITEは、2021年12月現在でリリースから約2年のプロダクトです。2021年の4月から6月にかけて、別のプロダクトチームが発足し、大規模なメンバーの入れ替えが発生しました。私がプロダクトマネージャーになったのもそのタイミングです。その結果、新たなチームメンバーでスタートを切ることとなりました。
成熟度の高いこれまでのチームではうまくいっていたやり方でも、うまくいかなくなってしまうことが多々ありました。具体的には次のような問題を抱えていました。
そのため開発を進めると同時に、ふりかえりを通してプロセス改善を行う必要がありました。
運用業務やリリース作業など、一部の業務が暗黙的に行われている状態でした。そのため、開発メンバー間でお互いが何の作業をしているのか把握できておらず、スプリントを正確に見積もれない問題が発生していました。また、仮にタスク漏れなどが発生しても気がつけないリスクも孕んでいました。
背景には、毎日のデイリースクラムで開発チケットは確認されているが、運用業務などには触れられていないことがあるのではないかと考えました。
以下のルールを取り決め、徹底するようにしました。
リファインメントで共有されていないものは原則着手することができません。またリリース作業やドキュメント作成といった暗黙化されがちだったタスクも含めて、全てタスク管理を行うようにしました。
デイリースクラムの場だけで、運用業務なども含め、スプリント内で対応する必要がある業務を全て把握できる様になりました。
次に発生した問題が、開発内容の共通認識が取れていないことでした。細かい仕様などの認識が合っておらず、スプリントの終盤になってそれに気づくことが何度かありました。経験の長い一部のメンバーに頼りきりになっていたことが原因の一つでした。
リファインメントで新たなバックログアイテムの共有を行う際に、以下の手順を取り入れました。
相対見積もりでは、1, 2, 3, 5, 8, 13の数字を「せーの!」でチャット上に入力します。数字にズレがある場合は意見が一致するまで議論します。絶対見積もりでは、それをもとに人日単位での必要工数を見積もります。
相対見積もりだけでなく絶対見積もりも行う理由としては、各リファインメントごとにストーリーポイントの基準はまちまちなので、プランニング時におしなべて判断できる基準が必要となるためです。
リファインメントで議論後のバックログアイテムの例
全員が以下の共通認識を持った上でスプリントを開始することができるようになりました。
その結果、仕様に関する認識のズレなどが大きく減少し、チームで課題点や実装方針に関する議論も活発に起こるようになりました。
認識違いなどがなくなり、少しずつ安定したアウトプットを出せるようになってきました。しかし、次にキャパシティに関する問題が発生しました。スプリントでチームのキャパシティを超えた量に着手してしまい、計画していたチケットを一部完了できなかったり、高負荷状態が続いてしまったりということがありました。
スプリントプランニングで、開発メンバーの共有カレンダーを見ながら、別業務などを考慮した上でのスプリントのキャパシティを見積もるようにしました。また、スプリントを管理するシート上で、それぞれのプロダクトバックログアイテムの担当者達と完了予定日を当てはめ、確認したキャパシティを超えないかを再度確認するようにしました。
キャパシティを超えた量のスプリント計画をすることがほとんどなくなりました。また、各個人の工数から完了予定日を事前に見積もることで、デイリースクラムで検査できるようになり、チームでスプリントの動き方を再考することができるようになりました。
キャパシティを正確に見積もることができるようになり、しかしスプリント内で何らかの障害が発生した場合、計画変更を余儀なくされる場合があります。その際に、どのプロダクトバックログアイテムから優先すべきなのかという議論がなされていないという課題がありました。
プロダクトマネージャーがスプリントを管理するシートにスプリントゴールを明記するようにしました。少なくとも2~3スプリント先までのスプリントゴールを設定します。
スプリント管理シートとスプリントゴールの例
これまで1ヶ月単位でのプロジェクトごとのロードマップを引くかたちでプロダクトマネジメントを行っていたのですが、それに加えてスプリントゴールを示すことで開発チームに対して今後の方向性を示すことができるようになりました。
また、想定外の事態が起きた場合には「スプリントゴールの達成のためにどう動けばよいか」という議論がチーム全体で行われるようになりました。
スプリントゴールを設定するようになり、開発サイクルはかなりうまく回るようになっていました。しかし、毎回のプランニングでプロダクトバックログアイテムの優先順位を議論しきるのは難しく、新しく追加されたものがどうしても優先されてしまう傾向がありました。プロダクトゴールへのインパクトを評価したうえで、常に優先順位をアップデートする必要がありました。
リファインメントで共有済みのプロダクトバックログアイテムを、優先順位が高い順番に並び替えられる仕組みを作成しました。毎スプリントのリファインメントの際に、並び替えする運用を行いました。
上記のようなボードで上から優先順位を表しています。
プロダクトバックログの並び替えを行うことで、「上から順番に開発していけばよい」という状態を作ることができました。またバックログと優先順位を全員がいつでも見られる状態で共有することができ、さらに見通しが立てられやすくなりました。
2021年12月現在のSEARCH WRITEチームのリファインメントとプランニングの流れは以下の通りです。なお、木曜日スタートの1週間をスプリント単位としており、リファインメントは火曜日に、スプリントレビューとふりかえり、プランニングは水曜日に実施しています。またプロダクトバックログアイテムはカンバン方式にてチケット管理を行っています。
この記事を通して伝えたいことは、ふりかえりを通して改善を続けることの大切さです。
スクラムガイドを読むだけでは理解が及ばなかった部分がたくさんありました。
しかし、実際に直面した課題に向き合いながらよりよいチーム開発を目指し続けた結果、自分たちの納得できるスタイルを築くことができたなと思います。
もちろんこれがゴールではなく、終わりのない改善を続けていきたいと考えています。