マネジメントをしていると、プロジェクトが長引いてしまってなかなか終了しない、想定よりも機能が増えてしまったといったことに遭遇したことはないでしょうか?
最近、マネジメントに関わることが増えてきたためかマネジメントについて考えることが多くなってきました。私が実際に関わってきたプロジェクトにも、実際に半年も長引いていたプロジェクトなどもありました。
大学卒業後に会社を立ち上げた経験があったため、その時の経験を生かしてプロジェクトを3ヶ月程度で終わらせることができたのですが、やはりたくさんのマネジメント本を読みました。その時、効果があったものがいくつかあったので紹介したいと思います。
マネジメントで何が問題になるのか?
マネジメントをしていると、どういうことが起こりやすいのでしょうか。
- 新しい仕様が増える
- タスクに見落としがあった
- 思ったより人が足りない
- 予算も足りない
- リリースに間に合わない
といった理由から、当初に想定していたよりも遥かにやることが増えるといった起こります。調査・設計・計画をしっかりと行なっていれば、ある程度回避できたことです。
ここで問題になるのは、以下のようなことです。
- 調査・計画・設計が甘い
- 想定していないことが発生しても対応できない
- 人員増加・期限延期・残業などの力技で解決する
- 終盤になってから対処し始める
特に、よくありがちなのが1番目と3番目なのですが「アジャイルだから最初はしっかり設計しなくても大丈夫」「時間が足りないから延期しよう」というのを結構目の当たりにしました。大抵、このようなプロジェクトは上記のような問題が発生しています。
これらに対して、どういった対処をすべきなのか挙げてみます。
不確実性に対応できるようにする
プロジェクト中もシステム運用中も、常に想定外のことが起こり得ます。むしろ、必ず何か起きます。不確実性に対処するということは、「必ず何かが起こる」「何かが起こっても冷静に対処する」という心構えと次に説明する対処法を用意しておくことです。
事前に対処法を徹底する
システムがダウンしたり、クリティカルなバグが発生したり、人員が足りなくて開発が間に合わないと判明することはよくあります。これらは、事前に多くの事態への対処法を準備しておくことで解消できます。システムを2重化する、ロジックテストを徹底する、人手を確保できる手段を用意しておく、開発のスコープをできるだけ小さくしておくといったことが挙げられます。
残業・期限延期は徹底的に避ける
残業・期限延期をすることで、プロジェクトがカオスになるといったことが多くのプロジェクトで起こっています。この問題が発生するのは、リソースが足りないからというのが多くの原因です。しかし、断言してしまうとリソースが足りないという問題は解決しません。重要なのは、限られたリソース内でどうやって最大のアウトプットをするかです。残業・期限延期しないことを徹底的に意識することで、リソースが限られていることを意識することができます。その上で、どうやってアウトプットするか考えることが重要です。
生産性を上げる
限られたリソース内で効果的なアウトプットする方法がもう1つあります。生産性を上げることです。これに関しては次の記事に書いてあるので、ぜひ読んでみてください。
まとめ
プロジェクトを運用する上で発生しうる問題は沢山あります。僕が今回取り上げたのは一部ですが、他にもまだまだ沢山あります。
- 調査・計画・設計が甘い
- 想定していないことが発生しても対応できない
- 人員増加・期限延期・残業などの力技で解決する
- 終盤になってから対処し始める
こういった問題に対して、有効なアプローチを4つ紹介しました。これらは、僕がマネジメントに関わった時に意識して効果があったものです。
- 不確実性に対応できるようにする
- 事前に対処法を徹底する
- 残業・期限延期は徹底的に避ける
- 生産性を上げる
この辺りを徹底することで、スピード感を持ったプロジェクト進行ができると思います。僕が意識しているマネジメントに関して、バイブルになったものがあります。
橋本善久さんのゲーム開発 プロジェクトマネジメント講座 - SQUARE ENIXがとても参考になります。ぜひ、目を通してみてください。とてもわかりやすいです。
今回書いた記事の他にも、役に立つ情報をSNSで配信しています。