アジャイル/スクラム開発とは

アジャイル開発とは、迅速かつ適応的にソフトウェア開発を行う軽量な開発手法群の総称です。

従来のソフトウェア開発では、分析・設計・実装・テストという工程を踏む、ウォータフォール型開発が主流でした。
これに対して、アジャイル開発とは、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)

スクラムは短期間での反復開発に特徴がありますが、大規模な開発をスクラムにて実行することも可能です。
導入成功のポイントはスモールスタートではじめ、スクラムの概念を組織全体に浸透させながら、徐々にスケールアウトを行うことです。

LeSSフレームワーク

また、スクラムチームが増えると、チーム間のコミュニケーションが重要になってきます。
スクラムマスターによる支援やコミュニケーションツールの活用などにより、チーム全体でのビルドを方向性を持って推進していくよう注意する必要があります。
弊社では、お客様の事業規模に合わせて、スクラムの導入支援や、大規模な開発チーム体制の構築、環境支援などを承っております。

・ビジネススクラム

近年の市場環境は変化が速く、開発組織以外においても柔軟かつ迅速に対応することが求めれらていますが、マネージメントの意思決定や商品企画・マーケティングなどの組織運営にもスクラムが活用できます。

チームメンバー全員による密なコミュニケ―ションとバックログによるタスクの優先付けと実行、市場の反応に対しての修正といったスクラムの概念はビジネス現場でも有効です。

3.スクラムに必要な基盤技術

・CI/CD基盤

短期間で反復開発を行うスクラム開発にて、継続的インテグレーション(CI)と継続的デリバリー(CD)は切り離せません。
但し、手作業では多大なコストがかかるためビルドやテスト、リリースを自動化するツールの導入も併せて検討する必要があります。
弊社では、お客様の開発環境に合わせるのはもちろんのこと、各種ツール群の導入支援も承っております。

・DevOps基盤

DevOpsとは、システム導入においてソフトウェア開発(Development)と運用(Operations)が互いに協力することで、システム開発のライフサイクルを短縮し、高品質なソフトウェアの提供を継続的に行うことを目的とした考え方です。

DevOpsの実現のため、先に挙げたCI/CI基盤の構築とともに、開発担当と運用/保守担当が密に情報共有するためのコミュニケーションツールの活用、コンテナ基盤の構築などお客様のビジネスに合わせ、ご提案・ご支援を心がけております。

DevOps環境

・コンテナ技術

CI/CDやDevOpsを実現するには、「Docker」や構成管理ツールである「Kubernetes」の利用など、コンテナ技術を活用することもポイントです。
弊社では、コンテナ基盤上での開発とともに、コンテナ構成管理ツールの導入支援なども承っております。

※DevOpsプラットフォーム構築支援についてはこちらを参照ください。

4.スクラムでの品質確保

スクラムには品質保証のための明示的なプロセスが存在しないため、Spirint0によるプロジェクト全体の明確化とRelese Sprintによるリリース判定会議などが品質向上のポイントとなります。

・Sprint0

プロジェクトを成功に導くためにはプロダクトオーナー、チーム全員でプロジェクトの目的や背景、優先順位づけなどの全体像を明確化することです。
そのためには、Sprint0にて、インセプションデッキをチーム全員の合意のうえで作成することが有効です。
プロジェクトの方向性が定まることで、後続タスクでやるべきことや想定される成果物が明確化し、品質の向上に貢献します。

・Sprint1~N

実際の開発スプリントとなりますが、プロダクトオーナー、チーム全員が参加して、スプリントの成果物をレビューすることが品質を確保するうえで重要です。

・Release Sprint

リリース準備段階、スクラムには品質保証のための明示的なプロセスが存在しないため、本番環境へのリリース前に判定会議を行うことで品質の確保を狙います。
このとき、Sprint0で作成したインセプションデッキなどを活用し、当初の目的を達成しているかどうか判定できます。

Sprit0~Release Sprint

 

アジャイル導入の進め方

アジャイル体制の構築

下図は、オフショア開発による分散開発環境下でのアジャイル開発体制を構築する際のケースです。

日本側では、システム責任者とビジネス推進者が中心となるPOチームを構成し、オフショア開発側のスクラムチームと密なコミュニケーションをとりながら開発を進めていくことになります。

その際、POチームと開発チームの双方にスクラムマスター(SCM)を配置することで、POチームのアジャイル活動を支援、POと開発チーム間の距離を縮小し円滑に開発を進められる体制を構築しております。

 

アジャイル体制

フレームワーク(LeSS)

アジャイル開発の適用は単一のチームによる小規模な開発だけでなく、複数チームによる大規模なプロダクト開発にも必要とされています。
そのような場合はアジャイル開発をスケールするため、LeSSのフレームワークを用いています。

ひとつのプロダクトバックログをベースに、複数のチームで同一のスプリント周期で開発を行い、プロダクト全体が一つに結合されている状態を維持します。
全チームで決めたスプリントバックログをベースにデイリースクラムなどを含め、各チーム毎に自律的に開発を進めていきますが、スプリントレビュー等はビジネス推進者など関係するステークホルダーと密にコミュニケーションをとります。

また、スクラムマスター(SCM)の支援が複数チームでの開発を円滑に進めていくポイントとなります。

 

アジャイル(Less)の進め方

アジャイル開発での役割

密なコミュニケーションにてチーム一丸となって協働で開発を進めるアジャイル開発ですが、各々主とする役割があります。
ビジネス推進者(お客様)と開発チーム(オフショア)の役割分担を示したのが下図になります。

 

アジャイル開発での役割

ビジネスの推進者(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人
8AKB48カードゲーム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人
17ECサイトのバックエンドAPI2013年10月~今15人
18辞書2014年2月~2014年10月5~10人
19WIFI管理2014年9月~2012年10月5人
20電子母子手帳2014年2月~今15~20人
21広告管理(ASP)2015年7月~2016年2月10人
22スポーツまとめサイト2015年3月~2015年9月10人
23CARADA管理アプリ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人
31SmartGlass開発2017年2月~~今5人
32放送局様案件再構築システム2018年6月~~今12人
33SMF開発2019年2月~~今10人
34工場向けスマートシステム開発2019年10月~~今25人

 

スクラム開発支援もお任せください

長年にわたるスクラム経験のノウハウからスクラム開発体制の構築や関連ツールの導入支援、DevOps環境構築の支援も行っております。

スクラム開発に関わる課題に関して、なんでもご相談ください。

お問合せはこちら