アジャイル開発
オージス総研では過去20年以上に渡り、反復開発手法を適用して基幹系ソフトウェアの開発および保守を行って参りました。この反復開発の実践経験とアジャイル開発の実践経験から生まれた、大規模開発にも対応可能なアジャイル開発フレームワークOGIS Scalable Agile Methodの開発および適用を進めています。
アジャイル開発とは
私たちが考えるアジャイル開発とは、開発途上で動くソフトウェアを逐次作成し、それによりお客様のフィードバックをいただき、開発上のリスクの管理を行いながらお客様の業務に役立つソフトウェアを早く完成させるというものです。つまり、以下の2点がゴールになります。
- お客様のニーズに即したソフトウェアをより早く作る
- 開発上のリスクをより良く管理する
これらのゴールを実現するために、私たちはアジャイル開発でもモデリングを積極的に活用すべきだと考え、そのために世界的に最も普及したアジャイル開発手法であるスクラムを基本とし、それに「アジャイルUP」(*)という開発フレームワークと組み合わせる開発方式をOGIS Scalable Agile Method(以降OSAMと略す)1.0として提案しました。
*: アジャイルUPは、Scott Ambler氏が提唱する開発フレームワークであり、統一プロセス(UP: Unified Process)のアジャイル版です。
OSAM1.0は、フェーズと反復で構成されるハイブリッドアジャイルの一種であり、2011年までの弊社の実践プラクティスを集大成したものです。
2011年以降、ハイブリッドではない形でスクラムをチームレベルで適用する事例も増えてきました。ハイブリッドではない形でアジャイル開発を適用する際には、変化する曖昧な要求をどのように定義すればよいか、反復毎に繰り返される受け入れの労力をどうすれば削減できるか、などの課題があります。さらに、これらの課題に加えて、OSAM1.0を提案した時点では明示的に示さなかった、スクラムを実践する際の基本となる自己管理や自己組織化というチームの連携を活かした形のスケールアップという課題があります。
これらの課題に対する解決策を提示するためOSAM2.0を策定しました。OSAM2.0では以下のフレームワークや手法を組み合わせます。
なお、OSAM2.0において、スクラム、アジャイル要求(DtoD)、受け入れテスト駆動開発(A-TDD)の3点で構成されるものをOSAM2.0基本形と呼び、これをチームレベルのアジャイル開発の基本に位置づけております。この基本形を複数の開発チームやプロダクトの開発企画にまでスケールするためにSAFeを加えたものをOSAM2.0発展形と呼びます。