生産性って何だ?私的ソフトウェア開発工程戦略

そう。生産性ってなんなんだろう?って感じることがある。
目的の成果物を作るまでの効率の事なのか?
未だに良く分からない。
今まで、満足な目的の成果物を得られた事は数えるほどしかないが、目的の成果物を作っていく上で試したソフトウェア開発工程を述べる。


最初の方法

  1. ソフトウェアビジネスロジック作り
  2. スパゲッティ化
  3. ライブラリ化するもビジネスロジック部のソースを直す所が多くなる
  4. 分からなくなる。時間が無くなる
  5. 死亡!デスマーチ


今までの方法
  1. ライブラリ作り
  2. ライブラリ作りにはまる
  3. ソフトウェアを開発する為のセンスが徐々に失われる
  4. 何を作りたいのか分からなくなる。時間が無くなる
  5. 死亡!デスマーチ


今度試す方法
参考:Joel on Software
http://www.amazon.co.jp/exec/obidos/ASIN/4274066304/studiokingyo-22


  1. 作りたいものを決める
  2. 出来る事、出来ない事を決める
  3. ビジネスロジック作り
  4. 必要に応じてライブラリ探し
  5. ソフトウェアを機能別に完成させる(ライブラリやモジュールも可)
  6. ソフトウェアに必要な部分だけを作りこめばよしとする(ライブラリやモジュールもこの方針で行く)


その他にもユニットテスト等の細かい事はあるがある程度

  • 実現可能性を高く持っていくこと
  • 実現可能時間を短く持っていくこと

を念頭におけば私のソフトウェア開発の生産性が上がのではないかと感じている。