進捗管理ってどうしたらいいんだろうか

数年前から、PJリーダーとして仕事をすることが多くなり、「進捗管理」で悩むことが多かったのですが、以下の記事を読んで、少し光明が見えた気がしたので、忘れないように書いておこうと思います。


SEの残業しない仕事術 : モニタリング&コントロール(1)
SEの残業しない仕事術 : モニタリング&コントロール(2)
SEの残業しない仕事術 : モニタリング&コントロール(3)

基本的な考え方

基本的な考え方としては、CMMIがベースになっています。CMMIには「進捗管理」という項目はなく、進捗管理に相当するものとして、「Project Monitoring and Control(PMC)」という定義があるようです。

  • ちゃんと状況を見て(=モニタリング)
  • 状況に応じて対処しなさい(=コントロール

定期的に、メンバーの進捗を確認するのではなく、リアルタイムに状況を把握し、問題が発生した時点で対策を打てるように心掛けることが大事ということだと感じました。

モニタリング

状況を把握することが大事というのは、誰もが分かっていることだと思います。では何を把握すればいいのでしょう?上記の記事では、以下の項目が挙げられています。これらの項目をWBSに追加した上で日々集計し、その状況を観察し続けます。

  • サイズの初期見積
  • サイズの現在見積
  • 工数の初期見積
  • 工数の現在見積
  • 経過時間
  • 残り時間

※この項目は、有名な「Joel on Software」を参考にしたそうです。

Joel on Software

コントロール

リアルタイムに状況を把握(観察)し続けるだけでは意味がありません。そのPJがスケジュール的にヤバイかどうかをどう判断すればいいでしょうか?その判断ポイントとなるのが、「残工数 = 残り時間の合計」と「残稼動時間 =(納期までの残り日数)×(1日の稼動時間)」です。


工数/残稼動時間


このように、この2つの値を比較することにより、「自分たちに残された時間(残稼動時間)に対して、やらなければならない残タスクのボリューム(残工数)が溢れていないか」をチェックすることができるようになります。


これは、普段自分たちが行っている進捗管理とはかなり観点が異なると思いました。普段は、「何が終わったか?」という報告をさせることが多いですが、よく考えれば、「何が残っているか?」「エンドまでにそのタスクをやり切れるのか」という視点に切り替える必要がありますね。

まとめ

もちろん、単純に上記の比率だけでは判断はできないかもしれません。各タスクには因果関係があるので、PJ全体の工数計算上は辻褄が合っていても、ボトルネックのタスクに絡んだものが多いと、結局納期に間に合わないということが考えられるからです。


ですが、重要なことは、リーダーがそのPJに対して明確な判断基準を持つ必要があり、そのために必要な数字を把握するために、日々観察を続けなければならないということだと思いました。


最後に、


以下の引用にもある通り、プレイヤー⇒リーダーになる段階での育成について、もっと組織的な取り組みが必要だと思いました。リーダー研修に参加させるだけでは、身につかないでしょう。OJT的な取り組みを取り入れる方向がいいのかもしれません。

ほとんどの人は、進捗管理の仕方について、トレーニングをうけないまま、リーダーとなっていきます。だいたい、きちんと進捗管理された覚えもない人も、多いのです。わからないのも当然です。

SEの残業しない仕事術 : モニタリング&コントロール(1)