節約プログラマー雑記

はじめてのプロジェクトマネジメント(スケジュール作成・管理)

SIerの会社に入ると、はじめはプログラミングがメインですが、2、3年経つと段々とプロジェクトをマネジメントする立場へと変わってくるかと思います。ですが、一言でプロジェクトマネジメントと言っても、品質管理、コスト管理、スコープ管理などやることが非常に多岐にわたっています。

今回は、その中でもまず始めに行うであろうスケジュール作成・管理について、書いていきたいと思います。

スケジュール作成

まずはじめにスケジュール作成に取り掛かることになりますが、「作業の洗い出し」、「工数の見積もり」、「作業順序の確認」、「人員の割り当て」といった流れで進めていくことになります。

作業の洗い出しでは、「成果物」と「付帯作業」の観点から洗い出すことになると思いますが、私の経験では、主な作業は以下のような感じです。このとき、成果物に関しては漏れることはまず無いのですが、成果物を作るための準備作業や、定期的な管理作業などの「付帯作業」が漏れやすいので注意が必要です。

工程 成果物 付帯作業
要件定義
  • システム化の目的・背景・狙い
  • 要望一覧・対応方針
  • 業務フロー図
  • 機能情報関連図
  • 非機能要件(性能)
  • 非機能要件(セキュリティ方針)
  • 画面一覧
  • 帳票一覧
  • バッチ一覧
  • 顧客打ち合わせ
  • レビュー作業
  • 次工程見積もり
基本設計
  • 画面設計書
  • バッチ設計書
  • 帳票設計書
  • 外部IF仕様書
  • DB設計書
  • ファイル設計書
  • 顧客打ち合わせ
  • レビュー作業
  • 技術検証
  • コーディング規約
  • 次工程見積もり
詳細設計
  • 詳細設計書
  • 単体テスト仕様書
  • メンバー教育(環境説明・技術説明)
  • 週報資料作成
  • グループ内報告
  • レビュー作業
製造
単体テスト
  • ソース
  • 単体テスト報告書
  • メンバー教育(環境説明・技術説明)
  • 開発環境手配・構築
  • 週報資料作成
  • グループ内報告
  • レビュー作業
結合テスト
  • 内部結合テスト仕様書・報告書
  • 外部結合テスト仕様書・報告書
  • 性能テスト仕様書・報告書
  • 移行テスト仕様書・報告書
  • 週報資料作成
  • グループ内報告
  • レビュー作業
総合テスト
  • 運用テスト(顧客)
  • 移行リハーサル
  • リリース手順書
  • 稼動判定資料
  • 週報資料作成
  • グループ内報告
  • レビュー作業

作業の洗い出しが終わったら、次は個々の作業に対して、どれくらいの時間がかかるかを見積もっていきます。この見積もりが結構難しいですが、経験がある作業であれば「経験則からの見積」、全く新しい作業であれば機能の難易度、規模、生産性などに重みをつけた「係数見積」などで見積もっていきます。

見積もりが完了したら、今度は、作業の順序関係に気をつけつつ、プロジェクトで定められたQCDの下、人員の割り当てとスケジュールへの割り当てを行ってWBSを作っていきます。このとき、私が注意しているポイントは次のようになります。

ポイント
  • 予定納期に間に合っているか
  • 作業の多重度は、チームメンバーの人数に収まっているか
  • 一日あたりのメンバーの作業量が無理な量になっていないか

1点目については、当たり前ですが、最後の作業がその工程の予定納期に間に合ってることです。コストが予定内だったとしても、納期が予定を過ぎていたら契約違反になってしまいますからね。

2、3点目については、スケジュールに無理が無いかの確認ですね。作業はメンバーの人数分にしか、同時に進めていくことができないため、一日に2つ以上のタスクが割り当たっていないか、複数割りあたっていたとしても一日以内に終わる内容かを確認することで、立てたスケジュールに無理がないかの確認をするようにしています。

ここでスケジュールに無理なことがわかったら、コストと相談しながら、「人数を増やす」、「タスクを削る」、「残業する」などをして、計画のQCDに収まるスケジュールに調整していきます。(正直、実際のプロジェクトだと力技を覚悟することもありますが、、、)

一通りの作業の割り当て・スケジュール構築ができたら、下のような形でガントチャートをもったWBSが作成できているかと思います。

api-gateway001.png

スケジュール管理ツール

WBSの作成が完了したら、後はそれをツールで管理しながら、作業を進めていくことになります。世の中には色々なWBSツールがありますので、管理しやすいものを選ぶのが良いですが、「スケジュール作成」で触れたようなガントチャート機能があって、進捗やタスクの割り当て・順序性が視覚的にわかるものがお勧めです

個人的にお勧めするとしたら次の2つでしょうか。

スケジュール管理ツール

Redmineは、システムの導入作業が必要になるのですが、Webで管理ができるようになり、複数人でWBSのメンテナンスをできるようになるのが良いですね。私の会社では、Redmineをカスタマイズしたものを使っているのですが、ある程度大きなプロジェクトになってくると、上記のツールで管理をしています。

逆に、4人ぐらいまでの小規模なプロジェクトなら、Excelを使って管理することも良くあります。Redmineだと、準備や管理作業の手間のほうが大きいこともありますので、上記のリンク先のようなExcelなどを使って、そちらで管理したりもします。 規模に応じて、自分の使いやすいツールを用意しておけると良いですね。

ツールを決め、WBSが作成できたら、後は運用ルールを決めて、プロジェクトを進めていくだけです。日々、メンバーに進捗状況をメンテしてもらいながら、遅れは発生していないか、遅れが発生していたら、どのように手を打つかを考えながらプロジェクトを進めていきましょう!

最後に(お勧め書籍)

今回、はじめてプロジェクトで、スケジュール作成・管理する方に向けて、記事を書いてみました。はじめて、メンバーを管理するときは、工数の見積もりをどうやれば良いか、また、メンバーのスケジュールをどう立てれば良いかわからず、苦労したのを良く覚えています。

また、スケジュール管理や見積もりに関しては、本で勉強になることも多いので、何冊か本を読むのもお勧めです。個人的なお勧めは次の2冊になります。

プロジェクトは計画段階で成否がほぼ決まると言っても過言ではないので、この記事が新しくプロジェクト管理を始められる方の参考になればと思います。