アジャイル/スクラム開発とは
アジャイル開発とは、迅速かつ適応的にソフトウェア開発を行う軽量な開発手法群の総称です。
従来のソフトウェア開発では、分析・設計・実装・テストという工程を踏む、ウォータフォール型開発が主流でした。
これに対して、アジャイル開発とは、1週間~1か月という短い期間の中で、分析・設計・実装・テストを繰り返す開発方式です。
そのなかで、スクラム(scrum)はアジャイルな開発プロセスのフレームワークのひとつであり、変化に対して柔軟に対応しつつ、定期的にリリース可能なソフトウェアを完成させる指針を示しています。
なぜアジャイル/スクラム開発が注目されるのか
システム開発といえば、1990年代や2000年初期においてウォータフォール型開発が主流でした。
しかし、近年のビジネス環境の不確実さ・変化の速さに対して、旧来の階層型組織によるウォーターフォール開発では対応できないことが多くなってきています。
ウォーターフォールでは、要求範囲の全体を最初に分析し綿密に定義・計画した後に、設計・製造・テストを行うため、大規模化・長期化しやすく、ユーザーは最後まで動作するものが見ることができません。
そのため、要求と実装の差異が発生しやすく、当初の要求が古くさいものなってしまいやすいという欠点があります。
そこで、短期的な反復開発を行うアジャイル開発が注目されています。
アジャイル開発では要求定義から完成までの期間が短いため、顧客フィードバックを取り入れる速度が速く、リリースサイクルが短くなります。
昨今、デジタルトランスフォーメーション(DX)の推進が叫ばれている中、ビジネス環境の変化と速度に強いアジャイル開発の推進もまた必要不可欠なものとなっています。
アジャイル/スクラム開発の歩み
当社は2010年からスクラム開発への取り組みを開始し、ソリューションサービスベンダーと一緒に手法を模索しながら発展してきました。現在はスクラム開発部隊200名以上、スクラムマスター15名以上、コンテンツ系サービス開発からEC系サービス開発まで、同時に数十のチームが稼働しております、10年以上に及ぶアジャイル開発経験の蓄積を活用して、様々なお客様のニーズに応えております。
リーディングソフトの強み
10年以上のスクラム経験を蓄積する中で、スクラムによく利用される技術関連の人材育成と確保、DevOps環境の構築と実践を進めてまいりました。
また、密なコミュニケーションが必要とされるアジャイル/スクラム開発において、日本語で行っています。
1.スクラムチーム体制
・スクラムマスターによるチームパフォーマンスの最大化
スクラム開発を進める上で、スクラムマスターの役割は極めて重要です。
これまでウォーターフォール型で開発してきた技術者にスクラム開発の価値観、進め方をしっかりとコーチングする必要があります。また、PO(プロダクトオーナー)側もややもすればウォーターフォール型になることもあり、POに対してコーチングする必要もあります。
当社は、東京側に認定スクラムマスター10名、中国オフショア側に認定スクラムマスター15名を擁しており、しっかりしたスクラム開発ができるよう、支援体制も充実しております。
・スクラムチームの拡充
当社は10年以上の長いスクラム開発の経験から、現在ではスクラム経験者数200名以上となり、数十のチームが同時に稼働しております。
また、500名を超える大規模なスクラム開発部隊への立ち上げ支援なども行っております。
2.様々なスクラムモデルへの対応
・一般的なスクラムチーム
6~8名程度のメンバーによるスクラムチームによる開発が一般的ですが、プロジェクト規模により複数のチームを平行に稼働することも可能です。
また、スクラムに関連した技術やツールに通じた開発者を数多くそろえており、迅速に開発をスタートすることができます。
・大規模スクラム(LeSS)
スクラムは短期間での反復開発に特徴がありますが、大規模な開発をスクラムにて実行することも可能です。
導入成功のポイントはスモールスタートではじめ、スクラムの概念を組織全体に浸透させながら、徐々にスケールアウトを行うことです。
また、スクラムチームが増えると、チーム間のコミュニケーションが重要になってきます。
スクラムマスターによる支援やコミュニケーションツールの活用などにより、チーム全体でのビルドを方向性を持って推進していくよう注意する必要があります。
弊社では、お客様の事業規模に合わせて、スクラムの導入支援や、大規模な開発チーム体制の構築、環境支援などを承っております。
・ビジネススクラム
近年の市場環境は変化が速く、開発組織以外においても柔軟かつ迅速に対応することが求めれらていますが、マネージメントの意思決定や商品企画・マーケティングなどの組織運営にもスクラムが活用できます。
チームメンバー全員による密なコミュニケ―ションとバックログによるタスクの優先付けと実行、市場の反応に対しての修正といったスクラムの概念はビジネス現場でも有効です。
3.スクラムに必要な基盤技術
・CI/CD基盤
短期間で反復開発を行うスクラム開発にて、継続的インテグレーション(CI)と継続的デリバリー(CD)は切り離せません。
但し、手作業では多大なコストがかかるためビルドやテスト、リリースを自動化するツールの導入も併せて検討する必要があります。
弊社では、お客様の開発環境に合わせるのはもちろんのこと、各種ツール群の導入支援も承っております。
・DevOps基盤
DevOpsとは、システム導入においてソフトウェア開発(Development)と運用(Operations)が互いに協力することで、システム開発のライフサイクルを短縮し、高品質なソフトウェアの提供を継続的に行うことを目的とした考え方です。
DevOpsの実現のため、先に挙げたCI/CI基盤の構築とともに、開発担当と運用/
・コンテナ技術
CI/CDやDevOpsを実現するには、「Docker」や構成管理ツールである「Kubernetes」の利用など、コンテナ技術を活用することもポイントです。
弊社では、コンテナ基盤上での開発とともに、コンテナ構成管理ツールの導入支援なども承っております。
※DevOpsプラットフォーム構築支援についてはこちらを参照ください。
4.スクラムでの品質確保
スクラムには品質保証のための明示的なプロセスが存在しないため、Spirint0によるプロジェクト全体の明確化とRelese Sprintによるリリース判定会議などが品質向上のポイントとなります。
・Sprint0
プロジェクトを成功に導くためにはプロダクトオーナー、チーム全員でプロジェクトの目的や背景、優先順位づけなどの全体像を明確化することです。
そのためには、Sprint0にて、インセプションデッキをチーム全員の合意のうえで作成することが有効です。
プロジェクトの方向性が定まることで、後続タスクでやるべきことや想定される成果物が明確化し、品質の向上に貢献します。
・Sprint1~N
実際の開発スプリントとなりますが、プロダクトオーナー、チーム全員が参加して、スプリントの成果物をレビューすることが品質を確保するうえで重要です。
・Release Sprint
リリース準備段階、スクラムには品質保証のための明示的なプロセスが存在しないため、本番環境へのリリース前に判定会議を行うことで品質の確保を狙います。
このとき、Sprint0で作成したインセプションデッキなどを活用し、当初の目的を達成しているかどうか判定できます。
アジャイル導入の進め方
アジャイル体制の構築
下図は、オフショア開発による分散開発環境下でのアジャイル開発体制を構築する際のケースです。
日本側では、システム責任者とビジネス推進者が中心となるPOチームを構成し、オフショア開発側のスクラムチームと密なコミュニケーションをとりながら開発を進めていくことになります。
その際、POチームと開発チームの双方にスクラムマスター(SCM)を配置することで、POチームのアジャイル活動を支援、POと開発チーム間の距離を縮小し円滑に開発を進められる体制を構築しております。
フレームワーク(LeSS)
アジャイル開発の適用は単一のチームによる小規模な開発だけでなく、複数チームによる大規模なプロダクト開発にも必要とされています。
そのような場合はアジャイル開発をスケールするため、LeSSのフレームワークを用いています。
ひとつのプロダクトバックログをベースに、複数のチームで同一のスプリント周期で開発を行い、プロダクト全体が一つに結合されている状態を維持します。
全チームで決めたスプリントバックログをベースにデイリースクラムなどを含め、各チーム毎に自律的に開発を進めていきますが、スプリントレビュー等はビジネス推進者など関係するステークホルダーと密にコミュニケーションをとります。
また、スクラムマスター(SCM)の支援が複数チームでの開発を円滑に進めていくポイントとなります。
アジャイル開発での役割
密なコミュニケーションにてチーム一丸となって協働で開発を進めるアジャイル開発ですが、各々主とする役割があります。
ビジネス推進者(お客様)と開発チーム(オフショア)の役割分担を示したのが下図になります。
ビジネスの推進者(PO)が主体となって要件をプロダクトバックログ化し、優先度を確定する役割を担います。
開発チームはそれをもとに、POとの調整のなかスプリントバックログを作成、製造・テストといった工程を進めることになります。
スプリントとコミュニケーション
代表的な事例として、2週間毎のスプリント期間の場合、下図のような工程で開発やコミュニケーションを行います。
スプリントの初めにプランニング会議を行い、2週間のタイムボックスの中で、何をやるのかプロダクトバックログをもとにスプリントバックログを作成します。
このスプリントバックログに沿って、設計・開発・テストを実施します。
また、毎日デイリーミーティングを行い、前日やったこと、今日やるべき事、課題をチーム内で報告し、問題があれば調整を行います。
前回スプリントがある場合は、スプリント振り返り会議(スプリントレトロスペクティブ)を行い、課題を明確化し、プロセスの改善を行い、チームの成長を促します。
2週間のスプリントの終了後、レビュー会議を行い、スプリントで作成した成果物(インクリメント)の検査と適応を行います。
このスプリントレビューはプロジェクトのステークホルダー全員が参加します。
また、定期的にプロダクトバックログの見直し(リファイメント会議)を行い、プロダクトバックログアイテムの見直しや整理を行うことが重要です。バックログの更新・追加・削除がある場合も共有します。
アジャイル開発でのコミュニケ―ション
コミュニケーションの強化(LeSS)
アジャイル/スクラム開発のポイントのひとつは密なコミュニケーションにあると言えますが、複数チームによる大規模開発(LeSS)においてはより注意しなければなりません。
開発チーム間での作業・情報の共有化と共に、開発・PO間でも定例会や雑談など密なコミュニケーションをとりながら進めることが重要です。
アジャイル開発での品質のコントロール
アジャイル開発では、明確に品質を向上させる明確な指針がありませんが、Mock開発、PoC開発、商用開発といった段階的な開発を行うことで、ビジネスニーズをもとに機能要件・非機能要件を段階的に実装・評価し品質をコント―ロールすることが可能です。
また、商用リリースの際には、リリーススプリントの実施を行うことも品質を確保するうえで有効です。
アジャイル/スクラム開発の実績
No | アプリ概要 | 開発 or メンテナンス時期 | 人数 |
1 | 女性生理日管理 | 2011年~今 | 5~12人 |
2 | 写真処理アプリ | 2011年12月~2013年10月 | 5人 |
3 | 占いアプリ | 2011年7月~2016年4月 | 5人 |
4 | 家庭の医学 | 2011年4月~2011年6月 | 5人 |
5 | 決済支援システム | 2011年5月~今 | 25人 |
6 | メッセンジャー | 2011年7月~2012年12月 | 10人 |
7 | ゴルフレッスン | 2011年12月~2012年3月 | 5人 |
8 | AKB48カードゲーム | 2011年12月~2013年7月 | 10~50人 |
9 | 天気アプリ | 2012年6月~2017年8月 | 5~20人 |
10 | 音楽プレー | 2012年2月~2012年10月 | 5人 |
11 | 遺伝子検査アプリ | 2012年4月~2012年7月 | 5人 |
12 | トラックミキサ管理 | 2012年7月~2012年10月 | 5人 |
13 | 運動アプリ | 2013年9月~2014年3月 | 5人 |
14 | 自動車点検 | 2013年4月~2013年8月 | 5人 |
15 | 音楽ゲーム | 2013年3月~2013年5月 | 5人 |
16 | 店頭でカー用品を促販 | 2013年5月~2013年9月 | 15人 |
17 | ECサイトのバックエンドAPI | 2013年10月~今 | 15人 |
18 | 辞書 | 2014年2月~2014年10月 | 5~10人 |
19 | WIFI管理 | 2014年9月~2012年10月 | 5人 |
20 | 電子母子手帳 | 2014年2月~今 | 15~20人 |
21 | 広告管理(ASP) | 2015年7月~2016年2月 | 10人 |
22 | スポーツまとめサイト | 2015年3月~2015年9月 | 10人 |
23 | CARADA管理アプリ | 2016年5月~2017年4月 | 15~60人 |
24 | ポイント管理 | 2016年7月~2017年8月 | 20人 |
25 | デリバリーアプリ | 2016年12月~今 | 8人 |
26 | 在庫管理 | 2017年3月~2017年5月 | 8人 |
27 | スマートグラスで遠隔指導 | 2017年2月~今 | 5人 |
28 | 転職アプリ | 2017年3月~2018年2月 | 5人 |
29 | ドローン物流のECアプリ | 2017年2月~2017年10月 | 5人 |
30 | チャートBot(Workplace) | 2017年2月~~今 | 5人 |
31 | SmartGlass開発 | 2017年2月~~今 | 5人 |
32 | 放送局様案件再構築システム | 2018年6月~~今 | 12人 |
33 | SMF開発 | 2019年2月~~今 | 10人 |
34 | 工場向けスマートシステム開発 | 2019年10月~~今 | 25人 |
スクラム開発支援もお任せください
長年にわたるスクラム経験のノウハウからスクラム開発体制の構築や関連ツールの導入支援、DevOps環境構築の支援も行っております。
スクラム開発に関わる課題に関して、なんでもご相談ください。