失敗しないプロジェクトマネージメントのコツ

ソフトウェアプロジェクトの炎上は今でも珍しくありませんが、ワタシの周りでは見かけることが減ってきました。 普段心掛けていることなど、ご参考までに紹介したいと思います。
世間の成功率
情報源を忘れてしまいましたが、以前に比べるとプロジェクトの成功率はわずかながら上がっているという記事を見た記憶があります。 特徴的なのは大規模プロジェクトの失敗が依然として多く、中小規模のプロジェクトの成功率は7割近くまで上がってきている、という内容だったと思います。 これはワタシの実感にも近いです。
- ツールやフレームワーク、開発手法が充実してきた
- 把握できる範囲の規模なら成功するようになってきた
- 規模が大きいほど見積もりの誤差が大きな問題になる
まとめるとこんな感じでしょうか。 結局「何を作るのか」の決めと「どう作る(進める)のか」の準備が足りないのが失敗の原因なんだと思います。 …原因は昔と同じじゃないか。。。
「何を作るのか」を改善する
「何を作るのか」の決めは一番重要です。 ここが崩れるとその先すべてに手戻りが発生してしまいます。 なので責任を取れる立場の顧客と、記録の残る形で合意を得ておかなければなりません。 合意さえあればちゃぶ台を返されてもリスケできます。
ITに詳しくない顧客にも理解できるように、求めている運用を一枚絵で説明できるとスムーズです。 一枚絵に表せないほど大きなプロジェクトだった場合はどうすればよいでしょうか? 悪いことは言わないので、一枚絵に表せる程度までサブシステムに分割しましょう。
この2つを満たす1枚絵はシステムの全体像です。当たり前と思うなかれ。1枚の中に双方が求めているゴールをシンプルに詰め込んでかつ、IT素人・玄人どちらも理解できる図を書き上げるのは結構大変です。
余談ですがたまに「まず画面を出せ」という上司(IT系)がいます。 半分正しくて半分間違っています。 100歩譲って「運用フローとデータ構造を固めたうえで、想定する画面イメージを用いて顧客と合意せよ」というメッセージだと受け止めましょう。
「どう作る(進める)のか」を改善する
過去にTwitterで話題になったグラフを紹介します(元ツイートは無くなってしまったのか、発見できませんでした)。 元ネタはイラストレータだったかライターだったか…とはいえ納期のある仕事に対する本質を突いた素晴らしい図だと思います。
この図に乗っかって、ソフトウェアプロジェクトの場合について描いてみました。
- 青の期間
- 「何を作るのか」の合意を得るための期間です。これを決めないうちに何かを作り始めてはいけません。また「どう作る(進める)のか」の準備期間でもあります。人海戦術にスムーズに入るための仕組みを整えておく必要があります。
- 緑の期間
- これはフレームワークや過去の資産を再利用することを意味します。同じようなアプリを同じように再発明するのは(趣味でなければ)無駄ですので、あるものを有効活用してショートカットします。
- 赤の期間
- 人海戦術で作り上げる期間は(準備が整っていれば)線形に成果が増えていきます。線の角度は準備の質とメンバー数で決まります。
- ただし遅れが出た場合の追加人員は慎重になる必要があります。レビューア不足がボトルネックになる可能性が高いためです。
プロジェクトが大きいほど人員が増えるため、誤差が深刻な遅れにつながります。 誰もが気付いていますが、プロジェクトの遅れは取り戻せません。 リスケ以外の方法では、誰かが病むか被害が大きくなるか、いずれにしても深い傷を負います。
組織が変わらないなら環境を変えよ
やり方さえ間違えなければプロジェクトは失敗しませんが、今までの(失敗する)やり方を変えさせてくれない組織もあります。 事例がないから認められないって、承認しないのはそっちじゃないか…と言いたくなります。
プロジェクトをスムーズに進めるために段取りは重要な期間ですし、これはマネージメントの範囲です。 組織の上層部にはなぜか「人海戦術が始まっていない=プロジェクトが立ち上がっていない」と感じる人が多いようで、このタイミングでのコスト増は頑として認められないことが多いです。
これは組織の意思決定の問題なので、あなたには変えられないのかもしれません。 ならば環境を変えてしまうのも手です。
ネガティブな理由での転職は嫌われますが、プロジェクトの進め方をもっと良くしたい!という志を持つ中堅エンジニアは、どこも喉から手が出るほど欲しがっています。 中上級エンジニアの供給不足はまだしばらく続きそうですし、思い切ってステップアップを考えても良いかもしれません。
- 謝辞
- 画像は Pexels 様より使わせていただきました。