お利口なエディタ

1週間で生産したソースコードの量を測れという。

1週間前のソースと現在のソースのdiffを取る。

追加した行数:XX
削除した行数:YY
編集した行数:ZZ

diffの業界標準はdiffコマンドですか?

>>>みたいなマークとか除去してカウントしてますか。

どうでもよいです。こんなものにほとんど意味はないです。C標準ライブラリがあるのにマイprintfを書いたりしたらどんどん生産量を増やせるからです。

次に,投入した労働力を測るにはどうしますか。コーディング作業時間を自己申告しますか。

私なら,エディタ上でキーを叩いた回数を参考にしますね。キーの種類ごとに集計します。

文字キー
カーソルキー
BS/DEL
スペースバー(日本語変換)

無駄にキーを叩いてはBSで消して回ってもそれは労働です。けれど最終的に変化した行数が少なければ無駄は一目瞭然です。

ひたすら7時間50分黙考して,10分でif文を2,3行書いただけの人と,500行書いてグチャグチャになって結局残ったのは10行の人と,叩いたキーの数は大きな差がありますね。

誰が測るかも問題です。diff取って行数カウントするのは機械にやらせるべきです。人間,それも実装者がやることじゃぁない。構成管理にソースを放り込んでいるなら,そこから作業前と作業後のソースを取り出してdiffを取り,決められたルールにしたがってカウントするバッチやスクリプトは誰にでも書くことが出来ます。

叩いたキーの数をカウントするツールくらい,スパイウェアの真似事程度で書くことが出来ます。特定のアプリケーション(エディタや開発環境に限定)してカウントするのです。vector辺りにはそういうツールが既にあるんではないですか?サボっていないか監視するツールはいろいろあるのに,メトリクスは収集してくれないものです。

ソース行数をカウントしたり,作業時間をこまめにメモしたりするのに,1日10分かかるとして,1週間で50分,10人居たら100分です。誰かの時間が約2時間消え去ります。これがどれだけ無駄かお分かりですか?

週40時間労働として,一人当たり2%が消えるのです。週に1回の1時間のミーティングに匹敵します。

つづき:お利口なdiff