1. トピックス
  2. アプリケーションの開発と提供
  3. 開発者エクスペリエンス (DevEx) とは

開発者エクスペリエンス (DevEx) とは

CopiedFailedURL をコピー

開発者エクスペリエンス (DevEx または DevX) とは、開発者が開発ツールやプロセスを利用・操作する際の行動や感情を指します。開発者エクスペリエンスを向上させるには、ワークフロー、ツール、コラボレーション・プロセスの単純化が必要です。そうすることで、開発者は日々の業務での苦労を減らし、イノベーションに費やす時間を増やすことができます。

日々の業務において、開発者は所属組織のソフトウェア・アプリケーションの設計と保守に注力しています。特定のビジネスニーズや IT ニーズを満たすソリューションを開発し、それらのアプリケーションが社内全体で広く利用されることを望んでいます。また、できる限りバグの少ない、実用的なソリューションを期日どおりに提供し、顧客やユーザーから肯定的なフィードバックを得たいと考えています。  

DevEx は、開発者に焦点を当てたユーザーエクスペリエンスの一分野であり、開発者がどのように仕事をしているかに注目するよう組織に促すものです。DevEx は、開発者が使用するプロセスやツールが開発者の仕事の質、満足度、生産性にどのように貢献または悪影響を与えるかに焦点を当てています。

Red Hat OpenShift でアプリケーション開発を加速する

組織は DevEx に注力することで、ビジネスに不可欠なアプリケーションやツールを開発するエンジニアにとって何がうまくいっていて、何がうまくいっていないのかを把握できるようになります。DevEx は開発者を満足させることだけを目的としているわけではありません。DevEx は生産性に影響を与え、ひいては開発者が所属するエンジニアリング組織の成功、およびより広範なビジネス成果に影響を与えるため、これは中核的なビジネス差別化要因となります。 

開発者エクスペリエンスを向上させることで、イノベーションのスピード、コードの品質、そして DevOps 変革の効果を高めることができます。これによって開発者の認知負荷が軽減され、それがソフトウェアの品質向上につながります。自身のワークフローがよりスムーズで効率的かつ効果的だと感じれば、開発者の生産性と満足度は向上します。最終的には、定着率も向上します。

多くの組織では、開発者は統合されていない複数のツールを同時に扱わなければなりません。それぞれのツールは、セキュリティ、継続的インテグレーション/継続的デリバリー (CI/CD)、製品管理などの単一の目的のために開発されているか、特定のクラウド環境やオンプレミス環境でしか使用できないからです。開発者は多くのツールを習得して導入する必要があり、これが開発者の効率性を阻害する要因となり得ます。また、ツールが断片化していると、個人の認知負荷が増大し、ソフトウェア開発が遅れる場合があります。 

もう 1 つの課題は、開発プロセスにおけるフィードバックの不足です。つまり、コードの問題点はユーザーからバグとして報告されるまで表面化しないということです。ビルド時間の長さ、CI/CD テストパイプラインの遅れ、コードレビューの所要時間の長さなどが、ソフトウェア開発ライフサイクル (SDLC) の停滞を招きます。プロダクション環境にリリースする前にエラーを発見できれば、時間の節約、手戻りの防止、開発者の意欲向上につながります。 

DevEx に悪影響を与えるものとして、組織的な抵抗があることも考えられます。明確な導入理由もなく急にツールが変更または追加されると、開発者は新しいプロセスを学習して使用することに抵抗を示す場合があります。 

良好な開発者エクスペリエンスを実現するには、ツールの統合、個々の開発者にかかる認知負荷の軽減、フィードバックループへの配慮が不可欠です。DevEx によって摩擦が軽減されると、より作業しやすい環境になるため、開発者はより多くのイノベーションに取り組み、より迅速にコードをリリースできるようになります。

ツールの統合

統合されていない複数のツールが混在し、各自がツールを持ち込む開発環境は、混乱を招く可能性があります。十分にサポートされたゴールデンパスを備えた統合環境は、エンジニアが互換性のない開発環境やデプロイ環境をまたいで作業する際に役立ちます。業務を遂行するために新しいツールの使い方を迅速に習得する必要はありません。 

認知負荷の軽減

