「開発生産性」を考えよう!レバテックさんと勉強会を開催しました

こんにちは!DXビジネス開発部フィールドソリューションユニットの鈴木です。

9月4日(水)、オプティム東京本社にてオプティムとレバテック株式会社の合同勉強会「OPTiM × レバテック ビジネス価値を追求する開発生産性」が開催されましたので内容をお届けします!

optim.connpass.com

また、来たる Vue Fes Japan 2024 前の10月17日(木)に前夜祭を開催します!
主催するオプティムと株式会社 every は実は Vue Fes Japan 2024 のゴールドスポンサーです。
今回は LT 発表者も募集していますので、発表したい方も聴講したい方も、少しでも興味ありましたらぜひご応募ください!

optim.connpass.com

はじめに

「OPTiM × レバテック ビジネス価値を追求する開発生産性」ではオプティムとレバテック株式会社の開発者それぞれ2名が登壇し、「開発生産性」をテーマに各々が実践している開発プロセスの効率化やチームのパフォーマンス向上に役立つ知識を共有しました。開発生産性とはそもそも何なのか?から開発生産性を導入するための準備、導入後に継続させるのための考え方、改善したかどうかの評価方法に至るまで幅広く網羅できる内容でした。今回は社外からの現地参加者10名を含む合計33名もの方が参加くださり、ビジネス価値に直結する生産性向上について活発に議論されました。

[LT1] 開発生産性についての考察と​SPACEフレームワークの実践 (OPTiM 東)

最初は開発生産性の指標の1つ「SPACE」をOPTiM Storeチームで導入した事例の紹介です。

Storeチームでは当時、定期的に開発目標を設定しているものの生産性が向上しているのか停滞しているのか、チーム内でのモチベーションがどうなのか定量的に判断できずにいました。まず開発生産性とは何か?に立ち返り具体化していきますが、測定しやすく改善しやすいかどうかと実際にプロダクトとしての価値を判断しやすいかどうかはトレードオフの関係でした。つまり、指標によってあっちでは結果が出ていたけどこっちではそれが見えていなかったという現象が発生するため、1つの指標だけを見て開発生産性を測ることはできないのです。

SPACEフレームワークでは満足度から活動量、効率まで5つの指標を個人、チーム、システムそれぞれにかけ合わせた複数の指標で生産性を測ります。ただし、実際に全てを測るのは大変なのでStoreチームではディスカッションを通して例えば個人 x 満足度は「メンバーの体調スコア」という具体的なKPIを定義していき、それを元に重要だと思う組み合わせを選別した上で計測しました。結果を元にしたアクションは今後の課題となっていますが、これによりチームの状況を定量的に集計してグラフ等で可視化することでわかりやすく把握できるようになり、次のアクションに繋げやすくなったのは大きいですね。

[LT2] アウトプット=アウトカムではない世界で開発生産性を考える (レバテック 瀬尾)

speakerdeck.com

次の発表では、よくある開発視点の生産性ではなくビジネス視点での生産性に着目していました。

一般的な開発生産性の指標で計測できるのは開発者の満足度、デプロイ頻度などあくまでも開発者の体験にまつわるものであり、瀬尾さんのチームでも導入してはいましたが、開発内でいくら効率化したところでそれがどのくらいビジネスに良い影響を与えている「価値のある開発」なのかまでは把握しにくいモヤモヤがあったと言います。そんな時、瀬尾さんはレバテックにおける営業支援システムの特定領域に対する開発を担う「ドメインチーム」として業務することになり、営業組織の要望をどう整理して開発に反映すればより良くなるのか模索している中で「ドメインエキスパート」である事業企画の方とコミュニケーションを取ります。ドメインエキスパートは事業目線から営業組織で何を目指していて、そのために何を最優先で開発する必要があるかの「価値のある開発」の答えを持っていたのです。

価値のある開発を行うために、開発内部の生産性 = アウトプットを向上させるだけでなく事業の生産性 = アウトカムの指標を大切にして、そして、ドメインエキスパートと開発者をまじえた「コミュニティ」という形を意識して、事業のアウトカムを向上させる特定ドメインの改善を行うためのコミュニケーション設計・文化づくりを実践したとのことでした。

