基本的な考え方は、1つのライン(私の場合は、全て Ruby On Rails)で、複数のプロジェクトを作業手順の確定しているものから、細切れの時間を使ってプログラムすること。
- 作業手順が決まっているので、プログラムの途中は思考錯誤しない
- モジュール化(部品化)されているので、小さい単位でプログラムできる
- やり方が一緒なので頭の切り替えをしなくてよい
- PCに向かっていないとき(移動中など)に作業手順を考える
- たくさんのプロジェクトがあるほうが、単純作業が多くて効率的
- ソースコードはsubversionで管理されているので無駄な手戻りがない
- コードの流用ができる(テストコードも)
もちろん、これが実現するためには
- 基本設計がキッチリ決まっていなければならない
- 新技術の追加は最小限にして、実験を少なくする
- 設計書のほかに、作業手順書が必要
また、問題として以下のような事がある
- 最後に難しいところばかりが残ってしまう
- 完成予想が計算しにくい