Googleプロジェクト管理：ウォーターフォールとアジャイル

# はじめに

わたしが [Google プロジェクト管理:プロフェッショナル認定証で得られた素晴らしい体験][google]を、要点をまとめ小さく分割して、わかりやすく簡潔に紹介していきます。

興味があれば、ぜひ ***"Google プロジェクト管理:プロフェッショナル認定証"*** を受講してみてください。

[google]: https://qiita.com/mapami/items/317ae776a2268fd54c8f

https://jp.coursera.org/professional-certificates/google-project-management

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/579e805c-6045-9c1c-543d-f9519b57d50c.png" width="800">

# ウォータフォール型開発

ウォーターフォールとは、70年代に生まれた方法論で、フェーズを順番に進めていくことを指します。

現在、ウォーターフォールには多くのスタイルがあり、それぞれのスタイルに固有のステップがある。しかし、共通しているのは、明確に定義された期待値、リソース、目標に直接関連する一連のステップを順番に踏んでいくことであり、それは今後も変わることはないだろう。

ウォーターフォール型プロジェクトのライフサイクルの各フェーズは、標準的なプロジェクトのライフサイクルの流れに沿っている。

- 開始
- 計画
- 実行（タスクの管理と完了を含む）
- 終了

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/23471d8b-7015-2f87-d587-62a200e5bc12.png" width="600">


#### どのような場合に、ウォーターフォールに向いているの？

- ***<font color="MediumVioletRed">プロジェクトのフェーズが明確に定義されている場合</font>***
- ***<font color="MediumVioletRed">次のフェーズを開始する前に完了しなければならないタスクがある場合</font>***
- ***<font color="MediumVioletRed">一度開始したプロジェクトの変更を実施するのに非常にコストがかかる場合</font>***

# アジャイル型開発

幸いなことに、変化と柔軟性のために完全に構築された他の方法論があります。その1つがアジャイルで、これも人気のあるプロジェクト管理手法です。

- ***<font color="MediumBlue"">素早く簡単に動ける</font>***
- ***<font color="MediumBlue">柔軟性、つまり、変化と適応をいとわない</font>***
- ***<font color="MediumBlue"">多くのタスクが同時に、あるいは様々な完成段階にあるため、反復的なアプローチとなることが多い</font>***

アジャイルプロジェクトのフェーズも、一般的には、プロジェクトのライフサイクルのステージに準じます。しかし、常に順番に行ったり、あるフェーズの終了を待って次のフェーズに入るのではなく、アジャイルプロジェクトのフェーズは重なり合い、タスクは反復して完了する。これをスクラムでは、スプリントと呼びます。

スプリントとは、通常1週間から4週間の短い時間の塊で、チームが協力して特定のタスクを完了することに集中することです。重要なのは、アジャイルは単なるステップやフェーズの積み重ねではなく、考え方であるということです。効果的で協力的なチームを作り、クライアントから定期的にフィードバックを得ることで、できるだけ早く最高の価値を提供し、変化に応じて調整できるようにすることが重要なのです。

#### どのような場合に、アジャイルに向いているの？

- ***<font color="MediumVioletRed">クライアントが何を求めているかは分かっているが、具体的なイメージがない場合</font>***
- ***<font color="MediumVioletRed">最終的な結果で見たい品質が決まっているが、それがどのようなものかはあまり気にしていない場合</font>***
- ***<font color="MediumVioletRed">高い不確実性とリスクのレベルが高い場合</font>***


アジャイルアプローチがうまく機能するプロジェクトの例としては、Webサイトを構築することが考えられます。あなたのチームは、スプリントでWebサイトのさまざまな部分を構築し、構築された各部分をクライアントに提供することになります。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/edf0ee57-8ff6-a03b-8cfb-4626c3e87c6f.png" width="600">

この方法では、ある部分、例えばメインのホームページが完成して一般に公開できる状態でウェブサイトを立ち上げることができ、他の部分、例えば会社のブログやオンライン予約の機能は、時間をかけて構築し続けることができるのです。

こうすることで、何が有効で何が有効でないかを早い段階でフィードバックし、途中で調整を行い、無駄な作業を減らすことができるのです。同じWebサイトの例でも、ウォーターフォール方式では、Webサイト全体を計画し、完成させてから立ち上げる必要があります。


# ウォータフォールとアジャイルの比較

|  | ウォータフォール | アジャイル |
|:-----------|:------------|:------------|
| プロジェクトマネージャの役割 | プロジェクトマネージャーは、タスクの優先順位を付けてチーム メンバーに割り当てることにより、積極的なリーダーとしての役割を果たします。        | プロダクトオーナー (またはスクラム マスター) は、主にファシリテーターとして機能し、チームが直面する障壁を取り除きます。チームは、自分の仕事を管理する責任をより多く共有します。 |
| スコープ | プロジェクトの成果物と計画は、開始と計画の初期段階で確立され、文書化されます。変更は、正式な変更要求プロセスを通過します。| 計画はより短いイテレーションで行われ、価値を迅速に提供することに重点が置かれます。 その後の反復は、フィードバックまたは予期しない問題に応じて調整されます。 |
| スケジュール  | プロジェクトの開始、計画、実行、および終了の各フェーズを通じて、ほぼ直線的なパスをたどる。 | 時間は、スプリント と呼ばれるフェーズに編成されます。 各スプリントには定義された期間があり、スプリントの開始時に計画された成果物のセットリストがあります。 |
| コスト | プロジェクトのライフサイクル全体を通じて、事前に慎重に見積もり、綿密に監視することで、コストを管理します。|コストとスケジュールは反復ごとに変更される可能性があります |
| 品質 | プロジェクトマネージャーは、プロジェクトの開始時に品質を測定するための計画を立て、基準を明確に定義します。| チームは、現場で製品をテストし、定期的に改善を実施することにより、継続的なステークホルダーの意見とユーザーのフィードバックを求めます。 |
| コミュニケーション |プロジェクトマネージャーは、マイルストーンやその他の重要な指標に向けた進捗状況をステークホルダーに継続的に伝え、プロジェクトが順調に進み、顧客の期待に応えられるようにします。 | チームは顧客中心であり、ユーザーとプロジェクト チームの間で一貫したコミュニケーションが行われています。|
| ステークホルダー | プロジェクトマネージャーは、ステークホルダーの関与を継続的に管理および監視して、プロジェクトが順調に進んでいることを確認します。| チームは、プロジェクトを通じてステークホルダーに成果物を頻繁に提供します。ステークホルダーのフィードバックに応じて、マイルストーンに向けて前進します。|