オーストラリアのアトラシアン:ソフトウェア開発者の生産性測定は本質を見失っている

オーストラリアのアトラシアン:ソフトウェア開発者の生産性測定は本質を見失っている

開発者の生産性は Atlassian にとって不可欠です。

このオーストラリアのテクノロジー企業は、世界中に約5,000人のエンジニアを擁し、世界的に競争力のある作業チーム向けソフトウェア製品を数多く提供しています。同社の成功は、開発者の積極的な関与と優れた製品の提供にかかっています。

しかし、アトラシアンは開発者の生産性を測定することは効果的ではないと考えています。同社はむしろ、「開発者の喜び」と呼ばれる、開発者エクスペリエンスを向上させるためのより広範な取り組みに賛同しています。その考え方はシンプルです。開発者の幸福度が、最終的には生産性を向上させるのです。

アトラシアンの開発者生産性測定における問題点

Atlassian は、生産性は測定が難しく、逆効果になる可能性があると考えています。

アトラシアンのDevOpsエバンジェリスト、アンドリュー・ボヤギ氏はブログ記事で、企業が開発者の生産性を測定したい理由を理解していると述べています。IT部門とビジネス部門のリーダーは、デジタル製品や機能のリリース、あるいはデジタルトランスフォーメーションの管理というプレッシャーにさらされており、企業は人材とテクノロジーへの投資収益率(ROI)を実証したいと考えていると、ボヤギ氏は説明しています。

しかし彼は、開発者の生産性は測定が難しいと述べた。過去も現在も広く用いられてきた測定方法としては、生成されたコード行数、完了列に移動されたタスク数、スプリントで見積もられたストーリーポイント数、あるいはソフトウェアのデプロイメント頻度やサイクルタイムといったDORA指標などが挙げられる。

アトラシアンのDevOpsアドボケートであるスヴェン・ピーターズ氏は、これらの指標は実際には生産性を測るものではないと述べています。コード行数やデプロイメント頻度といった指標は操作可能であり、ストーリーポイントは推定値であり、どちらも顧客にとってのプラスの成果を測るものではないと彼は述べています。

開発者の役割がコーディングや新機能のリリースだけにとどまらず、はるかに多くのことを含んでいることを考えると、生産性の測定も問題です。ピーターズ氏は、開発者の認知負荷はソフトウェアの実行と構築の両方に多くの時間を費やすようになっていると述べています。

開発者エクスペリエンス: 生産性を高める新しい方法?

開発者エクスペリエンスが生産性に及ぼす影響への関心が高まっています。DevExは、生産性向上ツールやフレームワークに重点を置くDevOpsとは異なり、主に優れたツールとテクノロジーを通じて、生産性の高い作業環境の構築に重点を置いています。

デロイトは、DevExを2024年のトップテクノロジートレンドに選出しました。同社は、今日の開発者は「需要が高いものの、構成、ツール統合、デバッグなどの生産性の課題によって妨げられており」、ビジネスに付加価値をもたらす活動や機能が妨げられていると述べています。

ソフトウェア開発者の時間を浪費する生産性タスクと課題を示すインフォグラフィック。
ソフトウェア開発者の時間を奪う生産性向上のためのタスクと課題。画像:デロイト

優れた開発者エクスペリエンスの3つの要素

Deloitte の分析により、優れた DevEx 提案には 3 つの重要な要素があることがわかりました。

  • プラットフォームとツール:標準化された優れたプラットフォームとツールの数が少ないほど、開発者の作業はより簡単で楽しくなります。Harnessの開発者エクスペリエンス調査では、使用されているツールが多すぎることがコンテキストの切り替えを増加させ、オンボーディングを遅らせていることが明らかになりました。
  • 働き方とフロー:優れたDevExには、「明確で継続的なプロセス」が必要です。これにより、開発者はシステムの分断やガバナンスの不備による摩擦を回避しながら、「フロー」の中でタスクを完了できます。これには、高度なチームワークフロー管理とDevSecOpsが含まれます。
  • 人材エクスペリエンス:開発者は、「楽しく、生産的で、多様性のある」コミュニティと文化の一員であり、継続的な学習に取り組んでおり、継続的な進歩と開発の機会を通じてモビリティとキャリアアップのチャンスがあるときに最も効果的に働きます。

アトラシアンの生産性向上アプローチ:「開発者の喜び」を最大化

アトラシアンは、仕事に満足し、幸せを感じている開発者は生産性も高いと考えています。つまり、生産性の測定に時間とリソースを浪費するよりも、「開発者の喜び」と名付けた部分に投資し、それを最大化することに労力を費やす方が効果的だということです。

アトラシアンは、開発者の喜びにはさまざまな要素が絡み合っているが、主な要素は次の 2 つであると述べています。

  1. 開発者エクスペリエンス: Atlassian は、DevEx を、ソフトウェアの作成に使用するツール、フレームワーク、プラットフォームに対するエンジニアの感想であると要約しています。
  2. エンジニアリング文化:アトラシアンはエンジニアリング文化を「仕事の進め方」と定義しています。これには、組織の価値観、規範、意思決定といった要素が含まれます。

