🦸

我流のアジャイルがコーチのおかげで一変した話

開発のスタイルには大きく「ウォーターフォール型開発」と「アジャイル型開発」がある、ということは皆さんもご存知かと思います。


(出典): 総務省 情報通信白書 令和元年版

私達のチームは、初期からアジャイル型開発を採用していましたが、インターネットや人づてで聞いた情報を元に「こんな感じかな?」という感じで「我流」のアジャイルを実践していました。

今回は、そんな私達のチームがアジャイルコーチをお招きし、アジャイル型開発の本質を学び直すことで、チームの進捗や品質が劇的に向上した話をお話しします。

我流アジャイルだった頃の問題点

我流だった頃のアジャイル型開発には、以下のような問題点がありました。

  • スプリントの目標が曖昧
  • 見積もりが甘く、スプリントにタスクを詰め込みすぎる
  • 差し込みタスクも多く、未完了タスクが増加
  • 未完タスクを次のスプリントに雑に持ち越す
  • スクラムイベントに開発メンバーしか参加していなかった
  • アジリティ = 速さという誤解から、品質を犠牲にしていた
  • 持続可能ではない働き方になっていた
  • 自分たちでのスクラム改善がうまくいかなかった

このような状況では、開発メンバーは疲弊し、品質も低下してしまいます。
スクラムのスプリントは、開発メンバーが集中して取り組める期間であるべきで、無限に続く全速力の長距離走をやっていてはいけないな、ということに気づきました。

アジャイルコーチを招いた経緯

この状況を打破するために、スクラムの根本的な立て直しをするべく、アジャイルコーチを招くことにしました。
お招きしたのは経験豊富なスクラムマスターの松本潤二さんという方でした。
https://matsumoto-ya.com/agile/

松本さんは、スクラムの理論や実践を教えてくれるだけでなく、スクラムイベントや各種会議に参加していただき、チームの問題点を見つけ、改善のための多くのフィードバックを提供していただけました。

アジャイルコーチの指導で変わったこと

さいしょに

はじめに、スクラムに関与するメンバーを一同に介して、スクラムの理論や実践についての研修を受けました。

その時に事前に読んで感想を持ち寄ってね、ということで皆で読んだのが以下の3つのドキュメントでした。
アジャイルで行こう!と思った最初の頃に読んだきり見返していなかったことに気づき、読むほどに発見がありました。

さらにスクラムに限定されることのないふりかえり技法としての「KPT(けぷと)」を実践しながら学びました。
全員がふりかえりのやり方を理解した上で、その後実際のスプリントの中で実践していったのですが、これが非常に効果的でした。

スクラムに関する体制の変更

まず、スクラムイベントに参加するメンバーを、開発メンバーだけでなく、POや独立したSM、顧客側の代表としてのCSも含めるようになりました。

以前は私がPO、SM、開発メンバーの3役をこなしていたため、混乱が生じていましたが、役割分担を明確にすることで、専門的に役割を担えるようになりました。

これは私達にとって非常に大きな変革であり、日々の業務プロセスやコミュニケーションパス、会議体、目標設定など様々な範囲に影響を及ぼしました。

この体制の変更によって

  • タスクの優先度の変更はすべてPOが最終決定する。
  • スプリント中に生じた差し込みタスクもPO/SMが把握し、影響度・チームの見積りを勘案してスプリント内でやるか次スプリントに回すかを決定する。
  • 常に最優先は顧客に対する価値の提供。

といったことが徹底され、ステークホルダー全員の目線が揃い、同じ目標に向かって全力で進めるようになりました。

開発体制の変更

従来は、各開発メンバーがそれぞれの得意領域を担当し、リソース効率を重視した形でチケットを対応してきました。
それを改め、あらゆるタスクをペアプロで実施してすべてのタスクについて複数人が把握している状態を目指すようになりました。
これはフロー効率を重視した形への変換であり、開発メンバー全員が全領域を横断して把握することができるように変わりました。

ペアプロを業務の基本形とすることで、効率が下がるかと思いきや、常に会話をしながら作業をすることで自分自身で書いていて気が付かない内容をリアルタイムで指摘されるなど、コードの品質を高めることに大きく寄与しました。
また、基本ペアプロしているため、コードレビューの時間も大幅に短縮されました。

コミュニティオではフルリモートワークのため、ペアプロを行う際にIntelliJ IDEAのCode With Meを使ってコードを共有しつつ、画面共有も合わせてペアプロをしています。
https://www.jetbrains.com/ja-jp/code-with-me/

スプリントレビュー・ふりかえり

以前は開発メンバーだけでレビューを行い、形骸化した最終確認的な何かをしていました。
そしてふりかえりは実質やっていなかった、という状態でした。

しかしコーチによる指導を受けた後は、SMが主導してスプリントレビューを行い、事前に決めたタイムボックスの中で完了するようになりました。
また、KPTを用いたふりかえりを毎回実施するようになりました。
最初こそぎこちなさがありましたが、徐々に型ができ効果的なふりかえりができる状態を維持できるようになりました。

コミュニティオではKPTはnotion上でやっており、こちらのKPTテンプレートを使わせて頂いております。
https://www.notion.so/ja-jp/templates/kpt

見積もりの強化

以前は見積もりもざっくりしたものでしたが、スプリント計画ミーティングで全員が見積もりを行い、ストーリーポイントを基準としてスプリントに含めるタスクの量を調整できるようになりました。

突発的な差し込みタスクが発生した場合も、都度ストーリーポイントを見積もり、「本当に差し込むか」「あふれるタスクはなにか」といったことを合意するというコミュニケーションも正しくできるようになりました。

見積もり自体に関しても徐々に精度があがり、チームのベロシティも把握できるようになったため、過剰な労働をしなければスプリントが終わらない!という状況からも脱することができました。

コミュニティオはフルリモートワークのため、見積もり時のポーカーは Team porker を使わせて頂いております。
https://team-poker.app/

まとめ

アジャイルコーチを迎え、私たちのチームは大きく変わりました。
「アジャイルをやってるつもり」から「正しくアジャイルをやっている」という確信を得ることができたのはチームにとって大きなステップだったと思います。

また、あらゆる教えを通じて根底にあるのは「コミュニケーション」だということも再認識しました。

これからもチームとして、改善した体制を維持しつつさらなる高みを目指して試行錯誤を繰り返していこうと思います。

そんなイケイケアジャイルなチームで働いてみたい!という方は、是非コミュニティオの採用情報をご覧ください!
https://communitio.notion.site/05496fff13374e048835221f61764dc2

それでは、良きアジャイルライフを!🚀

コミュニティオ テックブログ

Discussion