なぜアジャイル開発ではステップ数を数えないのか

さんざんウォータフォール開発とステップ数について記載してきましたが、実はステップ数による評価はアジャイル開発でも同様に利用する事が出来ます。しかしアジャイル開発でステップ数による評価を行うようなことはほとんどありません。それはいったい何故でしょうか。ウォータフォール開発とアジャイル開発には開発を行う上での考え方や問題を解決するためのアプローチに根本的な違いがあるからです。

品質を重視するウォータフォールとスピードを重視するアジャイル


ウォーターフォール開発ではスピードよりも品質を重視します。バグを含む品質の悪いアプリケーションをリリースすることはできません。そのためアプリケーションがリリースできる品質を担保できているかどうかを確実に確認するために評価を実施する必要があります。その評価をするために必要なものがステップ数でありテストケース密度といった指標になります。


アジャイル開発では品質よりもスピードを重視します。ペアプログラミングユニットテストで必要十分な品質は確保し、ある程度バグを含んだアプリケーションであっても素早くリリースしてユーザに使用してもらう事を優先します。滅多に発生しないようなバグを時間をかけて発見するよりもユーザがアプリケーションを使う上での使い勝手の改善を行う方が価値があると考えているからです。障害が発生してもそのスピード感を生かしてすばやく改修します。品質の評価をしているような時間があるのであればその時間をアプリケーションを改善する時間にあてるという考えのためステップ数を使用しないのです。

有識者が少ないウォータフォールと有識者しかいないアジャイル


ウォータフォール開発では一般的にスペシャルな開発者は少なくプロジェクトの中にはスキルの低いプログラマも存在する事を前提とした開発を行います。そのためプログラマのスキルによって出来上がるプログラムの品質に差異があることが当たり前で綿密にレビューを行う事で品質を平坦化する必要がありますし、指標を使った品質評価で問題のあるプログラムを特定する必要があります。


アジャイル開発ではそもそもアプリケーション開発を行うプログラマはスペシャリストの技術者でなくてはならないという考え方を前提とした開発を行います。プロジェクトは少数精鋭で構成し、人数が極小に抑えられているためプログラマには出来るだけ無駄な事はやらせません。スペシャリストしか存在しないため出来上がるプログラムは品質評価しなくとも十分高くなるという考え方です。


ウォータフォール開発とアジャイル開発ではアプリケーションの品質を確保するという問題に対する解決のアプローチが全く違います。ウォータフォール開発はアプリケーションの検証という形で品質を確保しようとし、アジャイル開発ではヒューマンスキルによって品質を確保しようとします。そのためアジャイル開発ではステップ数が必要ないのです。


Next >> テスト密度などの指標まとめ


目次に戻る