Joel on Softwareの「いいプログラムへの12ステップ」より

Microsoft Excelの開発にも携わったJoel Spolskyという方の本「Joel on Software」に「いいプログラムへの12ステップ」という、別名ジョエルテストというものがあります。現在携わっているJavaのプロジェクトにあてはめて、数値を出してみたいと思いました。さて、その12ステップとは...

  1. ソース管理している?
  2. ワンステップでビルドできる?
  3. デイリービルドしてる?
  4. バグデータベースはある?
  5. 新しいコードを書く前にバグを直している?
  6. アップデートされているスケジュールがある?
  7. 仕様書はある?
  8. プログラマは静かな環境で作業している?
  9. 手に入る最高のツールを使っている?
  10. テスタはいる?
  11. 面接採用のときにコードを書かせている?
  12. ユーザビリティテストはしている?

さて、結果は、1,2,4,6,7,12の6点。12点で完璧、11点で許容範囲、10点以下は深刻な問題を抱えているプロジェクトだそうですよ。。。ちなみにMicrosoftは常に12点をとるように運営されているそうです。
点数カウントできなかった項目について補足してみたいと思います。

  • デイリービルドしてる?
    • できてませんね。そもそも「全体ビルドを壊すことが悪いこと」という点から教育すべきかも知れません。
  • 新しいコードを書く前にバグを直している?
    • バグの修正は、PMやPLが優先順位をつけてその順番で修正してゆくために、優先順位の低いバグは放置される傾向があります。
  • プログラマは静かな環境で作業している?
    • 決して静かではないと思います。現在の環境では仕切りや個室などないようなオープンスペースで複数のプロジェクトが実行されているために常に他の人の話し声が聞こえます。また、設計者や要件定義者とプログラマは近い席に座るため、お構いなしにプログラマは設計者や要件定義者に呼ばれることになります。
  • 手に入る最高のツールを使っている?
    • 個人的見解ですが、最高のツールなんて使っていないと思っています。PCに関して言えばNotePCよりもデスクトップPCの方が開発には適していると思うのですが、私の部署では問答無用でNotePCを購入しなければなりません。おかしいです。
  • テスタはいる?
    • 本書を読むと、テスタをプログラマとは別に雇えとあります。私自身、テスタ専用に雇えるような、または雇うようなプロジェクトに携わったことがありません。
  • 面接採用のときにコードを書かせている?
    • いいえ、そんなことを面接採用の時に実施していませんね。一理あるとは思いますが。

さて、あなたのプロジェクトは如何でしょうか。