無料ブログはココログ

« [#iPhone] au版iPhone5にMNPしてau携帯へのメールが文字化け | トップページ | [#Agile] アジャイル開発は混乱を避ける »

[#Agile] アジャイル開発はフロントローディング

プロセス改善で用いられる「フロントローディング」という言葉をご存知でしょうか?@ITの情報マネジメント用語事典にこう書かれています。

初期工程(フロント)に重点を置いて集中的に労力・資源を投入して後工程で発生しそうな負荷(仕様変更など)を前倒することで、品質向上や納期短縮を図る活動をいう。

要は開発が進んでから問題が発覚すると大変なので、問題の芽は早めに摘んでおきましょう、という事です。従来の開発法では、上流でしっかりレビューするという事が行われていました。

また、同じ工程内においても全て終わってからではなく、早めに抜き取り検査をすることも行われていました。有名なところでは「探針」といって、製品検査をテスト中に実施する方法です(参考:ソフトウェア品質保証入門、P84)。また、抜き取りレビューの事例もありました。このように早期に問題を指摘することは、その後の手戻りを減らすだけでなく、同じ問題の再発を防ぐ効果もあります。

このような方法は効果的なのですが、ウォータフォールをベースにしていると限界があります。昔の様に実装方法やユーザーインタフェース(UI)が限定されているのであれば、上流で頑張ってレビューすれば品質が向上するでしょう。しかし、実装時に多くの判断が必要とされるなら、そこでの問題はフロントローディングは困難です。

問題が明確であればプロトタイピングによって局所的なフロントローディングは可能です。しかし、変化し続ける実装環境を用いて、ユーザーエクスペリエンスと呼べるような高度なUIを提供するなら、本物の実装は不可欠です。

全てを作ってしまう前に実装上の問題を解決するには、仕様書ではなく部分的な本物が必要です。そして、少しずつ品質の高いコードを積み上げると共に、チームのプロセスを改善していくのが、アジャイル開発なのです。

もちろん、繰り返し開発はプロセスを混乱させずに変化を受け入れる良い方法ですが、それ以外にもフロントローディングの効果もあるというお話でした。

なおこの記事は、@ryuzeeさんの[Scrum]Scrumではコードレビューをどうやっているか?  にインスパイヤされて書きました。ありがとうございます。

« [#iPhone] au版iPhone5にMNPしてau携帯へのメールが文字化け | トップページ | [#Agile] アジャイル開発は混乱を避ける »

私のアジャイル」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [#iPhone] au版iPhone5にMNPしてau携帯へのメールが文字化け | トップページ | [#Agile] アジャイル開発は混乱を避ける »