スケジュールは、ソフトウェア開発プロジェクトを計画し、実行するための時間枠とタイムラインを指します。スケジュールによって、プロジェクトがどのように進行し、いつ完成するかを管理します。
ウォータフォールにおいて、スケジュールとは、PDCAサイクルを実行するための、原則、変更の許されない計画(PLAN)をつくることです。スケジュールを構成するための要素を示します。
・タスク
スケジュールの最初のステップは、プロジェクトに必要なタスクや活動を明確に定義することです。
要件定義、設計、コーディング、テスト、デバッグ、ドキュメンテーションなど、各工程に関連するタスクが含まれます。
タスクを洗い出すために、WBS(Work Breakdown Structure)が使われます。作業量の大きなタスクをより作業量の小さいタスクへと細分化し、何をどのように実施するかが実行できる粒度のタスクまで見える化します。
・担当の割り当て
タスクを実行できる担当者を割り当てます。必要なスキルがあるかどうかを判断し、適切な人員を割り当てます。
・タスクの依存関係
タスク間の依存関係を理解し、どのタスクが他のタスクの完了を待たなければならないかを決定することが重要です。依存関係を考慮することで、プロジェクトの進行を最適化し、適切な順序でタスクを実行できます。
・タイムラインの作成
タスクとリソースの情報をもとに、プロジェクトのタイムラインを作成します。これには、各タスクの開始日と終了日、各マイルストーンの設定、重要なスケジュールの日付などが含まれます。
ガントチャートは、各タスクの実施期間をリスト形式で時間軸に沿って表示します。現時点の各タスクの進捗状況を結んで、ジグザクの雷線をオーバレイで表示します。
プロジェクトに必要な最も重要なリソースは、時間です。スケジュールは、時間をどのように使うのかを計画するものであり、計画を構成するタスクに人員を当てはめることで、実行可能なものにすることができます。人員の不足し、適切な割り当てが行われない場合、遅延が発生することになります。
アジャイルであれば、PDCAサイクルとは関係なく、
決められた期間で、実施するスプリントの回数を決め、実際のタスクはスプリントの中で、フレキシブルに決められることになります。
■ まとめ
「ウォータフォールでのスケジュールは、恐怖に怯えながら長い時間をかけてつくるものだ。一方、アジャイルでは、秒で決まる」
ウォータフォールは、エンジニアリング=標準化に非常によく適合し、スケジュールは、事前に決めた作業を、特定のピッチでこなすための踏み絵として機能します。
アジャイルは、タスクを事前に決めないことで、考えながら作業を作り出すため、クリエイティブに仕事を進めることができます。
決められたことを粛々とこなすことが得意な人もいます。しかし、多くの人は、クリエイティブな仕事をしたいと考えるでしょう。ただし、それを実行する人にも、スキルとクリエイティビティが求められます。