トップダウン設計とボトムアップ設計
トップダウン・プログラミングの利点:
チームは常に目標をもって作業する。
チーム全員が互いの作業内容を知っている。
プログラミングが開始された時点で、不明な点は何もない。
コードは目的をもって整然と書かれるので、理解しやすい。
トップダウン・プログラミングの欠点:
ほぼ全体がコーディングされるまで実行してみることができないので、テストが後回しになる。一方、ボトムアップ・プログラミングでは単体テストが可能である。トップダウン・プログラミングでは、プロジェクトの最終段階で集中してテストを行うことになるので、最後になって問題が多発することが多い。ただし、トップダウンであっても、スタブを多用したテストハーネスを作れば、早期の単体テストは可能であるが、それにはコストがかかる。
コーディングは、それ以前の設計の品質に直接依存する。仕様の詳細さが不十分だとコーディングできない場合がある。