アジャイル&ウォーターフォール⑥ ~加点志向と減点志向~
はじめに
アジャイルの「マインドセット」は加点志向的であり、ウォーターフォールの「マインドセット」は減点志向的です。一方で、アジャイルの「プラクティス」は減点志向的であり、ウォーターフォールの「プラクティス」は加点志向的です。このように真逆になっているということがどういうことなのかをこれから説明します。
アジャイルvsウォーターフォール「マインドセット」の違い
アジャイルのマインドセットは加点志向的
アジャイルでは「変化を受け入れ、改善を積み重ねること」が重要視されます。「できたこと」を評価し、それを起点にさらに良くする という加点志向があります。失敗や未完成を前提とし、フィードバックをもとに前進します。例えば、「このスプリントで何を達成できたか?」「次に改善すべき点は何か?」といったポジティブな視点でプロジェクトを実行します。
ウォーターフォールの精神(mindset)は減点志向的
ウォーターフォールでは「計画通りに進めること」が最優先です。仕様通りに動くか、要件が満たされているかの「ギャップ」を減点方式でチェックします。設計段階で決めたことが変更されると「計画の失敗」と見なされがちです。例えば、「仕様通りに開発できたか?」「スケジュールの遅れはないか?」といったチェックリスト型の評価をするのがその例です。
アジャイルとウォーターフォールの「プラクティス」の違い
アジャイルのプラクティスは減点志向的
アジャイルのプラクティス(例: ユニットテスト、自動化テスト、コードレビュー、リファクタリング)は、「問題を見つけて取り除く」 ことにフォーカスしています。例えば、TDD(テスト駆動開発)では、最初にテストが失敗する(減点)ことを前提にし、それをパスさせることでコードを改善して行きます。スプリントレビューやレトロスペクティブも「何が悪かったか?」を見つけて改善するプロセスです。
つまり、「欠陥を洗い出し、減点要素を取り除く」ことで品質を高める という手法なのです。
ウォーターフォールのプラクティスは加点志向的
ウォーターフォールでは、設計・要件定義の段階で「完璧な仕様を作る」ことを目指します。各フェーズの成果物(ドキュメント、仕様書、設計書)が「できたかどうか」が重要で、未達成のものを埋めていく加点方式です。例えば、設計フェーズで「要件が完全に定義されているか?」と評価したり、テストフェーズでは「この仕様に対して十分なテストケースが作成されているか?」と評価したりします。つまり、「計画されたものを積み上げる」ことで完成度を上げる という手法なのです。
逆転が起こる理由
この逆転が発生するのは、「マインドセット」と「プラクティス」が対象とするものが異なるからです。
アジャイル | ウォーターフォール | |
---|---|---|
マインドセット |
加点志向 (変化を受け入れ、積み上げる) |
減点志向 (計画通りに進め、逸脱を排除する) |
プラクティス |
減点志向 (問題点を見つけて除去する) |
加点志向 (計画通りのものを積み上げる) |
アジャイルのマインドセットは「どこまで改善できたか」を重視するが、実践では「問題を発見し取り除く」ことで前進します。ウォーターフォールのマインドセットは「計画通りにできたか」を重視するが、実践では「計画を着実に積み上げる」ことで完成を目指します。したがって、「マインドセット」と「プラクティス」を切り分けて考えれば、この逆転は自然なものと言えます。
まとめ
以下の通り、この逆転は、評価の対象が「進捗」か「品質」かという違いによって生じているのです。
- アジャイルのマインドセットは加点志向的(常に前進することを重視)。
- アジャイルのプラクティスは減点志向的(問題を発見し取り除くことで品質を向上)。
- ウォーターフォールのマインドセットは減点志向的(計画からの逸脱を避けることを重視)。
- ウォーターフォールのプラクティスは加点志向的(計画通りのものを積み上げて完成度を上げる)。
Discussion