エンジニアチームの生産性向上、というテーマに取り組んでいる。
これがなかなか難しいテーマだ。
難しい理由はシンプルで、
生産性向上というのは、成果÷投入リソース(時間・お金)なのだが、
この「成果」を何にするのかの定義がむずいからなのである。
よく成果として用いられるのは、リリースの数やコードの行数だが、
これらは一概に多ければいい、少ないと悪い、
というものではない。
リリース数やコードの行数を成果とすると、
途端に組織がバグってしまう。
開発の最終的な成果は、売上ないしは良質なユーザー体験だが、
これらはエンジニアチームだけで追いかけるものじゃない。
これも「成果」として管理するのは最適ではない。
いろいろ考えてたどり着いた結論は
「組織や事業の状態によって、ほしい成果を随時決めていくしかない」
という、身も蓋もない結論だが、一番これがしっくりきている。
で、私がみてるチームでは、
あえてリリース数を追っている。
今の組織状態では、今のところこれがベストであろうと思うから。
たぶん、状況がかわってきたら、また変えていくと思う。