まず初めに
この記事はまだまだ何も知らないただのペーペーである筆者が自分の考えていたことを後から見直せるように、考えていることを言語化して整理するために書いているものです。なにか勉強になる記事を求めている方は別の記事を読むことを推奨します。
前提
Connect開発プロジェクトは僕がPMをしていたアプリ開発プロジェクトです。僕はPMとしてアプリのコンセプト、そしてどうユーザにリーチして使ってもらうか考える事、計画どおりに開発を進める事などに責任をもって行いました。また、この開発プロジェクトにおける一番の目的はアプリを開発し公開してユーザに使ってもらうという一通りのプロセスを行いアプリ開発を勉強するという事でした。そのため、お金の動きは一切発生しないプロジェクトでした。
マネジメント的視点で学んだこと
今回のプロジェクトにおいて、マネジメントをする中で1番自分に求められた能力は適切にタスクを振り分けて、スケジュールを完遂することでした。それを実現するために必要な3つの事が「やることの明確化」、「責任を渡す」、「期限を決める」でした。
またやることの明確化では、どれくらいの粒度でタスクを渡すかが非常に重要でした。粒度を極限まで小さくして、誰がやっても同じになるようにしてから渡してしまうと、その人の見える範囲が狭くなってしまします。また、粒度が大きすぎても適切にやりたいことが伝わらないこともあります。よって、開発メンバーに見てもらう範囲をタスクの粒度を通して適切に調整することはマネジメントとして、とても大きな意味を持つと学びました。
思い切って大きな単位でタスクを振った話
ある時、一緒に開発してくれている人に、管理者側の機能の設計から実装まで大きく任せてみました。これの理由は、正直自分のキャパ的に余裕がなくなっていたからでした。しかし、結果的に上述の事を学べたためこれは成功でした。実際、その人も見える範囲と責任を大きく持ったことで、自分で調べて自分で課題を考えて実行することをしてくれていました。本来これが人と共にやることの大きな意義であり、この経験はその後のマネジメントにおいて大きな糧となっています。
PMよりもやりたいことがある
元も子もないことですが、今回のプロジェクトを通して自分の本当にしたいことはPMの仕事ではないと感じました。PMとしての仕事は、最終的なプロジェクトの成功に対して責任を持つことです。そのため、アプリをどう宣伝するか、ポスターの作成依頼、ポスターを掲載させてもらう大学との調整、プロジェクトメンバーのモチベーション管理など、開発ではないところの仕事が非常に多く、PMをしているうちに自分が本当にやりたいことはこれではなく、もっと技術に特化してバリバリ開発することにあると気づきました。もちろん、自分の見る視点を絞ってPM的な視点を完全に捨てるのは間違っていますが、一番トップの立場は違うなと感じたのです。
お金が動かないことによる限界
今回の開発プロジェクトはアプリ自体収益化しておらず、開発メンバーに対しても開発経験が出来るということをメリットとしていたので、お金は発生していませんでした。しかし、実際開発をしようとするとお金が発生していないわけで責任も発生しないので、メンバーのコミット量はメンバーのモチベーションに依存することになります。もちろん、こちらから話したりしている中で実装するアプリに対して興味を持ってもらってモチベーションを高めることなど工夫したりもしましたが、これは根本的な解決でなく効果は一時的であったり、コストのかかるものでした。結果としてはメンバーの入れ替えなどあったりして、なんとかスケジュールに合わせて公開するとこまでたどり着くことができました。そのため、実際にアプリ開発をして公開をすることで、勉強をするというプロジェクトの一番の目的は達成でき、プロジェクトも一区切りとなりました。そんな時、別のアプリ開発プロジェクトで技術リーダ的なポジションで参加してくれないかと誘ってもらいました。そちらは、アプリを収益化して開発者で利益分配をすることも目的の一つでしたので、是非参加させて欲しいという事でその誘いを受けることにしました。
まとめ
Connect開発プロジェクトはPMなんてやってましたが僕自身初めてのアプリ開発であり、非常に多くの学びがありました。プロジェクトの第一目標自体、勉強に置いていたので成功として捉えることが出来ると思います。しかし、さらに次のステップに進むためにも、上述のお金の限界などもあったので参加することになったプロジェクトで技術に特化しアプリの質を向上させることで、収益化に対して取り組んでいきたいです。