Atlassian の Peters 氏は、Atlassian の開発者にとって喜びとなるものについて、次のようにさらに詳しく語りました。

  • 開発品質:開発者は、高品質のコードに重点を置くと、仕事をより楽しむことができます。
  • 開発の進捗:障害なく迅速に開発を進めることができるため、開発者は満足します。
  • 開発の価値:価値を創造し、顧客のビジネスに影響を与えることで喜びと誇りが生まれます。
ソフトウェア開発者の喜びを高める3つの要素を示すビジュアル。
ソフトウェア開発者の喜びを高める3つの要素。画像:アトラシアン

「開発者の喜び」とはどのようなものでしょうか?

アトラシアンは、開発者の喜びを創造し、それを測定することに注力することで、様々な製品チームに無数の改善をもたらしました。ピーターズ氏のプレゼンテーションで概説されているように、これにはアトラシアンのJIRA、Confluence、Trello製品に携わるチームによる取り組みも含まれています。

ジラ

JIRAチームは、開発者がフィードバックを受け取り、コードを改善する作業をより快適に行えるよう、コードレビューに関する新しいガイドラインを導入しました。ガイドラインには、開発者の「能力を前提とする」こと、そして建設的で根拠のあるフィードバックを提供することなどが含まれています。

JIRAの製品開発チームも、手戻りを回避するために連携を強化しました。現在、チームメンバー全員が、製品の「構想」段階から開発、そして顧客への「インパクト」段階に至るまで、ライフサイクルのあらゆる段階に、さまざまな程度で関与しています。

Atlassian における製品チームと開発者チームが開発の「問題」、「解決」、「作成」、および「測定」の各フェーズで連携している様子を示すグラフィック。
アトラシアンでは、製品チームと開発チームが開発の「問題」「解決」「作成」「測定」の各フェーズで連携して作業を行っています。画像:アトラシアン

合流

アトラシアンのConfluenceチームは、プルリクエストの処理を遅らせる「不安定な」コードテストを検出するための社内ツールを開発しました。このツールは、不安定なテストを特定すると、自動Slackメッセージでレビュー対象としてフラグ付けするため、開発者は時間のかかるデバッグ作業に煩わされることがありません。

別のチームは、プルリクエストの処理時間とメインブランチへのコードのマージ時間を3日から1.2日に短縮しました。これは、チームメンバーに毎朝自分の作業を始める前にプルリクエストを確認するよう自動リマインダーを送信することで実現しました。

トレロ

Trelloチームは、品質保証をワークフローに統合する方法を考案しました。QAキックオフでは、QAアシスタントが開発者に実施する探索的テストの内容を伝えます。これにより、開発者はQAアシスタントのサポートを受けながら、QAの主導権を握ることができます。

ITリーダーがチームの開発の喜びを高める方法

開発者に提案を求める

アトラシアンは、開発者エクスペリエンスの向上に真剣に取り組む企業(テクノロジー企業を含む)は、開発者自身に意見を求めるべきだと明確に述べています。アトラシアンによると、開発者は仕事の喜びを高めるために、抱えている問題に関するフィードバックを喜んで提供してくれるそうです。

Atlassianは、開発者エクスペリエンスを測定できる無料の開発者エクスペリエンス調査を提供しています。この調査は、チームがデジタルまたは対面で設定・実行できます。この調査は、「持続可能なリリース速度」、「待ち時間」、「実行の独立性」といった要素に関するフィードバックを得るのに役立ちます。

喜びを高めるための時間を作る

アトラシアンは、開発者の時間を10%解放し、ビジネスにおける「開発者の喜び」を向上させる方法を見つけられるようにすることを決定しました。これにより、アトラシアンの開発者は、顧客向けの製品や機能の開発を通じて「ビジネス変革」に約55%の時間を費やし、メンテナンス業務を通じて「現状維持」に35%の時間を費やし、残りの10%を開発者の喜びに費やすことになります。

各企業とチームを個別に扱う

ピーターズ氏はDevOpsリーダーに対し、各企業やチームが開発者の喜びを実現する独自の道筋を持っていると捉えるようアドバイスしています。他の企業やチームのアプローチを真似してもうまくいかない場合もあると彼は述べています。むしろ、チーム独自のツールやプロセスの中で、喜びを高めることに取り組んでください。

生産性指標にコンテキストを追加する

組織は、デプロイメント頻度といった生産性指標が提供する限定的な情報だけに頼るべきではありません。むしろ、これらの指標に、より包括的な文脈を加え、開発チームの満足度など、生産性に影響を与える新たな指標も加えるべきです。

開発者の喜びは技術系人材の未来となるかもしれない

生産性よりも喜びを重視するテック系の職場を見つけることは、開発者にとって夢のようです。実際、大手テック企業で働く世界中の多くの開発者にとって、仕事への真の喜びを育むことは言うまでもなく、ウェルビーイングを確保するだけでも大変です。

しかし、オーストラリアのアトラシアンは何かに気づいているかもしれない。ボヤギ氏がアトラシアンのブログ記事で示唆しているように、DevExに注力する企業は、優秀な人材の獲得を含め、競合他社よりも優れた業績を上げることができる可能性がある。「私は自分がどんなタイプの企業で働きたいか分かっています」とボヤギ氏は書いている。

Tagged: