反復型開発
このとき、コード自体がシステムのソフトウェアドキュメンテーションの主要な源となることもある。各反復における分析は、主にユーザーからのフィードバックに基づいて行われる。プログラム解析ツールも利用可能で、構造、モジュール性、ユーザビリティ、効率、目標達成率などを分析する。このような分析結果に基づいて、プロジェクト制御リストが更新される。
実装と分析のガイドラインには次のような項目が含まれる:
何らかの変更によって、設計/コーディング/テストで問題が発生した場合、再設計や再コーディングの必要である。
修正は、一部の独立性のあるモジュール群に簡単に適用可能でなければならない。そうでない場合、再設計が必要である。
テーブルの修正は、特に容易に実行できるようにする。テーブル修正が簡単でない場合、再設計が必要である。
修正は、反復を繰り返すにつれて容易なものになっていくはずである。そうならない場合、設計の流れに根本的な問題があり、パッチの増殖につながる。
パッチは1、2回の反復の間だけ存在するのが普通である。パッチは、実装において再設計の必要が生じたときに、応急処置として使われる。
現状の実装を頻繁に分析することによって、プロジェクトの目標達成率を測る。
プログラムを分析するために、プログラム解析ツールを可能な限り利用する。
現状の実装の問題点を明らかにするために、ユーザーの反応は是非とも必要であり、分析すべきである。