こんにちは。ABEJAで開発グループのマネージャーとアジャイルコーチをしている小川です。
こちらは ABEJAアドベントカレンダー2024 の15日目の記事です。 他にも弊社メンバーが面白い記事をどんどん投稿予定なので、是非チェックしてみてください。
また、これまで私がアジャイルコーチ・スクラムマスターとして書いた記事もございますので、ご興味あればぜひ見てください!
はじめに
私のチームでは普段スクラムを使ってアジャイルを実践しているのですが、最近、エクストリームプログラミング(XP)を取り入れて開発を進めてみました。実際にやってみるといいところもあれば難しいところもあり、多くの学びを得ることができました。
「XPをスクラムチームが使うとどうなるのか?」
私たちのチームでは、驚きの効果と意外な課題を体験しました。今回はそのリアルな体験をシェアします!
スクラムとXPの簡単な違い
スクラムは透明性や自己組織化を促進し、プロダクトバックログを基にスプリント単位で開発を進めるフレームワークです。一方、XPは頻繁なリリースや技術プラクティス(TDDやペアプログラミング)を含み、柔軟性と変更対応をより強調しています。
違いについてもう少し詳しく知りたい方向けに参考になりそうなページも貼っておきます! blog.engineer.adways.net
オンサイトカスタマーと開発者の密な連携による驚きのパワー
オンサイトカスタマーの役割は、仕様の確認やフィードバック提供だけでなく、チーム全体に一体感をもたらし、開発プロセスを大きく進化させる力があると感じました!
今回、PMがオンサイトカスタマーとして参加し、動くプロダクトを毎日確認。高頻度なフィードバックと柔軟な調整を通じ、曖昧だった仕様が次第に明確化しました。これは、XP の「オープンワークスペース」というプラクティスで、いつでも一緒に共同作業ができる環境を指すのですが、その効果を実感することができました。
実は、このプロジェクトは、特定領域の専門家がその特定領域に特化したLLM出力をアノテーションするためのアプリ開発なのですが、その専門性の高さから、最初は具体的な仕様が不明確な状態でした。オンサイトカスタマーと開発者が密に連携することで、プロジェクトは手探りながらも確実に前進し、当初の想定していたベータ版リリースまでの期間を29%早めることができました!
チャレンジと試行錯誤
オンサイトカスタマーが常にそばにいることで、スクラム的に言うと「プランニングやスプリントレビューが随時行える」ような柔軟性とスピード感を手に入れることができました。
しかし、それと引き換えに、開発プロセスの区切りが曖昧になるという課題にも直面しました。また、高頻度な仕様変更による手戻り感や疲弊感が生じるといった形で開発者にとっては負担となることもありました。
さらには、スプリントゴールやプロダクトゴールといった明確な目標がない状態では、全体の進捗が見えづらくなり、開発が行き当たりばったりになる(と感じさせられる)点も開発者体験を損ないました。
これらの課題を解決するために、スプリントゴールのような一定粒度のゴール設定も必要だという共通認識に至り、「Deploy N: "開発スコープを示す表現"」という形で直近のゴールを設定するようにしました。また、同時にXP の週40時間ルールも取り入れて、業務のメリハリと継続性を持つことも意識しました。
そんなこともあったので、区切りを持たせて頭を冷静にするという意味でも、スクラムで実施していた週次のレトロスペクティブはXP 進行においても継続して実施することにしました。チーム内で直面している問題点や改善点を率直に話し合える場の大切さに改めて気づいたのです。(外国にいって初めて自国の良さを知るような感覚でしょうかw)
スクラムの良さも取り戻しつつ、オンサイトカスタマーと共にイテレーション中でも計画を柔軟に変更できるXPの特徴も活かすことで、チームはこれまでにないスピード感と自己効力感も得ながら開発する力を得ました!
ただし、このあたりのプラクティス導入のバランスはチームによって異なると思います。アジャイルコーチ(またはスクラムマスター)としてはチームに対してフレームワークや各種プラクティス導入を手引きしつつも、チームが自ら考えながら必要に応じて自分たちでやり方を取捨選択できるようにするきっかけと気づきを与え続けることがとても大切だと思いました。
アジャイルの真髄とは?行き当たりばったりじゃない柔軟性の秘密
XPを実践する中で感じたのは、「アジャイルの真髄とは、密度の濃い対話と共同作業にある」ということです。
同時に、ゴールの大切さも痛感しました。
「アジャイルは行き当たりばったりではなく、方向性を持った進化です!」ということを改めて主張したいです!
単なる即興のように見えても、そこには計画と振り返りがあるからこそ、本当の柔軟性が生まれるのだと実感しました。
まとめ
今回、スクラムチームの我々がXPを実践してみたことで、スクラムにはない柔軟性とスピード感を享受しながらも、同時にその課題も感じました。結局のところ、スクラムとXPのいいとこ取りをして、自分たちに合ったバランスを見つけることが大切だと思います。
特にオンサイトカスタマーとの連携が生み出す効果と、チームの疲弊を防ぐためのレトロスペクティブの取り組みは、今後も続けていきたいと感じました。
XPを取り入れることで、私たちのチームは今まで以上の柔軟性とスピード感を手にしました。一方で課題も多く学びの多い体験となりました。スクラムとXPの融合がもたらす可能性は無限大です。ぜひ、あなたのチームでも挑戦してみてください!
We Are Hiring!
ABEJAは、様々な業界におけるテクノロジーの社会実装に取り組んでいます。 技術はもちろん、技術をどのようにして社会やビジネスに組み込んでいくかを考えるのが好きな方は、下記採用ページからエントリーください! 新卒の方やインターンシップのエントリーもお待ちしております!
特に下記ポジションの募集を強化しています。ぜひ御覧ください!
プラットフォームグループ:シニアソフトウェアエンジニア | 株式会社ABEJA