
近年、迅速なシステム開発や継続的なシステム改良を目指すため、開発(Dev)・運用(Ops)を行う開発チームとビジネス部門(Biz)の連携を高め、ビジネスの推進を行うBizDevOpsの概念が注目されています。
本コラムでは、ビジネス部門と開発部門と運用部門がワンチームとなって開発を進めていくために、従来のウォーターフォール開発からスクラム開発へシフトしていく際のコツを紹介します。
BizDevOps×スクラム開発の考え方とウォーターフォール開発との違い
ウォーターフォール開発は要件定義、設計、開発、試験、リリースまでの各工程を滝のように1つの流れとして進行する開発手法です。ウォーターフォール開発では工程ごとに成果物が設定されて、途中で要件や仕様の変更が行われると、工程をさかのぼる必要があるため、非常に多くのロスが発生します。したがって、迅速なサービス提供が求められる状況や頻繁に要件・仕様変更が行われる開発では不向きとされてきました。
スクラム開発はシステム開発を反復的に進めるアジャイル開発手法の1つで、要件・仕様変更に対して柔軟な対応ができる特徴があります。一般的なスクラム開発はプロダクトオーナー、スクラムマスター、開発エンジニアでスクラムチームを組み、開発を進めていきます。このスクラムチームをビジネス部門(Biz)、開発部門(Dev)、運用部門(Ops)まで拡張し、部門の垣根を越えたワンチームで開発することで、迅速なサービス提供が可能になります。
スクラムチームの立ち上げ
従来のウォーターフォール開発からスクラム開発へシフトするのにあたって、使い慣れた開発手法からのマインドセットを変える必要があります。
具体的な方法としては、仮想案件を使用したシミュレーションを行うことが挙げられますが、現在稼働しているシステムの開発ではシミュレーション期間を設けてシステム開発を止めることができない場合もあります。その場合、規模の小さい案件などを利用しスクラムトライアルを行うことも可能です。
スクラムトライアルの振り返りでは、Keep、Problem、Tryの行動やプロセスを整理するKPT手法などを利用し、従来のウォーターフォール開発との違いで発生した課題や各部門の考え方の違いによる意見衝突などを解消して、案件をスムーズに進行させるための仕組みを作ることが重要です。
スクラムチーム立ち上げ時の失敗談
実際にスクラムチームを立ち上げ、スクラムトライアルを行った際の失敗談を紹介します。
部門の垣根を越えてスクラムチームを組むことで部門間の調整などが行いやすい環境となりましたが、各部門のコミュニケーション面での課題により、変更された仕様の伝達ミスが発生しました。
例として、以下のような問題が発生しました。
- スプリントの途中で要件・仕様変更があった際、企画担当者と開発担当者間では変更内容が共有されていたが、テスト担当者には共有されておらず、作り直しが発生し、そのスプリント中に対応が完了しなかった。
- 複数のコミュニケーションツールを使用していたため議論の履歴が分散してしまい、変更の経緯を追うことが難しくなり、どのツールに最新のシステム仕様が記載されているか分からなくなった。
スクラム開発は要件・仕様変更に対して柔軟に対応できることが特徴ではありますが、「いつでも」「どんな変更でも」対応できるわけではありません。特にスプリントの途中で要件・仕様変更が発生した際は、変更内容をスクラムチーム全体に速やかに浸透させる必要があります。発生した変更内容をそのスプリントで実施するのか、次以降のスプリントで実施するのか、スクラムチーム全体で決定することが重要です。
また、複数のツールを利用してコミュニケーションや仕様管理を行う場合は、情報が散在するため、情報を集約するツールを決め、決定事項は必ずそのツールに残す必要があります。
スクラムチームの拡張
スクラムトライアルを行ったチームは、次にスクラムチームを構築しようとする他チームに対してワークショップを開催し、得た知見を共有します。
ワークショップではスクラム開発についての座学だけではなく、成熟したスクラムチームのサポートの中で案件を実践し、必要なマインドセットとスキルの習得を目指します。
チームメンバー全員が積極的に参加することで、チーム内での経験やノウハウを共有することで素早くスクラムチームを構築できます。
まとめ
迅速なシステム開発を目指すため、BizDevOps×スクラム開発の立ち上げのコツをご説明しました。
スクラム開発は、要求・仕様変更に対して柔軟に素早く対応できることがメリットの1つですが、失敗談でも紹介したように、些細なコミュニケーションミスが、スプリントの遅延を招き、その迅速な対応力を損なうことがあります。そのため、複数部門の垣根を越えてスクラムチームを結成する際は、より一層コミュニケーションが重要になっていきます。
ビジネス環境の変化に適応し、必要なサービスを迅速に提供できるチームを構築することで、プロジェクトを成功に導くことができると考えます。
関連サービスについて、詳しくはこちらをご覧ください
BizDevOpsサービス