2020年初頭から続くコロナ感染は、デルタ株の蔓延により未だに収束の目途が立っていない状況です。こうしたコロナ禍において企業は、存続をかけてさまざまな努力をしています。それらの企業努力の一つにDX推進があります。例えば、顧客とのタッチポイントが店舗などオフラインに限定されていた企業が新しくECなどオンラインに進出したりする動きがあります。こうしたDX推進の場合の多くは、新しいシステム導入/システム開発が必要となります。
そこで、本記事では、そうしたシステム開発手法の一つであるアジャイル開発を紹介するともにアジャイル開発とDXの親和性を考察していきます。
アジャイル開発とは、システムやソフトウェア開発において、要件定義・設計・開発・テストの流れを細かい単位で繰り返す開発手法の一つです。
アジャイル開発がシステムやソフトウェア開発に多く採用されるようになった背景として、ビジネス環境の変化が激しくなった現代において、顧客のニーズに合わせてシステムやソフトウェアの仕様を迅速に変化させることができる開発手法であったことが挙げられます。
従来のシステム開発は、要件定義・設計・開発・テストの流れを一気通貫で実施するウォーターフォール型が主流でした。しかし、ウォーターフォール開発は、要件定義フェーズ以降で発生した仕様変更への対応が難しいという問題があります。そのため、頻繫に仕様変更するような開発には不向きとされています。
ただし、ウォーターフォール開発は、全体のスケジュールの把握、早期から開発予算・人員リソースの予測ができる点などアジャイル開発にない利点を持っています。そのため、大規模なシステム開発においては、未だに採用される傾向にあります。
図1アジャイル開発とウォーターフォール開発の違い
アジャイル開発は、ウォーターフォール開発と異なり、短期間で設計・開発等を繰り返すため、全体把握や成果物の整合性が取りにくいといった欠点もあります。こうしたアジャイル開発の欠点を補填するために活用される手法として、スクラム、エクストリーム・プログラミング(XP)、ユーザー機能駆動開発(FDD)などのプロジェクト管理フレームワークが挙げられます。
その中で最もプロジェクトへの採用率が最も高いスクラムを取り上げて、具体的なプロジェクト管理の進め方を見ていきましょう。
スクラムとは、1995年にアメリカの技術者であるケン・シュウェイバーが提唱したチームで仕事の進めるための管理手法です。
スクラムのベースな考え方は、顧客のニーズが常に変化するため、設計などの上流工程で全ての仕様を定義するのではなく、チーム全体で機動力/問題解決能力を高めることで仕様変更に対応できるようにするとされています。
スクラムは、異なる役割を果たすプロダクトオーナー、開発メンバー、スクラムマスターが参加し、少人数のチームを組んでプロジェクトに取り組みます。
プロダクトオーナーは、プロジェクトの最高責任者であり、プロジェクト全体管理や成果物のクォリティーを最大限に高めることが求められます。
開発メンバーは、4人~9人が最適とされ、システムの設計・開発・テストを担当します。構成メンバーを4人~9人する理由は、9名以上になりますとスクラムの考え方の基本であるチームの機動力が損なわれ、逆に3名以下になりますと開発者同士の相互刺激不足や技術の専門性の不足などの問題が生まれる可能性があります。
最後に、スクラムマスターは、開発メンバーやプロダクトオーナーとの間に入り、プロジェクトが円滑に進行するように支援をする役割です。
図2 スクラムの進め方のイメージ図
スクラムは、以下順番でプロジェクトを進めていきます。
まず、プロジェクトオーナー主導で要件定義や開発スケジュールをもとに実装する機能の優先順位を一覧化したプロダクトバックログを作成します。そして作成されたプロダクトバックログから機能単位で優先的に開発すべき事項を抽出し、タスクの粒度に落とし込んだスプリントバックログを作成します。
そこから、開発チームは、毎日決まった時間に実施される進捗確認や課題把握するためのMTG、いわゆるデイリースクラムを実施しつつ、スプリントバックログに沿った開発を1週間~4週間程度実施していきます。
その後、機能単位で完成したプロダクトを顧客などのステークホルダーに実演するスプリントレビューを行います。
顧客からもらったフィードバックをスプリントバックログに反映させるスプリントレトロスペクティブを実施したり、プロダクトバックログから別機能のスプリントバックログを作成して新しい開発を取り組んだりします。
こうして、2~6を繰り返すことでプロダクトを完成させていきます。また2~5を繰り替え際にスクラムマスターはスケジュール調整やチーム内のコミュニケーション活性化などを通してプロジェクトの円滑な進行をサポートします。
上記で述べた内容からアジャイル開発について理解して頂けたどころで、アジャイル開発とDXの親和性について考察していきましょう。
2018年に経済産業省がDX推進ガイドラインを公表して以降、多くの企業が率先してDX推進の取り組みを開始してきました。
ただし、DX推進している企業の中には、企業内部のデジタイゼーションやデジタライゼーションをDXと捉えている企業もあります。こうした企業内部に留まるIT化は、顧客ニーズに対応したビジネスモデルの変革をもたらすことは少ないと思われます。
その原因の一つに、DX推進にあたってウォーターフォール開発的なプロジェクトの進め方やシステムの開発を実施しているのではないかと推察しています。確かに、企業内部の業務改善であれば、ユーザーが企業内部の人員であるため、ニーズの変化も少なくウォーターフォール開発でも対応可能と思います。
しかし、DX時代に求められているのは、顧客や社会のニーズの視点からのプロジェクト進行やシステムの開発/導入です。そのため、アジャイル開発のような開発手法やスクラムのようなプロジェクト管理手法こそが、DXに最も親和性型高い手法ではないでしょうか。
また、数あるプロジェクト管理手法の中でスクラムが最もDXとの親和性が高い理由として、問題発見能力が挙げられます。DX推進は、IT部門のみによる推進ではなく、開発・営業・マーケティングなど複数部門と連携しながら進めていく必要があります。そのため、問題も多く発生します。スクラムは、それらの問題に対して、デイリースクラムやスクラムマスターによる調整を実施することで早期発見と解決が可能です。
このように、アジャイル開発やスクラム管理手法を導入することで、顧客のニーズ(仕様変更)への迅速な対応やプロジェクト推進ができる組織の構築が可能になり、企業のDX化の力強いドライバーにもなり得るでしょう。
本記事において、アジャイル開発/スクラム管理手法の説明やDXとアジャイル開発の親和性について考察をしてきました。当然ながら、アジャイル開発やスクラム管理の考え方は、システム開発にのみ通用するものではなく、新規ビジネスの立案、人事の採用活動など幅広いビジネス分野に応用可能なものです。
本記事を通して、アジャイル開発やDXについて少しでも理解を深め、ビジネスに活用して頂けると幸いです。
【参考】
アーツアンドクラフツConsulting & Solution事業部/アナリスト。