広がり続けるマイクロサービス・アーキテクチャ、クラウドネイティブ環境、そしてサードパーティへの依存により、今日の IT システムはより複雑化しています。一貫性のないツールやドキュメントの不備により、開発者は自身の意識をコードの記述とリリースという本来の業務ではなく、どう作業すべきかを手探りで解明することに向けなければなりません。 

従来、開発者の役割は、必要な作業に適したツールを見つけるか、そうしたツールをゼロから構築することでした。しかし今日、エンタープライズ組織の開発者は、事業が成長するにつれてワークフローのサポートや効果的なスケーリングがより複雑化し、断片化していくという状況に直面しています。 プラットフォーム・エンジニアリングは、以下の課題に対して、より優れた方法を提供します。

  • アプリケーション提供の自動化
  • コラボレーションとコミュニケーションの拡張
  • エラーの削減
  • セキュリティとコンプライアンスの適用
  • 開発者の強みを最も必要とされる分野に振り向ける 

直感的なツール、セルフサービスポータル、そしてプラットフォーム・エンジニアリングを実装した環境があれば、開発者は内部開発プラットフォーム (IDP) を使用して自動化、セルフサービス、およびチーム間のコラボレーションを行い、ソフトウェアの提供を効率化できます。あらかじめパッケージ化されたツールを利用することで、開発者は不要なプロセスや学習曲線を最小限に抑えながら、より容易に作業を完了させることができます。 

フィードバックループ

開発者の能力と効率は、使用するツールからどれだけ迅速に回答を得られるかに左右されます。コードのレビュー、バグの発見、コードのチェックとテストの自動化、そしてローカルテストスイートの迅速かつ早期の実行により、開発者は検証を待つことがなくなり、問題の発見の遅れを防ぐことができます。CI/CD および密接なフィードバックループにより、開発者はプロセスの早い段階でコードの有効性を把握できるようになります。

コラボレーション

開発チームと運用チーム間のコラボレーションと統合 (DevOps) により、効果的なコミュニケーションと専門知識の共有を促進する作業環境を作り出すことができます。DevOps の文化があれば、通常は標準開発環境でコーディングを行う開発チームが IT 運用スタッフと密接に連携し、信頼性を犠牲にすることなく、より短時間でソフトウェアを構築、テスト、リリースすることができます。この DevOps アプローチにより、セルフサービスを優先し、チーム間のコミュニケーションの断絶を減らすことで、より優れた DevEx を生み出すことができます。 

組織は、開発者が作成する製品の量や市場投入時間といった指標を通じて開発者エクスペリエンスを定量的に測定できるだけでなく、開発者の仕事への満足度、パフォーマンス、コミュニケーションといった指標を通じて定性的に測定することもできます。 

Google Cloud の DORA 調査プログラムから生まれたのが DORA フレームワークです。このフレームワークでは、ソフトウェア開発チームのパフォーマンスを評価するために以下の 5 つの主要指標を使用します。 

  • デプロイメントの頻度
  • 変更のリードタイム
  • 変更の失敗率
  • サービスの復旧時間
  • 信頼性

DORA の指標を総合的に見ることで、チームの成果を時系列でモニタリングしてビジネス成果を定量化できます。 

開発者の生産性について、より人間中心の視点からアプローチするのが SPACE フレームワークです。これは次の 5 つの側面を捉えるものです。 

  • 満足度とウェルビーイング
  • パフォーマンス (コードの量よりも品質で定義)
  • アクティビティ
  • コミュニケーションとコラボレーション
  • 効率性とフロー 

SPACE のヒューリスティックは、生の出力よりも開発者の満足度に関係しています。 

これらのフレームワークは互いに排他的なものではなく、むしろ相互補完的なものです。これらを組み合わせることで、DevEx に関する包括的な視点が得られます。組織はそれによって開発チームのエクスペリエンスを評価し、継続的な改善を促進できます。 

DevOps メトリクスに対するアプローチ方法の詳細

AI への移行は、開発者にいくつかの課題をもたらしています。たとえば、開発者が対応しなければならない新たな脆弱性、既存のワークフローに統合するための新しいツール、新たなバグやセキュリティの問題などです。しかし、AI は DevEx を改善する機会ももたらします。 

機会

