Upgrade to Pro — share decks privately, control downloads, hide ads and more …

hachimaki37/20240617-devexmodel

 hachimaki37/20240617-devexmodel

LT勉強会で発表した資料です。
開発者体験の基となる「DevEx」という論文と「開発者体験に関するアンケート調査の結果」についてまとめました。こちらは新しくプロジェクトを立ち上げ、2名で進めています。

キーワードは、「開発者体験」,「SPACE」,「DevEx」の3つ、昨今話題の開発者体験についてです!

Avatar for Hachimaki37

Hachimaki37

June 17, 2024
Tweet

More Decks by Hachimaki37

Other Decks in Technology

Transcript

  1. はじめに - 本日の勉強会では、開発者体験の基となる「 DevEx」という論文と「開発者体験に 関するアンケート調査の結果」についてお話します - こちらは、新しくプロジェクトを立ち上げ進めています。いわば一旦の成果発表の会 です - 本日のキーワードは、「開発者体験」

    ,「SPACE」,「DevEx」の3つです - 今からすごくしゃべります。座学中心で恐縮ですが、途中で当てるかもしれません。 ぜひ聞き耳を立ててご参加ください - ※私個人の見解や認識が含まれます。その点ご了承ください
  2. 開発生産性とは何か? 開発生産性 = アウトプット / インプット ? = Four Keys

    の指標? = PRの数 ? = ストーリーポイントの量(ベロシティ)? = アウトカム / アウトプット ? みなさんは、開発生産性をどのように定義していますか?
  3. 4つの指標とは? - デプロイの頻度 - 組織による正常な本番環境へのリリースの頻度 - 変更のリードタイム - commit から本番環境稼働までの所要時間

    - 変更障害率 - デプロイが原因で本番環境で障害が発生する割合( %) - サービス復元時間 - 組織が本番環境での障害から回復するのにかかる時間 弊社でも Findy Team + を利用して Four Keys を可視化してたりしますよね
  4. なぜか? - 書籍:「Lean と DevOpsの科学」では、組織のパフォーマンスとデリバリのパフォー マンスを別物扱いとしており、Four Keys はデリバリのパフォーマンスの指標として 使われている。つまり、厳密には開発の生産性というよりも、 エンジニアリングチー

    ムのデリバリのパフォーマンスに関する指標が Four Keys である - 開発生産性を図るためには、生産性のさまざまな側面を捉え、 多面的に評価する ことが必要である - 開発生産性とは、エンジニアリングチームのデリバリのパフォーマンス( Four Keys)と多面的な評価(開発者体験)の 両輪の関係から成り立つのではないかと考 えています
  5. SPACEの5つのディメンション - Satisfaction and well being(満足度/達成感) - 開発者が仕事、チーム、ツール、文化にどれだけ満足しているか。満足度とエンゲージメントの低下 は、燃え尽き症候群や生産性の低下が近づいている兆候である可能性 -

    従業員満足度、開発者の効率性、燃え尽き症候群 など - Performance(パフォーマンス) - システムまたはプロセスの結果。ソフトウェア開発者のパフォーマンスを定量化することは困難であ る。そのため、パフォーマンス(開発者が書いたコードは、期待どおりに機能したか)は出力ではなく結 果として評価するのが最適 - 品質:信頼性、バグの不在、影響:顧客満足度、機能の使用、コスト削減 など - Activity(活動) - 作業の実行中に完了したアクションまたは出力の数 - 設計とコーディング。設計ドキュメントと仕様、作業項目、プルリクエスト、コミット、コードレビューの量 または数 など
  6. SPACEの5つのディメンション - Communication and collaboration(コミュニケーション) - 人々やチームがどのようにコミュニケーションを取り、協力し合うかを表す - ドキュメントと専門知識の発見可能性、新メンバーのオンボーディング時間と経験、誰が誰とどのよう に接続しているかを示すネットワーク

    メトリック など - Efficiency and flow(効率性) - 個人またはシステムを通じて、中断や遅延を最小限に抑えて作業を完了したり、作業を進めたりする 能力を指す。生産性の概念化は、多くの開発者が作業中に「フロー状態に入る」こと - 中断: 量、タイミング、間隔、開発作業とフローへの影響 など SPACEは、すべてのディメンションを同時に使用することは推奨しておらず、これら 3つ のディメンションから取ることを推奨している
  7. DevEx とは - 開発者体験に関する研究。Abi Noda らによる研究で、書籍:「LeanとDevOpsの 科学」を著した Nicole Forsgren(ニコール フォースグレン)

    も共著者として名前を 連ねている - 開発者体験というはっきりとしない概念について、それを 測定する枠組みを提供し ている - 開発者体験とは、開発者が開発を行なう過程で考えたり、感じたりする総合的な体 験のことをいう - ※この研究の調査対象は、すでに DevEx 企業 (DX) に取り組んでいる企業で働く 開発者。つまり、DevEx の改善に取り組んでいることを示している可能性および、 DevEx を重視する層に到達した可能性が高い
  8. なぜ、DevEx なのか? - 開発生産性を多面的に評価する具体的な手法を提供 している。つまり、Four Keys との両輪の関係が成り立つ - チーム・組織は、フロー状態、フィードバックループ、認知負荷の 3

    つの主要な領 域に焦点を当てることで、改善に向けた一歩を踏み出すことができる - つまり、このフレームワークに基づいて、開発者体験を調査し、把握することで、 よ り開発現場に近い課題の発見やそれに基づく改善ができる のではないかと考えた
  9. DevEx の 3 つの側面 フロー状態: 活動を行っている人がエネルギーに満ちた集中力、完全な関与、楽しさの感覚に完全に浸っている精神状態を指 す。分かりやすく言うと、ゾーン状態です - 綿密な作業に多くの時間を割いている開発者は、専用の時間がない開発者に比べて生産性が 50%

    高いと 感じています - 時間をかけて深い作業に費やすことは、開発者が真の生産性を発揮できるようにするという点で、大 きな利益をもたらす。開発者やチームが集中する時間を確保するよう奨励することが重要であり、開 発者やチームの環境は中断を最小限に抑えてこの実践をサポートする必要があります - 自分の仕事に魅力を感じている開発者は、仕事が退屈だと感じている開発者に比べて、生産性が 30% 高 いと感じています - ここでは、チーム内の個人間、または組織内のチーム間でのタスクの配分を再考することが役立ちま す
  10. DevEx の 3 つの側面 フィードバックループ: 実行されたアクションに対する応答の速度と品質を指す。より短いリードタイムを維持している組織は、競合他社に 比べてパフォーマンス目標を超える可能性が 2 倍高いことが一貫して示されています -

    コードレビューの所要時間が速いと報告する開発者は、所要時間が遅いと報告する開発者に比べて、革新 的であると感じています。コードレビューが迅速に完了することで、開発者やチームは次のアイデアにすぐに 移ることができ、次の素晴らしいものを思いつくための準備が整えられます - 緊密なフィードバックループは、別の前向きな結果をもたらします。開発者の質問に対して迅速に応答する チームは、応答が遅いチームよりも技術的負債が 50% 少ないと報告されています。開発者が繰り返し質問 する内容を文書化したり、開発者が必要な回答に簡単かつ迅速にアクセスして、コードを作成する際に適切 なコーディング手法とソリューションを統合できるようにツールを導入したりすることは有益です。これにより、 技術的負債が軽減されます
  11. DevEx の 3 つの側面 認知負荷: 開発者がタスクを完了するために必要な精神的処理の量を指す。認知負荷が低いと、開発者、開発チーム、および その組織にとってより良い結果が得られるという仮説が立てられています - 作業しているコードを高度に理解していると報告した開発者は、理解度が低い、またはまったく理解していな いと報告した開発者よりも

    42% 生産性が高いと感じています。これは、チームが迅速に行動する必要があ り、コードを明確、シンプル、または十分に文書化することを見落としている場合によくあるパターンです。 チーム内およびチーム間でコードを理解できるようにするツールと規約は、将来の生産性を保証します - ツールや作業プロセスが直観的で使いやすいと感じている開発者は、不透明なプロセスや理解しにくいプロ セスを持つ開発者と比べて、自分たちが 50% 革新的であると感じています。直感的でないツールやプロセス は、個人やチームの創造性を大きく妨げます
  12. 参考資料 - SPACE - https://queue.acm.org/detail.cfm?id=3454124 - https://www.infoq.com/jp/news/2021/05/space-developer-productivity/ - DevEX -

    https://queue.acm.org/detail.cfm?id=3595878 - https://queue.acm.org/detail.cfm?id=3639443 - https://moneyforward-dev.jp/entry/2024/03/07/090000 - Four Keys - https://newrelic.com/jp/blog/best-practices/what-is-four-keys - https://cloud.google.com/blog/ja/products/gcp/using-the-four-keys-to-mea sure-your-devops-performance?hl=ja