icon

Blog

なぜFour Keysが嫌われるのか

2024/01/30

サイクルタイム改善に取り組む中で、Twitter での意見やメンバーからの反発もあり、思うところがあったので自分なりの考察と意見をまとめてみる。


"生産性向上" は質より量?

最近目に留まったポストはこちら。

https://twitter.com/yusuke_kokubo/status/1740524775381123431

主張としては、Four Keys で扱っているのはアウトプットの量であり、アウトカムには目を向けていないというもの。自分としては Leanと DevOpsの科学[Accelerate] に書いてある内容は価値を届けるための取り組みが多いと感じていたので意外だった。

2023 年は開発生産性に関するイベントが多く開催され、Lean と DevOps の科学を読んでない人たちにまで、 生産性や Four Keys というフレーズが前提の認識なく伝わっている印象を受けていた。(もちろん前提があった上で生産性への忌避感を持っている人もいると思う)

社内でも感じる生産性向上への不信感

Twitter で見かけたポストと同時期に、社内でも似たような意見を耳にすることがあった。

社内での生産性改善の取り組みの詳細は割愛するが、主要な改善活動としては以下の流れになっていた。

チームのふりかえり時間でのサイクルタイム分析 ⇄ コードレビューの改善

その結果、初めはレビュープロセスを改善することで良い兆候はあったものの、すぐにマンネリ化が始まってしまった。生産性向上への取り組みもあまり理解を得られていない雰囲気も感じていた。

「LeanとDevOpsの科学」のおさらい

改めて読み直して気づいたことを 2 つ。

価値への関心

そもそも Lean のアプローチは「無駄を最低限にして、とにかく顧客に価値を届けよう」というものである。Four Keys を見た限りでは価値が抜け落ちるかもしれないが、本書では価値を忘れていないどころか重視しているように感じる。

従来は内側で少しでもいいものを完全に作り上げてからリリースするアプローチだったが、DevOps ではそれのもたらすフィードバックループとフローの高速化によって、継続的に改善するアプローチを取っているため、考え方の転換が必要になる部分はある。これもチームからの不信感を募らせる可能性がある。

ケイパビリティの獲得が強力な改善をもたらす

生産性を測定するための指標として Four Keys を定義しただけでなく 、ケイパビリティの獲得がソフトウェアデリバリーのパフォーマンスに有意な改善をもたらす能力も明らかになっている。

Google Cloud | DevOpsの能力

社内の取り組みでは、Four Keys とサイクルタイム分析という数値が先行し、ケイパビリティ獲得という観点での取り組みが後手に回ったという自覚があり、チームからの不満をもたらす要因になっていたと感じる。

社内で生産性改善する時は、Four Keys は表に出さずチームで足りないケイパビリティを獲得しようという発想で動き始めた方が不信感も少なく、関係者で同じ方向を向いて前向きに動き出せるかもしれない。

人によって求める "はやさ" の観点が違う

この記事を読んで、何を持ってはやいと捉えるかは見方によって変わるということを認識できた。

スループット的な速い :決まった時間にどれだけの施策の個数をこなせたか?などのように時間を固定して、アウトプットの数を数えるもの。これまで議論してきた生産性的な意味でのはやい。同じ工数などでどれだけの機能を実現したか。
リードタイム的な早い :ある施策に注目したときに、それをリリースするまでに何日かかったかなどを数えるもの。これまで議論してきたはやいとは違い、数ではなく期間に注目するもの。

開発生産性について議論する前に知っておきたいこと

結局は、リリースにかかるまでの時間を短くしないと意味がないよねという気持ちはみんな持っているので、社内の動きとしてもデプロイ頻度を上げる取り組みはスループット工場よりも力を入れて取り組むべきだった。

また、受託開発と自社開発では、何のために生産性を改善するのかも大きく変わってくる。自社開発では純粋に顧客へ多く価値を提供する目的となるが、受託開発では予定していた機能を遅れずにリリースすることが発注者への価値になることが多い。この点も生産性という言葉の背景がブレやすいポイントになっていると感じる。この視点は自分では気づくことができなかったが、最近参加した勉強会で発表後にディスカッションする中で教えてもらうことができた。

おわりに

アジャイルにとってのスクラムが、XP の価値やプラクティスを置き去りにしたように、Four Keys や"生産性"の取り組みの前提や改善の中身の理解が伴っていないように感じていた。自分なりの考察ではあるが、勉強会での発表の場も借りて言語化することで、生産性改善の取り組み自体を改善するヒントを得ることができた。今回の気づきを持って前提が伝わるコミュニケーションを意識して目線を合わせて改善に取り組む。