開発とテストを同時並行的に行います。

一般的な開発・テストの最小単位は単体テストと呼ばれる、
関数、モジュール、プログラムなどの単位を言います。
そして単体テストにおいて最初の本格的なデバッグが行われ、
それをパスすると、納品レベルの進捗率がカウントされます。
スパイラルプログラミングでは、
その最小単位をされにコードレベルに落としていきます。


スタートアップ

まずは、最低限動くプログラムを記述して、
その環境で正常動作することを確認します。
ここからがプログラミングスタートです。
スタートプログラム
<?php
  echo "OK";
?>

トップダウンプログラミング

次のトップレベルの流れをコメントとして記述していきます。
仕様書があれば、その文言をすべてコピーしてしまっても良いでしょう。
そのコメントを元にプログラムを作っていきます。
スタートプログラム
<?php
  echo "OK";
  // 初期処理
  // 画面表示
  // エラーチェック
  // 登録処理
  // 結果表示
?>

スタブ

次にスタブを作っていきます。
スタブとは中身がダミーな関数(あるいはクラスなど)です。
これにより、関数名(クラス名)とその引数(インターフェース)を決めていきます。
スタートプログラム
<?php
  echo "OK<br>\n";
  // 初期処理
  u1Init();
  // 画面表示
  $id = "";
  $pass = "";
  u1GamenOutput($id, $pass);
  // エラーチェック
  // 登録処理
  // 結果表示
  
  //-----------------
  // ファイル内関数
  //-----------------
  // 初期処理
  function u1Init() {
    echo "u1Init<br>\n";
  }
  // 画面表示
  function u1GamenOutput($id, $pass) {
    echo "u1GamenOutput id=$id pass=$pass<br>\n";
  }
?>

10行追加程度で実行(テスト)します。

このようにコーディングとテスト実行をこまめに、
スパイラル(らせん)的に行いながら開発するのが、
スパイラルプログラミングです。

目安としては10行程度コーディングしたら、
正しく動くか確認しながら開発するのが良いでしょう。
もし文法エラーが出ても、今回修正した行が少なければ、
エラーの箇所を探すのも容易にできます。

単体テスト手法において、カバレージテストというものがあります。
これはすべてのコードを実行するテストケースを実行しましょう、
というものですが、スパイラルプログラミングで開発すれば、
カバレージ100%のテストも容易となります。