いまいまいです。 FinanSuのPMをddさんから受け継いで、リリースまで結びつけることができたので、それに際して、やって良かったことや、もっと改善できることをまとめました。
そもそも、なぜ自分がPMをやったのかについての経緯を話します。
技大祭が開催される頃、自分のNUTMEGに対するモチベーションはほぼありませんでした。 大まかにReactやNext、デザインの初歩を学び、今まで独学でやり通してきた自分にとって、これ以上NUTMEGにいなくても成長できるだろうと思ったからです。
自分はプログラミングを学ぶために技大祭に入りました。 誰かのためにサービスを作るというより、面白そうな技術を使って、面白いことをしたかったのです。 なので、これ以上NUTMEGにいなくても十分やりたいことができるだろうと思いました。
しかし、NUTMEGの創始者こと大場さんに、それを見透かされたのか、以下のようなことを言われました。
NUTMEGはプログラミングサークルではない
⇩
技術系団体ではない技大祭実行委員会の中で開発をする(=内製化)
組織の問題を見つけて、それを解決する(=DX)
内製化DXを学生のうちに体験できるのはNUTMEGだけで、とても貴重な経験
プログラミングの勉強なんて、独学でやってきた人なら、就職したってできる
でも内製化DXを学生のうちにできるのは今ここしかない
技術力は、世代を経るごとにどんどんレベルが上がっていくし、いずれ抜かされる
でも、学生のうちに内製化DXをして、解決思考を身につければ、この能力はなかなか抜かされない
これを受けて、自分が成長するためにやるべきことは、NUTMEGに最大限貢献できる動きをすることだと思いました。 それが、複数の局に関わるFinanSuのPMをやることでした。
by 百々s アドバイス
例えば、完成までに6ヶ月かかる場合は、実際のリリースまでは9ヶ月かかると想定するべきということです。バグとかバグとか仕様変更とか仕様追加とかあるからね
FinanSuは10月に受け継いだので、募金まで7ヶ月ほどあります。 この7ヶ月から逆算して、大体4~5ヶ月でできるタスク量を想定しなくてはなりません。 なので、受け継いだ当初は、以下のようにめっちゃスモールな目標を立ててました。
しかし、タスクを進めるにつれて、「あれこれできるんじゃね?」が重なり、結局全部達成しました。
また、スケジューリングはFigJamで管理してました。 多分概ねこの通りにできたのかなと思います。
ヒアリングで上がった問題を参考に、それぞれのタスクを切り分けで、どれが重いタスクで、どれが優先度の高いタスクかをわけ、それをもとにタスクを振っていきました。
上がった要件と、NUTMEG側の実装したい要件から、最低限何をすべきか、追加でやれることは何かに分類しました。
自分が引き継いだ当初、何年も前からあるissueやPRが40個とか残ってました。 これを残したままにすると、現環境との乖離が進み、結局やるのかやらないのかはっきりもせず、プロジェクトを進める上で負債となってしまいます。 百々さんやりゅうせいさんに聞き、今残すべきissueとPR以外をcloseして、今現在ではissueが16個、PRが2つになっています。
issueやPRのテンプレート作成し、各タスクについてどのような開発をするのかを明確にするようにしました。
また、commitメッセージやブランチ名のルールも設定し、誰がどのように開発したのかを明確にするようにしました。
commit: [prefix] content
例: [fix] 協賛活動のバグ修正
branch: {prefix}/{user}/{issueNo}-{content}
例: feature/imaimai/532-add-activity-page
issueは 5W1H を意識しましょう。全部は考えなくていいです。
また、Assigneesを指定して「誰が解決するのか」 Lablesを「指定してどのような問題なのか」も示した方が良いでしょう。
issueの一覧をGitHub Projectsによって、TODOリストのように管理することができます。 FinanSuのProjects 各進捗ごとによってボードを変え、タスクの大きさと優先度のプロパティも追加しました。
GitHub Actionsを使って、Gitへのアクションをトリガーとした便利機能を増やしました。
情報局MTやキックオフミーティングでは、チームビルディングをしてみんなで仲良くなろうという流れがありますが、あくまで他人の時間を奪っていることを忘れないようにしました。
最初のうちは
ようにしていましたが、互いのことがある程度わかって、話し合うことも特にない場合は、MTは作業会にし、Slack上で進捗管理をするようにしました。 また、期限中に終わらない場合は、すぐに巻き取れる環境を用意して、心理的安全性を保つようにしました。変に伸ばさず、「終わりません」と自ら早めに言える環境は大事だと思います。
自分がPMになった時、FinanSuのチームメンバーは以下のような編成でした。
めっちゃバランスよかったです。 そこに
が加わったので、結構盤石になった気がします。二人とも自走力が高いので、今はフルスタックになりつつあります。 良さげな人はバンバン声かけて行って良かったなと思います。
やベェFinanSu作らねぇと募金も協賛も終わる!! って思ってたんですが他局長も馬鹿ではないので、FinanSuに代わるパーフェクトスプレッドシートを作ってくれていました。 FinanSuが仮に終わってもクッションがあるので、心理的安全性高かったです。
もっというと、失敗した場合にどうするべきかまで考えるといいと思います。 それが動かなくてもいい方法を用意しておくとかね(スプシ・GoogleForm)
これ終わるんか?という不安や、FinanSuという大きいプロダクトを引っ張っていく責任が思った以上に大きく、PMを初めて数ヶ月は苦しかったです。 Seedsのどどさんとの1on1でボロ泣きしたり、NUTMEGの飲み会で「PM辞めたい!」って喚いたりしたこともありました。
対応策
対応策
対応策
私は、やって失敗した時の後悔に比べれば、やらずに後悔したほうがマシと思っている慎重派なのでこう言っているが、チャレンジできる環境があるならチャレンジしたほうが徳なので、臆さずに挑戦してほしい。
最善を尽くしてやって後悔しない道を進もう。
技術選定はテックリードやアーキテクトに趣が深いメンバーに任せよう! やるべきは以下の三つです。
PMの辛いところはクライアントとエンジニアの板挟みになることである。 辛い時は仲間に泣き喚いて発散しよう。
PMはメンタルとの戦いがでかいです。 大人の立派なPMでも、失踪した人を何人か見ました。 それぐらいクソでかい経験だと思いますし、それを失敗してもなんとかなる今こそチャレンジしてみてもいいと思います。