半年間プロダクトオーナーやったので振り返る
2024年の4月から9月まで半年間、社内プロダクトのPO(プロダクトオーナー)を務めたので、
その時の経験を振り返っておこうと思います。
どんなプロダクトだったのか?
社内向け求人掲示板、通称ジョブボードが開発対象でした。
案件の開発期間・要件・使用技術などを記入しておき、社内のエンジニア・デザイナーに興味を持ってもらって、案件へのアサインまで繋げることを目的にしたプロダクトです。
今まで notion で運用していたのですが、色々な課題があり Web アプリケーションとして開発が始まりました。
タ○ンワークやd○daのような求人サイトを社内向けに作ると思ってもらえれば大体大丈夫です🙆♂️
着任当時の状況
ジョブボードプロジェクト開始からPO着任までのイベントを年表でまとめるとこんな感じです。
2023/04 ~ 2023/06:新卒研修用のプロジェクトとして開発がはじまる。
当時は開発メンバーでした2023/08:サマーインターンの開発課題コンテンツとして使用される
2023/09 ~ 2024/03:インターンのプルリクが開きっぱなしで開発ストップ
2024/03:今年もサマーインターンで使いたいので、なんとかできないかと声がかかる
こういった経緯があり、自分が着任した当時のジョブボードは以下のような状況でした。
現状を把握している人がいない
作業者やレビュワーがいない(そもそも作業者が捕まらなくて、開発がストップしていた)
「社内の課題を解決するプロダクト」と「インターン用のコンテンツ」としての2つの側面があり、存在価値が曖昧
・・・・2024年のサマーインターンに間に合わせることができるのか!?
やったこと
準備の4月
直面した課題は「今どういう状況なのか、さっぱり分からん」でした。
開きっぱなしになっているプルリクのマージには何が必要なのか、サマーインターンにまでに本当に間に合うのか、開発作業はどのように進めるのか・・何も分かりません。
この課題を解決するために・・・「地道に情報を集めました」
空いているプルリクを数えたり、ドキュメントとプルリクを対応づけたり、サマーインターンの開催時期から開発期間を逆算したり・・・・うーん普通ですね。でもこれが大事です。
焦らずに地道に情報を集めたお陰で、ジョブボードの現状を知ることができ、必要なタスクを洗い出すことができました。
タスク整理の結果、
作業者がいない
プロジェクトをマネジメントする人がいない
という2点の大きい課題が見つかりました。
作業者に関しては、4月にフレッシュでヤングな新卒メンバーが入ってきてくれたので、新卒向けに説明会を行い、そこで興味を持ってくれた数名に協力してもらうことができました。人集めは大変なので本当にありがたかった🙏
プロジェクトマネジメントに関しても、スクラムマスターとして過去にそれっぽい役割は担っていったので、自分がPM的な役回りをすることで解消できました。
さて、これで作業者と作業計画が整ったので、あとはやるだけ!
立ち上げと作業の5月〜6月
ここで感じた課題は・・実を言うとあんまりありません。
というのも、参加してくれたメンバーが優秀だったからです(すごい)。
必要な技術は自走して学んでいたし(しかもRust)、自発的にメンバー同士で意見交換を行なっていたし、質問の時も粒度とタイミングが完璧で度肝抜かれました。
開始前はソースコードの説明会が必要かな・・なんて思ってましたが、1週間で技術的に教えられることがなくなってました。こわい。
メンバーが自走できた要因としてドキュメントが量が多かったこともあると考えています。
このジョブボードプロジェクトはドキュメントを充実させることも当時はコンセプトの一つでした。豊富なドキュメントがあることで多くの情報を任意のタイミングでインプットができ、それがメンバーの自走を加速させていたと考えています。開発メンバーとして参画していた当時、せっせとドキュメント更新してた甲斐があった・・・😭
この時期にPO(PM)として行ったことは、以下の通りです。
朝会での進捗管理(notionベースで毎朝15分)
ドキュメント・タスクの整理(案件参画のタイミングで開発メンバーの入れ替わりが発生するため、頻繁に更新)
仕様の決定(AかB,どっちが良いか決断する)
朝会では過去に作ったデイリースクラムのフォーマットがあったお陰でスムーズに進捗確認とブロッカーの確認が行えましたし、元々タスクとドキュメントを notionで管理していたので特別に苦労は感じませんでした。(タスク管理はこのテンプレートが使いやすかった)
仕様の決定に関しては「想定されるユーザーは誰なのか?」をもう一度問い直し、「仕事を探しているユーザー」と「人を集めたいユーザー」に分けられたお陰で、決めやすくなりました。
メンバーが優秀、そしてPO(PM)業務も特に支障なく進んだお陰で、オープンだったプルリクのマージ作業も進み、6月の段階でサマーインターンは開催可能な形になっていました。
しかし、ここである出来事が・・・・
α版リリースするぞ7月〜8月
「ユーザーへインタビューをしてもらい、その結果から自分たちで開発課題を考える」というイベントをインターン生へ提供することとなり、それにはユーザーに実際に使ってもらうことが必要、そして使ってもらうにはジョブボードのリリースが必要だ!・・という話になりました。
元々計画されていないイベントでしたが、オープンだったプルリクはマージされてますし、「本番リリースじゃなくてα版リリースならなんとかなる!余裕でしょ!」と考えていました。
ちょっと想定が甘かった・・
リリース直後に以下の出来事が起こりました。
ユーザーからのバグ報告がどしどし来る
バグの報告場所が統一されておらず、複数のチャンネルで報告されて混乱
リリース後のバグ対応用の人員を明確に確保しておらず、メンバーに慌ててアサイン
上記のような混乱を前もって予測できておらず、プロジェクト内のストレス指数が高まった
懺悔をしておくと、プロダクトのリリースを行なった経験が今まで無かったので慣れてなかったというのがあります。サービスが動かなくなるといった致命的なバグは発生しなかったので、大きな問題にはなりませんでしたが、今後リリースを行う際には人員を補強しておくことが大切だと学びました。
急な依頼にも関わらず、バグ修正をしてくれたメンバーには感謝です🙏
感じた課題として、
どのバグを優先して解決するか分からない
どのバグが修正され、リリースされたのか分かりづらい
ということがあったので、明示的に優先度をつけ、バグの進捗を朝会で確認
する事により上記の課題を解決しました。
始めは混乱もありましたが、α版をリリースしてユーザーに使用してもらうという目標は達成できたので、まぁ・・・・及第点でしょう!
サマーインターン本番8月〜9月
さぁ待ちに待ったサマーインターン本番!8月終わりから9月初めまでの2週間で開催されました。
元々「サマーインターンが開催できるように、色々なんとかする」ことが今回のスコープでしたが、ついでだし、適任なのでサマーインターン本番でもPOとして色々やりました。
中でも苦労したのが、以下です。
ジョブボードは「社内の課題を解決するプロダクト」と「インターン用のコンテンツ」としての2つの側面があり、存在価値が曖昧
↑の背景があるが、あくまでも期間中は「社内の課題を解決するプロダクト」のPOとして振る舞い、インターン生には半年間開発がストップしてて、今後運用する予定があるのか分からないプロダクトであることを感づかせないように頑張る
開発当時はユーザーへの価値提供を目指し開発していましたが、プロジェクトが長期間休止し、休止している間に社内の情勢も変わり、当初の想定していたユーザーストーリーでは価値提供が困難になっていました。
というか、予算・開発スピード・notion と比較したときの優位性・機能の開発難易度・開発リソース確保の難易度を考えると、今後プロジェクトを継続してもユーザーへの価値提供はかなり厳しいことがインターン開始前に分かっていたので、インターン生への説明会でどのようなスタンスでジョブボードについて説明するかは結構悩みました。
最終的には、「期間終了後もユーザーへの価値提供を目指して開発を頑張ります!」の体で、目指しているプロダクト像や今後の計画について説明することにしました。騙しているようで少し心苦しかったですが、内情を話しても開発へのモチベーション下がって体験が悪くなる可能性が高いこと考えると、仕方なかったかなと思っています。
色々不安はありましたが、サマーインターンは盛況のうちに終わりました🎉
多少の計画変更はあったものの大きなトラブルはなく、アンケートでもインターン生からの評判も良かったそうです。
「ユーザーインタビューの結果から、インターン生たち自身で開発課題を考えてもらう」という試みが特に評判が良く、自分もPOとして開発課題に対してライブレビューをしたのですが、とても楽しかったです。ほんの1週間しか時間が無かったにも関わらず、インターン生が考えた開発課題にはユーザー・プロダクトに対する深い洞察が感じられました。
というか分析されすぎて、上で書いたような実情もなんとなく感じ取られてた😅
それなら、最初から「かなり厳しい状況だけど、ここから勝ち筋を一緒に考えてほしい!」した方が良い体験になったかもしれないなぁと今は思っています。何より、絶対こっちの方が面白いし。
インターンも終わり、今回のPO業務も終了・・と思いきや、まだやることがあります。
後始末です。
開発凍結へ
インターン終了後、ジョブボードプロジェクトに関わる数名を呼んで、今後のジョブボードの扱いに関する会議を行いました。去年のように、「プルリクがオープンなまま半年放置」のような事態を起こさないためです。
会議の中で、
ジョブボードには研修・育成と言う面で一定の価値はあるが、社内のアサイン課題解決という面で現状価値は無い
今後、開発を進めるにしてもドラスティックな方針転換がないと価値提供は難しいだろう
よってジョブボードプロジェクトは凍結する
という結論になりました。この半年間POを務めた経験は非常に貴重で、通常の案件業務では得られなかったものだったと考えています。ただ、ユーザーへの価値提供ができておらず、今後も価値提供への見込みが低いため、プロジェクトメンバーが案件に入ってお金を稼ぐ時間を削ってまでジョブボード開発を継続する意義は薄いといえます。
自分自身、サマーインターン開始前に「開発はやめた方が良いな」となんとなく考えていたので、この結論には納得でした。ただ、「じゃあ開発凍結ね、ハイ終わり」というのは面白くないので、会議の後半で未来の話をする時間を取りました。
その結果、
別軸の問題として、「サマーインターンに使うコンテンツどうするか問題」・「社内のアサイン・タレントマネジメント課題どうするか問題」は依然として存在する
社内のアサイン・タレントマネジメント課題に対するタスクフォースを作り、そこで見繕った課題をサマーインターンのコンテンツとして使用するのはどうか?
という話になりました。アサイン・タレントマネジメント課題は大なり小なり発生し続けるため、インターンの課題には困らなくなります。また、社内でもこれらの課題に対するつらみの声は大きいため、そこに対して包括的なアプローチができます。
会議が始まる前は、「凍結します」で後ろ向きな雰囲気で話が終わる予感がしていました。それが嫌だったので、未来の話をする時間をとったのですが、ここまで希望を感じる明るい話に落ち着いたのは予想外でした。会議内で未来の話をするセクションを設けて良かったし、この提案をしてくれたメンバーにも感謝です。
このタスクフォースは本格的に動き出していませんが、どういう展開になるのか個人的にワクワクしています。また記事にするかもしれません。
学び
最後に、この半年を経て学んだことをまとめておこうと思います。
本当は色々書きたいですが、長くなってまとまりがなくなりそうなので箇条書きで。
スケジュールはあった方が良い
最終締め切り(今回で言うとサマーインターン開催日)から逆算すると計画しやすい
最初はざっくり書いておいて、開発中に実測値を反映して確度を上げられると良い
マイルストーンを切って段階的に目標を設定すると、さらに分かりやすい。noiton のタイムラインビューが使いやすかった
プロダクトは早めにユーザーに触ってもらった方が良い
ユーザーが求める理想像とプロダクトの現在地を差分を知ることができる
実際に触ってもらって反響があると、開発のモチベーションにもなる
良いフィードバックがもらえれば、開発継続の根拠になる
ユーザーへの解像度を高めると自然とタスクの優先度はつけられる
ユーザーが感じている課題の大きさと、課題を解決する機能の開発難易度が分かると、優先度は付けやすい