全3108文字
PR

 DX(Digital Transformation)に取り組む企業が増え、「アジャイル開発」や「DevOps」の重要度が高まっている。スピードやアジリティーを重視するDXのシステム開発現場に適した、比較的新しい開発手法だ。

 うまく使えば大きなメリットがある手法だが、有識者の不足、品質担保の難しさ、トータルコストの不透明性などを背景に導入をためらう企業も多い。特に大規模な企業向け情報システム(エンタープライズシステム)は、依然としてウオーターフォール型で開発することが多いのが実情だ。

 そこで、今回はアジャイル開発やDevOpsの課題とその対策を整理し、企業がこれらの新しい開発手法を効果的に活用するためのエッセンスを紹介する。「これさえ実行すれば必ずうまくいく」という万能薬は存在しないが、自社の置かれた環境に照らし合わせて、課題を解く参考にしてほしい。なおアジャイル開発にはさまざまな手法があるが、ここでは代表的な「スクラム」を例に取り上げる。

なぜ相性が良い? アジャイル開発とDevOps

 アジャイル開発とDevOpsは、できれば一緒に導入するのが望ましい。なぜ同時に採用すべきなのかは、この2つの開発手法の概念や、登場の背景を知ると理解できる。

 アジャイル開発(スクラム)では開発のアジリティーやスピードを上げるため、ソフトウエアの実装からテストまでを「スプリント」と呼ばれる短期間で実施する。そしてスプリントを繰り返すことで、システムを作り上げていく。この開発・改善の繰り返しの1サイクルを「イテレーション」と呼ぶ。

 一方、DevOpsは開発(Development)と運用(Operation)のプロセスを極力自動化しつつ、この2つを一体として運営することで、開発スピードと品質の向上を目指す体制である。

 従来の情報システム部門がDXの求めるスピードやアジリティーに対応できない原因には、開発プロセスにおける「ビジネスが変化する速度と開発スピードとのギャップ」「スピードを上げたい開発部門と安全性・安定性を重視する運用部門とのギャップ」という2つがあった。前者の解決手段としてアジャイル開発が、後者の解決手段としてDevOpsが登場した経緯があり、両者を組み合わせると2点のギャップを共に解消できる。

 以上から、筆者はアジャイル開発とDevOpsを併せて導入すると、開発スピードや品質向上の点で大きな恩恵を受けられると考えている。そのため、ここではアジャイル開発とDevOpsをセットで紹介する。