AI コーディングアシスタントや自律型エージェントは、開発者が定型的な設定作業を省略するのに役立ち、埋め込みのコード説明やリファクタリングツールは、複雑なアーキテクチャの単純化や技術的負債の軽減に役立ちます。生成 AI は、従来のソフトウェア開発におけるボトルネックを高速なワークフローへと変換し、遅延を最小限に抑えます。多くの組織は、AI を活用した自動化によって CI/CD パイプラインを改善しています。インテリジェントなコードレビューおよび迅速なバグ検出とトラブルシューティングをデプロイプロセスに直接埋め込むことで、人間のレビューが始まる前に構造的な欠陥を特定しています。 

課題

AI アシスタントは人間のレビューが追いつけないほどの速さで動作するため、バグ、パッケージの陳腐化、隠れたセキュリティ脆弱性が生じる可能性があります。コードの検証は、開発者にとって新たな難題となります。 

ほとんどの開発者が AI アシスタントを利用できるようになっているため、単に AI を利用するだけでは開発者にとってメリットとは言えません。AI が普及するにつれて、開発者の役割は AI を使ってコードを作成することから、AI によるコードの検証、デバッグ、管理へと移行しつつあります。開発者は戦略的なオーケストレーターとして、複数の AI エージェントを同時に指揮しています。これにはシステムレベルの思考が必要です。局所的な論理的問題の扱いに長け、それに慣れているエンジニアにとって、これは難しい課題となる可能性があります。 

開発者エクスペリエンスを向上させるには、エンジニアリングチームを疲弊させる可能性のある日々の認知負荷を軽減するためにワークフローを単純化し、ローカル開発環境を効率化し、フィードバックループを短縮する直感的な開発者用ツールを提供する必要があります。 

セルフサービスでの自動化を利用した IDP を導入することで、開発者は手動のチケットキューに頼るのではなく、リソースを迅速にスピンアップできるようになります。IDP は、最新のドキュメントを一元管理するハブとして機能します。これによって新しい開発者のオンボーディングが単純化され、チーム間のコミュニケーションにおける摩擦を最小限に抑えることができます。組織のリーダーは、アンケート調査を通じて開発者エクスペリエンスの質を評価することにも注力し、定性的な知見を活用してエコシステム全体を反復的に改善していくことができます。

DevEx におけるオンボーディングの課題にはどのようなものがありますか?

新入社員がプロダクション環境とは異なる一貫性のない開発環境に遭遇した場合、最初の数週間はコードベースを学ぶのではなく、ローカル環境の設定エラーのデバッグに時間を費やさなければならない可能性があります。こうしたオンボーディング時の課題は、設定手順書がなかったり、部署ごとに分断されていたり、古くなっていたりするような、文書化が不十分なシステムによって、さらに悪化することがよくあります。組織はこうしたボトルネックがどこで発生しているかを特定するために、開発者エクスペリエンス調査を頻繁に利用してエンジニアの入社初期段階でフィードバックを収集しています。

ソフトウェアの提供が遅くなる原因は何ですか?

提供が遅くなるのは、通常、フィードバックループの非効率性が原因です。レビュー待ちのプルリクエストによって、開発の勢いが阻害される可能性があります。コードレビューの所要時間を短縮できれば、ソフトウェアの提供を迅速化できます。バージョン管理の問題やマージの競合も、提供が遅れる原因になる可能性があります。異なるバージョン間でコードを手動で調整していると、新機能の開発に費やす開発者の時間の浪費につながります。 

開発者の時間と注意を奪うものは何ですか?

Atlassian の調査によると、多くの開発者が、システムの非効率性や互換性の問題によって時間が無駄になっていると報告しています。一貫性のないツール間でのコンテキストの切り替え、技術的負債の管理、断片化されたワークフローや不十分なドキュメントへの対応などにより、開発者はイノベーションに集中できなくなっています。 

技術的負債とアーキテクチャの選択は、DevEx にどう影響しますか?

古いコードベースには明確な境界や自動テストが欠けていることが多いため、レガシーコードを扱うことは障壁となります。アプリケーションの内部またはサードパーティ API (アプリケーション・プログラミング・インタフェース) が過度に複雑で、過剰な定型コードや分かりにくいエンドポイント、明確なエラー処理方法の不在が生じている場合、これらの問題はさらに深刻化します。こうした課題により、単純な機能アップデートが開発者にとって不満と苦労の種に変わってしまう可能性があります。 

