最近、どうしたら開発効率を上げられるかということを考えています。
スピードを上げたい
とにかく速く、かつ安全に、改善をリリースし続けていきたい。でも、単純に人を増やしてもスピードが上がるとは思えない。それに、今のチームは良いメンバーが揃っていると思うので、このメンバーでもっともっとスピードを上げたい。
一人ひとりの生産量を上げたい
そうすると、人数を増やしてスピードを上げるのではなく、一人ひとりの生産量を上げたい。
単純に労働時間を長くすれば一人ひとりの生産量は上がる気がするけど、そうでもないような気もする。仕事でやっていると1週間徹夜したりして無理やり生産量を上げるのは、かえって効率が悪い。
とにかく効率を上げたい
そうすると、1日8時間の労働時間を、いかに効率良く使うかの問題になる。
・・・というようなことを考えておりまして。
コミット数の測定
まずは、自分がどれだけ生産しているかが分からないと、効率も上げられないだろうなということで、生産量を可視化することにしました。エンジニアの生産量はgitのコミット数で定量化できるような気がするので、コミット数を測定をしてみることにしました。
実験的な試みだけど、昨日チームみんなのGitにスクリプトを仕掛けしてみました。
vim .git/hooks/post-commit
Gitリポジトリのhooksディレクトリには、Gitで何か操作をする前や後に自動的に実行されるスクリプトを置くことができます。そこで、コミット後に実行されるpost-commitにスクリプトを置きました。
コミット数の可視化
スクリプトは単純で、グラフサーバにコミットしたことを送信するだけです。
最近、色々なものを可視化しようと思って、自前でグラフサービスを作ったので、試しにそこに投げ込んでみました。
今日の僕のコミットの記録がこんな感じになりました。
会社にいる時間は10時間くらいなので、それ以外にコミットしてないのは当然として、途中に2回穴があいているポイントがあります。ミーティング時間もあるのですが、思い返してみると穴が空いているポイントは集中力が切れていた時間と一致します。
8時間は短いですが、うっかり何か問題にハマり込むと数時間くらいすぐに過ぎてしまいます。その前に自分で気付けるのが良いかもしれません。
単にコミットすればユーザーに喜ばれる改善をリリースできるとも限りませんので、コミット数に縛られすぎるのもダメですが、しばらくこれで様子を見てみようと思っています。
コメント