開発生産性 Conference 2023 を視聴しました

https://qiita.com/advent-calendar/2023/kaonavi

この記事は カオナビ Advent Calendar 2023 24日目です。

## はじめに
こちらのカンファレンスに参加してきました！

https://findy.connpass.com/event/298196/

Findy株式会社主催のイベントで、オフライン200人、オンライン600人規模の、大規模な勉強会です。
GitHubやGoogleなど名だたる企業の方々がご登壇されていました。

## 視聴セッション

### CTOが語る、ビジネスグロースに向けた開発生産性向上への道すじ

「株式会社はてな」の大坪様と、「株式会社ユーザベース」の文字様が登壇されていました。

「株式会社ユーザベース」開発生産性への取り組み
![スクリーンショット 2023-11-28 12.54.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/669d2bf9-7c36-86c8-ff29-0779e690af28.png)

「株式会社はてな」開発生産性への取り組み
![スクリーンショット 2023-11-28 12.56.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/1ceafdc8-d3dc-db0c-78d5-4f6716ed50b1.png)

:::note info
*「リードタイムの可視化」*
可視化をすることで新たな気づきに繋がる。
また、チーム間で可視化された数値を比較することで、よりチームの練度が上がっていく。
:::

私自身、リードタイムをもっと速くできるんじゃないか？と感じることはあり、
なんとなく体感はしていても、自身の作業のどの部分が、遅いのか？
どの部分はむしろ早いのか？わかっていません。
高速化対応する時とか、どこが遅いのかボトルネックを探りますよね。
可視化をすることで、適切な改善活動ができるというところに共感しました。

:::note info
*「質の重要性」*
可視化を行い改善を重ねることで開発速度が上がりました。
ただ、事業やサービスの成長につながっているかと言うと、そう言うわけでもない事実もありました。
プロダクトを届ける先を見つめつつ開発速度を上げることが重要だと考えています。
:::

開発生産性を上げつつ、品質は落とさないことがとても重要だと私も考えています。
この品質は、コーディングの品質もありますが、お客様の価値という意味もあります。
私自身は、企画当初からなるべく関わるようにして、お客様が何を求めているのか？を
把握しながら、設計、実装に向かうようにしています。

### 組織拡大フェーズにおけるペインと開発生産性向上の推進

「株式会社BuySell Technologies」の今村様と、「Chatwork株式会社」の田中様が登壇されていました。

:::note
組織拡大フェーズのエンジニア組織のペインとは？

*拡大のたびに発生しやすいこと*
エンジニアのアウトカムが見えづらくなる
エンジニア一人一人のアウトプットも見えづらくなる
50名程度までは一人一人の顔とか性格が把握できるが、それ以上は難しい
開発に対する定量化が求められるが、現実難しくなっていく
:::

![スクリーンショット 2023-11-28 13.34.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/bfbd6070-caa6-a80e-143c-aaf7d215a0a5.png)

![スクリーンショット 2023-11-28 13.36.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/a9bdff8e-7bdb-ed52-7602-47857e347211.png)

::: note
*「文化づくり」*
開発以外のところにも注力している。
各制度ごとに、CTO室と各部のEM達でペアになって、文化を醸成していく

一番最初に取り組んだのは、中途採用と評価で
目標を見せることと、行動を適切に評価することで、エンジニア組織全体を望む方向に舵を切る
:::

開発生産性を上げる　と考えた時、エンジニアの作業ベースで高速化を考えていたので、はっとしました。
エンジニア組織全体の文化醸成を行うことで、各エンジニアが生産性に意識を向けるようになったり
アウトカムに意識を向けるようになることが先ず大事という気付きを得ました。

![スクリーンショット 2023-11-28 13.45.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/af40c91b-8f41-145e-cfaa-f0689b49f4bd.png)

::: note
投資側に関わっているところを全て可視化することにトライ中
また、アウトカムの指標の可視化も見える化することで、開発生産性の全容を把握

アウトプットのみの見える化をすると、アウトプットにしか目がいかなくなることがあり
早い方が優秀 どやっ みたい話になるのは避けたい。
アウトカムに目が行くように、数値化することが重要。
:::

爆速でプルリクを上げたとしても、無駄機能だったらお客様の価値は０なので、
お客様の価値ベースで、価値をどれだけ速くあげられるか？
ここが本当に重要だと感じました。

### 受託開発組織におけるメンバー、チーム育成を促進する開発生産性可視化

「クラスメソッド株式会社」の髙橋様と、「株式会社ゆめみ」の桑原様が登壇されていました。

![スクリーンショット 2023-11-28 14.20.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/cf39af49-c109-4e67-7582-13350587eaee.png)

:::note 
*いままでの問題点、課題感*

メトリクス測っていなかった
測るにしても、受託会社のため、
始点と終点がお客様都合で変わったりする点
不具合修正期間は、プルリクの上がる速度が速いけれど
不具合修正なので、そりゃそうなる。
フェーズによっての計測が難しい。
:::

素敵だなと思ったところ
- Approveした人に責任がある雰囲気 → 「コードにおける責任はチーム」を明文化
- メトリクスを測ったことで、アウトプットが平均的に現時点で0.4ポイント上がった
    - 数字が見えると、やる気につながるのかもしれない。

### 開発生産性を測る新たなフレームワーク「SPACE」の定義と実践

「株式会社ワンキャリア」の宇田川様が登壇されていました。

