Scrum開発を導入した話
こんにちは。AITPでAgile Coachをしている菊池です。
僕が所属しているA-Team(社内開発チームの1つ)がScrum開発を始めてから1年が経過し、多くの知見が溜まってきたので、これからScrumに関する話をたくさん書いていきたいと思います。
※A-TeamはAITPが発足する前から株式会社Agarootのシステム開発室として仕事をしており、その期間も含めて1年と記載しております。

そもそもScrum開発とは
Agileという概念を体現するための1つの手法です。(その他の手法としては、エクストリームプログラミング、Real Time Budgetなどが存在します)
サイクルを回す期間、いくつかの会議体、Scrumに準拠した役割分担などを決め、生産性を高めるためにあらゆる改善をチーム全員で考え、自分たちにフィードバックを与えていきます。
Scrumは他のAgile手法と比較して、必要とする専門知識や技術が少なめで、導入しやすいという特徴があります。
Scrumをやる前はどうだったのか
元々Agarootのシステムは、外部のシステムベンダーに開発や保守運用を委託していましたが、システムをベンダーから引き継いで内製で保守する体制に切り替わりました。社内の要望をチケット化し、日々チームで進捗を確認しながら開発を進めていましたが、組織の黎明期ということもあり特に開発手法が定まっていなかったので、ウォーターフォールでもAgileでもない緩い開発スタイルでした。
なぜScrumを導入することになったのか
元々内製化に踏み切った理由が、ビジネス拡大に伴い社内の要求が増え、ベンダー体制では会社が求めるスピード感を担保できなかったというよくある理由だったので、Agileになるのは必然だったかと思います。
開発チームの全員がAgile開発未経験の中、Scrum開発経験者の菊池が入社したので、Scrum開発を導入することになりました。
まずはScrumの箱を用意した
Scrumには3つの役割、5つのイベント、3つの成果物(通称:3-5-3)が定義付けられているので、まずはチームを枠にはめるところから始めました。

実際に最初に用意した3-5-3は、下記のように設定しました。
役割
- プロダクトオーナー:現CTOの大野
- スクラムマスター:菊池
- 開発者:チームメンバー全員
イベント
- スプリント:1週間(現在は2週間)
- スプリントプランニング:スプリント初日に1時間(現在はPart1, 2に分けて1.5時間ずつ)
- デイリースクラム:毎営業日の午前10:00 ~
- スプリントレトロスペクティブ:スプリント最終日の夕方に1時間(現在は毎週末に1時間)
- スプリントレビュー:スプリントが終わった翌営業日以降に1時間
5には含まれませんが、バックログリファインメントはPOの準備が出来次第ということで、不定期開催となりました。
成果物
- プロダクトバックログ:GitHubのBoard機能を活用
- スプリントバックログ:同じくGitHubで管理
- インクリメント:スプリント期間中に本番リリースした機能たち
次回はこの3-5-3についてより深掘りし、A-Teamにどのように定着していったかを書いていきます。