はじめに
「アジャイルを導入したけれど、結局リリースサイクルが変わらない」「スクラムの儀式だけが増えて、開発現場が疲弊している」……そんな声をよく耳にします。
なぜ組織のアジャイル化はうまくいかないのか。その正体は、手法の形だけをなぞり、アジャイルの根幹である 「インクリメント(成果物)の価値」 と、それを支える 「テストの構造」 に向き合えていないことにあります。
1. 組織のアジャイル化=Scrumを導入すること、ではない
アジャイル化を目指す際、多くの組織が「Scrum, Sprint, Planning, Review」といったフレームワークの導入から始めます。しかし、形から入るだけでは意味がありません。
真に大事なのは、 「インクリメントの価値を、要件単位で考えるようになること」 です。
IT側だけが頑張っても意味がありません。ビジネス側が「どの要件を先にリリースすれば、最も早くビジネス価値を生めるか」を判断し、優先順位(バックログ)を研ぎ澄ませる必要があります。
※ビジネスに全振りする意図はありません。ITだけでは不十分だ、が言いたいことです
2. 【ケーススタディ】なぜ「全部入り」のリリースを待ってはいけないのか
ここで、私が経験したあるプロジェクトの例を紹介します。既存サービスに3つの機能追加を行うプロジェクトでした。
| 機能 | 内容 | システム修正量 | 想定業績貢献 |
|---|---|---|---|
| ① 新規オプションA | 既存の類似機能を流用可能 | 小 | 大 |
| ② 新規オプションB | 中規模な改修が必要 | 中 | 中 |
| ③ 販売ルールの改善 | 検証範囲が広く、複雑 | 小(ただし検証は大) | 小 |
当初の計画では、これら3つを「一つのプロジェクト」としてまとめて開発し、最後に一括リリースしました。しかし、事後の評価では 「利益のほとんどは機能①によるもの」 であり、②と③の貢献はごく僅かだったことが分かりました。
もし、アジャイルに「①だけ」を先にリリースしていたら?
ここで重要なのは、 「①だけなら数ヶ月早く市場に出せたはず」 という事実です。
- 先行者利益: 競合他社より早く投入することで、市場シェアを早期に獲得できたはず。
- リスク軽減: 検証が肥大化しやすい機能③を切り離すことで、①のリリース確実性が上がったはず。
「せっかく開発するならまとめて出した方が効率が良い」という思い込みが、実は 「最も価値のある機能を市場から遠ざけてしまう」 という本末転倒な結果を招いていたのです。
3. 現場を阻む「テストの経済合理性」という壁
なぜ①だけを先にリリースできなかったのか。そこには「テストのコスト」という大きな壁があります。
従来の考え方では、 「小分けにリリースすると、その都度テストが必要になり、トータルのコストが上がる。まとめてやった方が楽で安い」 と判断されがちです。
開発を粒々(スプリント単位)で行っても、テストを最後にまとめて行うなら、最終的なリリース日はアジャイル導入前と何ら変わりません。この「短期的な経済合理性」への執着が、ビジネスチャンスの最大化を阻害するのです。
4. 自動化は「あれば便利」ではなく「生存条件」
細かなリリースを繰り返すために増大するテストコスト。これを解決する唯一の手段が 「テストの自動化」 です。
(目的ではなく、このテストの課題を解決する手段に過ぎないという点がポイント)
リリース頻度を上げれば上げるほど、手動での回帰テスト(デグレード確認)の回数は指数関数的に増えていきます。
- 価値を細かく届けたい(ビジネス要求)
- リリース頻度を上げる必要がある
- テストの回数が増える
- 手動ではコストも時間も見合わない
- ゆえに、自動化なしにアジャイルは成立しない
「自動化は余裕があればやるもの」ではなく、アジャイルを実現するための「不可欠なセット」です。自動化に投資しないアジャイルは、いずれ手動テストの重みに耐えきれず崩壊します。
5. 明日から「形だけのアジャイル」を壊すための3つの処方箋
「理屈はわかった。でも、どこから変えればいいんだ?」という方へ、今日から始められる3つのアクションを提案します。
-
「価値の優劣」を数字で可視化する
- 機能①②③を同時にリリースすることを優先する場合、機能①を3ヶ月遅らせることになり、売上◯千万円を捨てることと同じです。この「痛み」をビジネス側と共有し、「早く出すための分割」を議論してください。
-
「テストの棚卸し」をする
- 「全部のテスト」を毎回やっていませんか?修正に関連するリスクに絞る、または自動化できる箇所を特定して「小分けリリースの心理的コスト」を下げてください。
-
「小さな自動化」を実績にする
- いきなり全自動を目指さず、リリースごとに発生する「あの10分の手作業」をPythonやPlaywrightで自動化することから始めてください。
おわりに:テスト自動化は、実は「誰でも」できる
アジャイルの効果が見えるのは、 「リリース内容に優先度という優劣がつき、それに基づき細かく、かつ自動化されたプロセスでリリースされている状態」 まで到達した時です。
「テスト自動化なんて、高度な技術セットを持ったチームにしかできない」と思われがちですが、実はそんなことはありません。私自身、現場で試行錯誤する中で、 「正しいステップを踏めば、テスト自動化は誰でも、絶対に導入できる」 という確信を持つに至りました。
次回は、その具体的なステップ—— 「テスト自動化の導入。誰でも絶対できる。」 というテーマで、現場で培ったノウハウを余すことなく公開したいと思います。
ぜひ、フォローしてお待ちいただければ幸いです!
著者より
現場の「とりあえずアジャイル」に違和感を感じている方の参考になれば幸いです。