DX(デジタルトランスフォーメーション)推進の一環として、新しくシステムを作る際に、「アジャイル開発」という言葉がよく使われるようになりました。
そんなアジャイル開発を、自社のビジネスモデル変革にどう活かしていけばいいのか。
今回の記事では、アジャイル開発とは何たるかについて、前・後半の2回にわけてお伝えします。
なぜアジャイルが求められるのかイマイチピンと来ていない人は、この機会に内容を理解していただき、デジタル社会で企業が生き残るヒントを見つけてください。
目次
アジャイル開発とは、短期間の繰り返しが前提
アジャイル(Agile)とは英語の「俊敏」「素早い」という意味の「Agility」が元になっており、DX(デジタルトランスフォーメーション)を推進するために用いられる、システムやソフトウェア開発の手法の一つです。
その意味の通り、従来のやり方よりも、素早く開発を進められるため、変化するスピードが増している現代において、企業で導入される割合が増えてきています。
ウォーターフォール開発との違い
アジャイル開発と比較される、従来の開発手法は「ウォーターフォール開発」といって、システム開発の一連の流れを、数か月から、長いと1年以上かけて行います。
そして、これらのステップは、一つ終えたら前の段階には戻れず、基本的には一方通行で進めていくことになります。
一方で、アジャイル開発は、ウォーターフォール開発の一連の流れを、1から2週間の短期間で実施し、1サイクルを、機能単位で何度も繰り返すのが大きな違いです。
短期間に同じ手順を反復することで、仕様の変更・改善が行いやすいことも、ウォーターフォール開発にはない特徴といえます。
また、ウォーターフォール開発では、要件定義が初回に設けられ、フィードバックを受けるのは最後の検証段階のみのため、完成したシステムがユーザーのイメージと、乖離してしまうことがしばしば起こり得ます。
アジャイル開発は、この問題を解消し、内部・外部からのフィードバックを取り入れることで、細かな改善を行い、クライアントのニーズにより深く応えることが目的です。
アジャイル開発の基本的な流れ
アジャイル開発では「スプリント」や「イテレーション」という計画からテストまでのサイクルを何度も繰り返します。
このスプリントをいかに効率よく繰り返してユーザーのニーズを満たせるかが、DX(デジタルトランスフォーメーション)の成功につながるのです。
アジャイル開発ではスプリントは機能ごとに分けられ、スプリントごとに新しい機能を一つ開発して既存のものに追加するのが一般的です。
- 最低限の機能開発、検証
- 利便性を上げる機能開発、検証
- 付加価値をつける機能開発、検証
追加した後はユーザーの希望や問題点を掘り起こしながら課題を解決していき、これらと並行して要件定義を行います。
スプリントは1つにつき数週間程度のため、小規模かつ単機能の開発プロジェクトがアジャイル開発には向いているのです。
たとえば、スマートフォンのアプリなどに見られるアプリのアップデートは、サービスをリリースした後にも頻繁に行われます。
これは、実際にユーザーが使用して発見された課題や、利用者が増えていく中で出てくる要望に応えながらシステムを改善している好例です。