<details><summary>「SPACE]フレームワークとは</summary>

***「SPACE]フレームワークとは***
Microsoftの研究チームにより提唱された生産性を測定するためのフレームワーク
従来の生産性測定より、広範囲を対象とすることが特徴

![スクリーンショット 2023-11-28 14.38.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/5e42a3e4-b3e0-ab4b-ee1a-aac506cc8248.png)

![スクリーンショット 2023-11-28 14.39.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/99f05a10-fe09-50c6-7c39-a1e0dbde8e97.png)

![スクリーンショット 2023-11-28 14.40.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/a87f85c2-6ef2-5418-8787-f1ed637c0792.png)

![スクリーンショット 2023-11-28 14.41.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/4df4f71f-bd1a-de45-6d9d-f234e2c9d5a3.png)

![スクリーンショット 2023-11-28 14.42.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/f2605bbe-c287-2da5-a509-4fe8be3fa918.png)

![スクリーンショット 2023-11-28 14.42.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/f6a5e51f-66a5-2b12-7913-3271c804c76d.png)

![スクリーンショット 2023-11-28 14.43.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/610c4aad-4092-75de-8094-9a4c52695c5a.png)

Eはスクショし漏れたので、ググってください！
</details>

<details><summary>SPACE運用</summary>

![スクリーンショット 2023-11-28 14.48.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/71af71a8-20d7-a523-12b1-868f56adfb9f.png)

![スクリーンショット 2023-11-28 14.48.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/57732207-acb1-3fb8-57fc-2c73c55561b8.png)

わかりやすさと、計測のしやすさをベースに指標を選定しました

![スクリーンショット 2023-11-28 14.49.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/771115b1-d234-6bf6-49aa-b154ff69d30f.png)

![スクリーンショット 2023-11-28 14.51.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/18dbdd9f-f4e9-7786-604d-2d7f1ea47b14.png)

SPACEは、具体的な指標例を定めていないようなので、企業や開発体制によって指標を考える必要がある。
また、指標に対して、基準を設けることが難しいので、時間軸で１ヶ月、３ヶ月などでの振り返りをすることが重要。

</details>

改善活動のフレームワークにFour Keysや、SPACEというものがあるのを初めて知りました。
これらフレームワークをベースに活動を行うことで、エンジニアにも受け入れられやすいし、
経営層の合意も取りやすいところが良いポイントだなと思いました。
運用では、時間軸で、チーム毎に計測、改善する形は素敵だなと思いました。

### ウォーターフォール開発における開発生産性向上

「株式会社viviON」の松永様が登壇されていました。
DLsiteの運用会社です。

*開発生産性向上に本格的に取り組む前にやっていたこと*
- Googleカレンダーから会議の時間を引いてみた
- PRの変更行数を比較してみた
etc...

*取り組み始めて明るみになった課題*
- PRの規模が大きくてレビューに時間がかかる
- PRの指摘が多い
- PR開始までの時間が長い
![スクリーンショット 2023-11-28 15.29.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/0cf2ad7f-f694-c03b-f547-4c6b76dc5bf1.png)
![スクリーンショット 2023-11-28 15.29.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/a1050ae9-dee6-62d7-0d4a-63e8d0249db3.png)

*PRを小さくすることで解決しようとしました*
![スクリーンショット 2023-11-28 15.30.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/fc3873ad-2784-fd3d-598c-d65b9ab295b7.png)
![スクリーンショット 2023-11-28 15.31.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/b3b7f5d5-35bc-afe3-ac98-5dcc0ecdc317.png)

*ただ、こう言う問題も出る*
![スクリーンショット 2023-11-28 15.33.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622292/96006140-9141-c206-a431-7ee99675e409.png)

*そう言う問題はこのように解決している*
- UnitTestを書く
- 動作確認を行う
- レビューアーの固定化で、コンテキストを維持しながらレビューしている
※ただ、固定化されたレビューによるボトルネックの解消はできていない
※社内背景として、頻繁なデプロイを必要とする組織ではない

PRは小さい方がレビューしよう！って気になりやすいのは事実だし
見やすいのも事実だけれど、コンテキストを見落としやすい問題を
どのように解消するか？が難しいと思ってました。
動作確認で解消するというのはその通りだけれど、シフトレフトしたい気持ちもあります。

今日の公演を聞いて思ったのは、
企画〜リリースの規模感にポイントを振りアウトプットを計測しつづけることで
後戻りしてもPRを小さくするほうが速いか、
全体像を見れるレビューを密に行う方が速いか、
検証できるんじゃないかな？と思いました。
大事なのは、やっぱり可視化だと感じた。

### 海外エンジニア拠点の開発生産性マネジメント

都合上、最後の公演は見れませんでした。

## まとめ

弊社でも開発生産性を上げるためには、どのようにすればいいか？
模索しながら進んでいます。

今日の公演を聞いて、 **アウトプットの見える化や、アウトカムの見える化** の重要性を感じました。

個人的にはPRが大きくなりがちなので、PRを小さくした時の検証をしてみたいです。
手間をかける時間より、レビュー速度が上がることにより、最終的な速度の向上に繋がるかもです。
先ずは、今の速度を測り、変えた速度を測ることをしていくことで、成果へのスピードが上がるかも？と期待感があります。

総じて学びが多く、とても楽しいカンファレンスでした！

https://corp.kaonavi.jp/recruit/recruitment/