Red Hat® Advanced Developer Suite は、適用可能なセキュリティ機能を備えた、セルフサービス型の厳選された開発者エクスペリエンスを構築できるようにプラットフォーム・エンジニアリング・チームを支援します。開発者ポータルと自動化されたセキュリティゲートおよび応用 AI を統合することで、開発者の認知負荷とサプライチェーンの摩擦を軽減します。

Red Hat Developer Hub は、統合されていないツールを視覚的に統合し、ドキュメントを一元化し、ゴールデンパスとなる事前承認済みのソフトウェアテンプレートを提供します。これによってオンボーディング時間が短縮され、開発者は構想段階からコーディングへと直接取りかかることができます。

Advanced Developer Suite のセキュリティ機能 (エクスプロイトに関するインテリジェンスなど) は、AI を活用したコード推論を用いて脆弱性アラートを自動的に選別し、トリアージします。Advanced Developer Suite は、理論上のあらゆる脆弱性を突き止めることを開発者に強いるのではなく、実際のアプリケーション実行時のリスクに基づいて修復の優先順位付けを行えるようにチームを支援します。Red Hat Trusted Artifact Signer、Red Hat Trusted Profile Analyzer、Red Hat Trusted Libraries などの統合製品およびコンポーネントは、暗号化コードの署名、出所追跡、および Supply Chain Levels for Software Artifacts (SLSA) レベル 3 の検証済み依存関係管理を自動化し、取り込みからクラスタ実行時までのコードのセキュリティを向上させます。

エンタープライズ Kubernetes に基づいて構築されている Red Hat OpenShift® は、アプリケーションを大規模に開発、モダナイズ、デプロイできるアプリケーション・プラットフォームです。セキュリティとコンプライアンス機能が埋め込まれ、オープンスタンダードに基づいている Red Hat OpenShift は、組織が従来型のワークロードと AI を活用したワークロードの両方を構築、加速、拡張できるよう支援します。各種ツールとサービスにより、コードの開発から提供、ハイブリッド環境全体でのアプリケーション・ワークロードの管理に至るまで、アプリケーションライフサイクル全体を効率化します。Red Hat OpenShift により、任意のインフラストラクチャで使える包括的なツールセットを使用して、イノベーションを加速し、AI の導入を単純化できます。これにより、統合されていないツールを操作および管理する負担が軽減され、結果として生じる相互運用性や可搬性の課題が解消されます。 

Red Hat OpenShift AI は、インテリジェントなアプリケーションの構築、トレーニング、デプロイを行うための完全に統合されたスケーラブルな環境をデータサイエンティストと開発者に提供します。これにより、AI を活用した自動化を、可能な限りスムーズにエコシステムに統合することができます。

Red Hat OpenShift Dev SpacesRed Hat Desktop は、プロダクション環境を忠実に再現した一貫性のあるコンテナ化されたクラウドおよびローカル開発環境を提供します。これによってチームは、クラスタにデプロイする前にアプリケーションを安全にテストしたり、AI エージェントをサンドボックス化することができます。

リソース

ハイブリッドクラウドの開発者エクスペリエンスをモダナイズ

Red Hat Services でハイブリッドクラウド環境での開発者エクスペリエンスをモダナイズし、アプリケーション提供を加速します。e ブックをダウンロードする。

関連情報

エンタープライズ・アプリケーションとは

エンタープライズ・アプリケーションとは、組織全体の主要な業務プロセスを管理するソフトウェアのことです。

ステートフル・アプリケーションとステートレス・アプリケーションの比較

ステートフル・アプリケーションとステートレス・アプリケーションの違いは、ステートフル・アプリケーションでは過去と現在の情報が保存されるのに対し、ステートレス・アプリケーションではそうではないことです。

IDE (統合開発環境) とは?をわかりやすく解説

IDE (統合開発環境) とは、アプリケーション開発に必要な機能 (エディター、コンパイラー、デバッガー等) を 1 つの GUI で使えるようにまとめたプログラミング環境です。

アプリケーションの開発と提供リソース