開発生産性が高い組織の特徴と、開発者が「自ら体重計に乗る」意義
まず、冒頭で佐藤氏は、開発生産性の向上はゴールではなく、ユーザーの価値提供や事業を伸ばすための「一つの手段」であることを強調した。そして、生産性向上のためには他職能との連携・協力なども必須ながら、今回は「開発時のボトルネックの解消」にフォーカスし、特にデリバリーのパフォーマンスが組織全体のパフォーマンスに影響を及ぼすと話した。
例えば、リードタイムやデプロイ頻度、平均修復時間、変更失敗率などが改善されると、収益性や市場占有率、生産性などが向上してくる。そこで、開発に関連する行動、例えばデプロイ頻度やリードタイム、プルリク作成数、デプロイ回数などを定量化することを今回のセッションのゴールイメージとして提案した。なお、ファインディの場合1日あたりプルリク作成数は3件ほどだという。そうした数値を把握している組織がどのくらいあるだろうか。
「開発生産性が高い組織の特徴」として、佐藤氏は「①数値化のマインド」があり、「②PDCAで改善」していること。それを「③組織全体で取り組んでいる」ことの3つをあげた。
まず「①数値化のマインド」については、全員が数値の意識を持っていることが重要だという。サーバーのパフォーマンスを見る際にもCPUやメモリなどメトリクスを可視化しているように、まずは現状を定量的に把握することが大事。そのうえで、他社の開発生産性向上の事例に学び、自社組織に合う形で活かせることが望ましい。そして、全員に数値への意識を持ってもらうことが重要だ。
そして「②PDCAで改善」とは、①で得られた数値をベースに議論し、改善し、効果測定を行なうことだ。定量的な議論は具体的な改善施策につながりやすい。そして、効果が可視化されるメリットとしては、チームのモチベーションがアップすること、施策とその結果を他チームへの横展開を行なうことで組織全体がよりよく進化できることがある。
「③組織全体でプロセス改善に取り組んでいる」については、開発組織はもちろん、企画やデザインなど、あらゆるも部門の全員がプロセス改善している状態にあることだ。とはいえ、企画などはコントロールしにくく、他のプロセスも業務によっては難しい。そのため改善の第一歩は開発から、それもコーディングプロセスからはじめるのがよいという。佐藤氏は「開発プロセスのボトルネックが解消されたところで、開発組織外の改善を進めるというのが現実的」と話した。
佐藤氏があげる「開発生産性の高い組織の特徴」を受けて、広木氏は「自分たち自身のことでなければ、開発の人は『パフォーマンスを測定するのは当然』『具体的な指標があって当たり前』とするのに、こと自分たちのパフォーマンスについては『気持ちよく仕事ができた』など、定性的なところで終わってしまいがち」と言い、「自分たちの現状を把握してこそ、改善策を考えることができるが、自分たちが”体重計”に乗るということをストレスに感じる人は少なくない。しかし、そうしたプレッシャーはありながらも、自分たちのアクションについて数値化し、議論し、その結果改善策を見出して生産性を向上する。そのように開発がまずやって成果を示し、『他責ではなく自責で、自ら体重計に乗ること』によって、開発生産性だけでなく、他部署からの信頼を獲得できる」と話した。その結果、自身の向上にもつながり、他部門との連携や全組織による生産性向上にもつながっていくというわけだ。
「自分たちに厳しさを持っている、事実に向き合っているという評価がなされ、関係部署の変化に影響し、段階的に組織全体がよくなっていく。それはとてもポジティブなことであり、そこに注目することはとてもよいこと」と広木氏はコメントした。