定量的な測定では開発者の生産性は向上しない!──「手助け」に焦点を当てた発想転換とは?
オーストラリアのシドニーに本社を構え、「Jira」をはじめとするさまざまなソフトウェア開発者向けツールを開発・提供するアトラシアン。同社には1万1000人以上の従業員が所属しており、「Team Anywhere」という大方針の下、オフィスや自宅など好きな場所でリモートワークをすることができる。
また同社の従業員の約半数は開発者が占めており、よって開発者の生産性がサービス品質や企業収益に直結する。そのためこれまで開発者の生産性を高めるためのさまざまな施策を講じてきたが、皆川氏によればその取り組み内容は世に言う一般的な「生産性向上」とは一線を画してきたという。
「開発者の生産性は大抵の場合、『どのようにして生産性を測定するか?』という文脈の下で語られます。具体的には『書いたコードの量』『プルリクエストの数』『コードレビューの数』などのKPIを用いて定量的に計測しようと試みられてきました。しかし、開発者の方にとってはどれも的外れのように感じられるのではないでしょうか」
コードの行数やレビュー数がいくら多くても、それらの品質が悪ければ結果的に生産性は低下してしまう。そのためこうしたKPIを測定するだけでは、実質的な生産性向上は見込めないというのが、同社が至った結論だったという。
そこで皆川氏は「発想を変えてみましょう」と提案する。
「『どのように開発者の生産性を測定するか』という課題設定がそもそも間違っていました。そうではなく、『どのようにして開発者の生産性を高める手助けができるか』というふうにマネジメント層の発想を転換することが重要です」
開発者が情熱を持って仕事に取り組むために必要な「Developer Joy」とは?
ここで皆川氏は、開発者の仕事を画家に例えて説明する。
「自社のオフィスで、来客の目に留まる場所に飾る絵の制作を、とある著名な画家に依頼したとしましょう。その絵を描くためにやってきた画家がキャンバスを取り出したところ、あなたはこう言わざるを得ませんでした。『すいません、我が社のポリシーで絵はキャンバスではなく紙に描くことになっているんです……』」
その後も画家が絵の具を取り出そうとすると「我が社のポリシーに従って絵の具ではなくクレヨンを使ってください」、イーゼルを設置しようとすると「イーゼルを使わず、会議室のテーブルで描いてください」。こうしてさまざまな縛りを設けた結果、最終的に画家はやる気を失って何も言葉を発しなくなる。そして締切が迫ってくると、今度は画家の仕事ぶりを監視するために部屋に監視カメラを設置。その結果、最終的に完成した絵画は悲惨な出来に……。
「同じようなことを、開発者に対しても行ってはいないでしょうか?」と皆川氏は問う。膨大な数の開発者を抱え、かつ世界中の開発者に向けて有益なツールを提供し続けているアトラシアンですら、かつてはこのような状態に陥りかけていたという。
開発者は画家やアーティストと同様に、高い専門性と技術を駆使して作品を作り上げ、世の中やコミュニティの発展に寄与することを願う「職人」だ。よって先ほど挙げた画家の例のように情熱をもって仕事をするための環境を奪われてしまうと、一気にモチベーションを失ってしまう。
そこで開発者の生産性を考える上で最も重視すべきなのは「Developer Joy」、つまり「開発者にとっての喜び」であるとの結論に、同社は至ったという。
「どうやったら開発者が情熱をもって仕事に取り組めるのか。これを追求していった結果、副産物として得られるのが開発生産性の向上であると理解しています。そのため弊社では、『開発者の働き方の中に価値を見出し、それを還元していくこと』こそが開発者の生産性であると定義しています」