TOP UX用語 ツール・フレームワーク・方法論 イテレーション

イテレーション Iteration

繰り返し、反復という意味の英単語。ソフトウェア開発における一連の工程を短い期間にまとめ、何度も繰り返すことで徐々に完成度を上げていく手法を取る際の、繰り返しの単位を表す。

期間は1週間~4週間程度で、一回のイテレーション終了後に、改善点を洗い出し、次回のイテレーションを計画する。これを繰り返すことによって機能を充実させていく。

イテレーションの流れ

イテレーションの流れ

短期間の開発プロセスを繰り返すことのメリット

市場変化に対して柔軟に対応できる

市場の変化に伴い、顧客のニーズ・要求も変化する。従来のウォーターフォール開発では、ニーズ・要求の変化に対応すると開発効率が下がったり、品質に悪影響が出る可能性もある。リリースを短くすることで、ニーズ・要求の変更に迅速且つ柔軟に対応できるという利点がある。

顧客側・開発側の認識に相違なくプロジェクトを進行できる

短いサイクルで実際に動作するソフトウェアをリリースできるため、機能を顧客に使ってもらい、毎回フィードバックを受けられる。顧客側の要求と開発側の理解のギャップを早く検知できて、手戻りも最小限に抑えられる。また、実際にアプリケーションを作ってみないと気づかないリスクも早期に発見でき、ステークホルダーとの調整が可能となる。更に、顧客は開発の実際の進捗度を確認することができ、認識の相違なく透明性を持ってプロジェクトを進めることができる。

市場に早く出せる

数回のイテレーションを繰り返したあとは、すべての機能が実装されていなくても、ビジネスを開始できるレベルであると顧客が判断した場合は市場に出せる。競合他社に先立って市場に進出することで、知名度が上がりやすくなると共に、システム開発にかかる投資費用等を早期に回収してキャッシュフローを高めることも可能になる。

イテレーションを行う上で重要なポイント

顧客側も開発側も、プロジェクトに関する考え方や正確な進捗状況を共有するなど、密にコミュニケーションをとることが重要である。顧客は各イテレーションで達成すべき要求を明確に提示し、開発側は作業工数の見積りを算出し、各イテレーション内で実装できる作業量に収まるよう要求を整理する必要がある。

また、開発側が特に注意すべきポイントは、品質を落とさずにニーズ・要求の変更に対応することである。一つのメソッドのロジックが長かったり、似たようなロジックが複数のクラスに存在していると修正コストが高くなってしまう。イテレーションの期間内にプログラムを変更できるように、変化に強いアプリケーション構造が必須である。

参考文献と関連記事

参考文献

INTERACTION DESIGN FOUNDATION:Design Iteration
技術評論社:イテレーション設計における透明性

関連記事

アジャイル

「UX用語」のカテゴリー