[LT3] 開発生産性を始める前に開発チームができること (OPTiM 和田)

speakerdeck.com

次は新たに開発チームを立ち上げる等で開発生産性の考えを導入しようとしている、またはうまく導入できていない人をターゲットに、開発生産性を導入できるチームとはどのようなチームなのかを考えました。

開発生産性を評価する指標は先に出た SPACE から Four Keys、エビデンスベースドマネジメント (EBM) など多様に存在しています。しかし、いざ導入して効率化を図ろうとしても実際はそれ以前の問題…例えば、要望を鵜呑みにして正しいニーズを捉える体制ができていなければ、いくら要望に早く対応できるようになったとしても顧客が求めていることを達成できないことがあり、出戻り作業が増えてしまいます。また、チームの成長段階も考慮すべきであり、タックマンモデルを用いると効率化を受け入れられるのは機能期以降のため、混乱期を早く抜ける必要があるのです。

実際、最近リリースされたOPTiM サスマネでは不確実性を潰しながらチームのマインドを徐々に物的生産性から付加価値生産性にシフトしていきました。形成期から混乱期ではチームのコミュニケーションを円滑化するためにツールを整備し、形成期から統一期ではスプリントレビューのアンチパターンを防ぐためバザー形式のスプリントレビューを採用、統一期から機能期ではデュアルトラックアジャイルの採用を行うなど、成長段階により少しずつ開発生産性を向上させる対応を取り入れ効率化を進めています。

[LT4] ビジネス貢献を目指して〜開発者体験から始める開発生産性向上~ (レバテック 三草)

speakerdeck.com

最後は開発者体験 (従業員満足度) の向上に注目した生産性向上の取り組みです。

LT2の瀬尾さんと異なり、三草さんは組織全体の生産性向上を担っているため、全体を見て最もバランスよく生産性を向上させる対応が求められると思います。レバテックではかねてより NewRelicTiDB の導入など組織の課題解決に繋がる様々な取り組みを行っており、課題解決自体は進んでいましたが、それにより1人1人が組織が良くなっている実感を得ることはあまりなかったそうです。そこで、DORA Core Model、「従業員満足」「顧客満足」「企業収益」の3つの循環を重視するサービスプロフィットチェーンなどを参考に、組織パフォーマンス最大化が見込める影響力の大きい要素として開発者体験の向上に着目しました。実際、満足度調査の状況を振り返ったところ、そもそもどのような成果がどのような傾向で得られているのか、結果からどのようなアクションを起こしていくべきなのかが曖昧になっていました。

そのためこの結果の精査を強化し、徹底的な定量化、可視化で現状を正確に理解した上で課題設定とそれに関するヒアリングによる改善点の洗い出しを行いました。改善の実行に関しては先に取り組んだ NewRelic やLT2で言及されたドメインチームも活用することができたそうです。これによって満足度はもちろんですがなんと特に意識していなかった FourKeys も同時に改善されており、開発者体験の向上はあらゆる生産性の向上の基礎になるものだということがわかりました。

おわりに

開発生産性のみをテーマにした勉強会は少ないので貴重な経験になりました。今までの自分であれば「開発生産性を向上させよう」という話になっても何から始めればいいか何がわからないかもわからないような状態でしたが、今回の勉強会で自分の立場や改善させる対象の大きさ、現在の対象の状態を理解した上で遂行する必要があること、指標を単に測るだけではなく重要な要素を絞り、それを徹底的に精査し続けて次の行動に繋げていくことの重要性を理解できました。

このように有意義なイベントを開催することができたのもお越しいただいた参加者の皆様、協賛くださったレバテック株式会社の皆様のおかげです。オプティムが開催する勉強会は今後も connpass で適宜告知していきますので、内容に興味がある方はもちろん、オプティムそのものに興味がある方もぜひご参加ください!オプティムのスタッフは皆様とお話できることを心よりお待ちしています。

www.optim.co.jp