開発生産性を測らないで!
開発ツールを販売していると、「このツールを導入することで、どのくらい開発生産性が上がりますか?」と聞かれることがたまにあります。
この手の質問は困りもので、たとえば、このツールを使うとコードが1.5倍のスピードでタイプできます、っていうのが答えだとしても、それって、開発生産性と同じじゃないですよね。
開発者的には、そっち方面に流れてほしくない気持ちもあるはずです。もし、コードのタイプ量だとしたら、エンジニアのスキルって何なの?ってことになってしまいます。それに、常に答えが同じものを作っているわけではないプログラマーにとっては、創意工夫のあとが評価してほしいポイントで、とにかく早く作ればいいということではないからです。
かくして、開発者の立場に立ったツールベンダーとしては、「開発生産性」という言葉を安易に使わないようにしなければ、ということになります。
去年のRuby会議でまつもとゆきひろ氏にこんな質問が投げかけられました。
「Rubyを使うとどのぐらい生産性が上がりますか?」
正確には、自分はRubyを使いたいのだけれど、上司が「それならどれぐらい生産性が上がるんだ?」と聞いてくるので、どう答えたらいいか、というものだったと思います。ツールならまだしも、言語で生産性を測るのは無理だろう、と苦笑していましたが、話は思わぬ展開になりました。
「プログラミングをしているときに楽しいと感じていれば生産性は上がる。Rubyはほかの言語よりも楽しいと感じる要素が多いと自分は思う。もし同じように感じるのだったら、生産性は上がるんじゃないかな。楽しいと感じているときは脳から変な液が出てて…。あ、やばい話になってますね(笑)」(かなりあいまいな記憶より再構築)
実はこのQ&Aで、開発生産性の本質が見えてきたと感じました。日常生活に照らしてみても、効率よくよい結果を出しているときって、楽しんでとりくんでいるときですよね。
一方で、マネージする側にとっては、楽しいでくくられて、工数や品質を期待値内に納めることをなんとなく煙に巻かれるのは好ましいことではないでしょう。でも、今一度、こういう開発者の視点からの開発生産性議論もあってもいいのではないかと思いました。
ということで、昨年のRuby会議の話をもっと発展させて、開発者にとっての開発生産性を考えてみたいと思います。最後は宣伝になってしまいましたが、以下がその議論。
2009年7月2日 10:30~12:00 デベロッパーキャンプ・オープニングセッション
ゲスト: |
いつもやっているデベロッパーキャンプ(7月2日 - 東京国際フォーラム)のオープニングセッションでのパネルです。今回は、OpenSource World 2009の併設イベントとして開催します。OpenSource World 2009への参加を予定されている方も、ぜひ立ち寄ってください。