アジャイル開発の一つのフレームワークであるスクラム開発では、プロダクトオーナー(Product Owner(以後POと表記))という役割が存在します。
スクラム開発においてPOは不可欠な存在でありますが、重要な役割であるがためにそれを担える権限や技術を持った人材は限られ、POがプロジェクトの掛け持ちをせざるを得ないケースも多いようです。
この記事では、さまざまな事情によりPOが十分な稼働を確保できず、本来の役割を全うできない場合に「代理PO」という役割を置いてプロジェクトを円滑に進める手段を紹介します。
POの役割とは?
まず、POはどのような役割を持っているかを確認してみましょう。
スクラムの教科書であるスクラムガイドでは以下のように定義されています。
プロダクトオーナーは、スクラムチームから⽣み出されるプロダクトの価値を最⼤化することの結果に責任を持つ。組織・スクラムチーム・個⼈によって、その⽅法はさまざまである。プロダクトオーナーは、効果的なプロダクトバックログ管理にも責任を持つ。
たとえば、プロダクトゴールを策定し、明⽰的に伝える。
プロダクトバックログアイテムを作成し、明確に伝える。
プロダクトバックログアイテムを並び替える。
プロダクトバックログに透明性があり、⾒える化され、理解されるようにする。上記の作業は、プロダクトオーナーが⾏うこともできるが、他の⼈に委任することもできる。
いずれの場合も、最終的な責任はプロダクトオーナーが持つ。プロダクトオーナーをうまく機能させるには、組織全体でプロダクトオーナーの決定を尊重しなければならない。これらの決定は、プロダクトバックログの内容や並び順、およびスプリントレビューでの検査可能なインクリメントによって⾒える化される。プロダクトオーナーは1⼈の⼈間であり、委員会ではない。プロダクトオーナーは、多くのステークホルダーのニーズをプロダクトバックログで表している場合がある。ステークホルダーがプロダクトバックログを変更したいときは、プロダクトオーナーを説得する。スクラムガイド
簡単にまとめると、POが行うのは「開発する要件(プロダクトバックログ)を明確にし、市場の動向と照らし合わせた上でより市場に価値のある要件を見出し、開発の優先順位を決めること」です。
開発チームから見て「お客様」にPOがいる場合
どんな人がPOの役割を担うのか、ここで少し具体的に紹介します。
新規サービス開発支援を得意とするNCDCでは、新規サービスの検討をされているお客様を企画からシステム開発まで一貫して支援するプロジェクトを多数実行しています。
新規サービス開発のようなプロジェクトは不確実性が高いため最初から明確に要件を固めるのが難しく、システム開発は最小限の機能をつくってはテストを行い、その結果を受けてスピーディな改善を繰り返す進め方(アジャイル開発)が適しています。
また、この場合、お客様の新規サービス開発責任者(ノンITの方)がPOの役割を担い、開発チームをNCDCが担うという体制になることが多いです。
いざプロジェクトがはじまれば「発注側」と「受託側」という立場の違いなどを超えて、関係者が一体となって開発を進めるのですが、この例のような体制では2つの課題が発生しがちす。
- PO(お客様)は、市場のことは熟知されているが、システム開発の知識は十分ではなく、開発要件を明確に定められない場合がある
- PO(お客様)が多忙で、開発チーム(NCDC)との連携が密に取れないことがある
スクラム開発はPOが順次判断を下して開発チームと連携する前提で、短期間の開発・確認を繰り返し行う手法であるため、これらの問題がプロジェクトの大きな阻害要因になることがあります。
PO不在の対策「代理PO」
ここで今回、ご紹介する手段が「代理PO」という考え方です。
スクラムガイドでは「代理PO」というロールは定められていませんし、「プロダクトオーナーは1⼈の⼈間であり、委員会ではない。」と書かれており、基本的にPOは複数人で担うものではないとわかります。
しかし、「上記の作業は、プロダクトオーナーが⾏うこともできるが、他の⼈に委任することもできる。」とも書かれています。
これらを前提に、スクラムから離れて、アジャイル開発という枠組みで「代理PO」という役割を定義すると、次のようになります。
- 本来のPO(上記の例でいえばお客様の新規サービス開発責任者)は、市場や業務の理解を活かしてビジョンやゴールを定め、代理POやチームに対して明示する
- POの役割のうち、その他の作業はできるだけ「代理PO」に委任する
このように役割分担することで、POが開発要件を明確に定められなかったり、開発チームとの連携が不足したりという課題を解決できます。
次に代理POというポジションを設置する場合に、代理POはどのようなタスクをこなすのかをご紹介します。
代理POの役割とは?
代理POがPOの役割の大部分をこなす前提の場合、「本来のPO」と「代理PO」の役割分担、開発の流れは次のようになります。
- プロジェクトのミッション策定【本来のPO】(例.XX業界特有のニッチなニーズを捉え、新規プロダクトでどのような価値を提供するのかを定める)
- ミッションを前提とした、プロダクトコンセプト決め【代理PO】
- 予算案の作成、収支計画の作成【代理PO】
- プロダクトの要件策定【代理PO】
- 要件の明確化【代理PO】
- 開発の優先順位づけ【代理PO】
1番の「プロジェクトのミッション策定」は深く業務に関連する部分であり、その市場にとってどう有効的なものかビジョンを語ることが求められるため、「本来のPO」に担っていただかなければいけません。
しかし、2番以降の作業はPOのビジョンを理解し想いを共にした「代理PO」がいれば、代理POを中心として進めていけるものだといえます。
もちろん、人間が関わる限り「代理POが開発の優先順位づけをした結果、本来のPOと途中で考え方がズレてしまった」というような問題は発生し得るのですが、それは代理POを置いた時にどうしても発生してしまう副作用です。
アジャイル開発はそもそも改善を繰り返し行う開発手法なので、1スプリント毎(もしくは一定の期間毎)に本来のPOと代理POの間で「なぜその優先順位になったのか?」など思考のすり合わせを行うことで徐々に解決していくことが可能です。
アジャイル開発のご相談はNCDCヘ
NCDCは、新規サービス開発ご担当者などノンITの方がプロダクトオーナーを務めるプロジェクトをご支援した経験を豊富に有しており、必要に応じてNCDCのコンサルタントが「代理PO」としてお客様をサポートすることも可能です。
アジャイル開発に関してお悩みのある方はお気軽にご相談ください。