エンタープライズギークス (Enterprise Geeks)

企業システムの企画・開発に携わる技術者集団のブログです。開発言語やフレームワークなどアプリケーション開発に関する各種情報を発信しています。ウルシステムズのエンジニア有志が運営しています。

エンタープライズアジャイルで成功するために必要なこと

少し前の話になるが、今年の4月15日に品川で開催されたエンタープライズアジャイル勉強会で、ウルシステムズの河野が講演を行った。

エンタープライズアジャイル勉強会は、企業システムへのアジャイル開発の適用推進を目的とした勉強会で、この分野に取り組んでいる企業から多くの有識者が参加している。

今回の勉強会では、講師の河野が自身の経験に基づいて、企業の基幹システムでアジャイル開発を成功させるためのポイントを語った。

www.slideshare.net

当日は、ユーザー企業も含めて40名以上の出席者が参加し、質疑応答も活発に行われた。

f:id:enterprisegeeks:20160606100957p:plain

アジャイル開発に取り組む理由が腹落ちしていること

講師が、アジャイル開発を成功させるポイントとして最初に挙げたのは「アジャイル開発に取り組む理由が明確に腹落ちしていること」である。

アジャイル開発では、変化への対応、継続的改善、繰り返し開発など、ウォーターフォールでは求められなかった要素が必要になる。企業システムを開発する場合、情報システム部門とベンダーに加えて、利用部門や経営者も利害関係者として関わってくる。それらの人々が従来の開発スタイルに慣れている場合、往々にして抵抗勢力になるため、そうした関係者を説得する必要がある。

アジャイル開発プロジェクトでは、ビジネスや要求の変化に対応しながら柔軟にマネジメントをする必要がある。最初にすべての要求仕様を確定させず、システム開発を進めながら機能をどんどん追加していくため、ウォーターフォール型のプロジェクトよりもマネージメントの難易度が高くなる。プロジェクトが途中で困難な状況になったときには、PMが強い意志を持ち、メンバーと結束して問題に対処していく必要があるが、プロジェクトメンバーがアジャイル開発に取り組んでいる理由に納得していなければ、プロジェクトは迷走してしまうだろう。

そのため、アジャイル開発に取り組む理由を明確にし、メンバーおよび利害関係者がきちんと納得することが重要になる。

成功に最も必要なものは千里眼

アジャイル開発では、早期に、小さな価値を提供しながらシステム全体を少しずつ作り上げていくことを重視する。このため、アジャイル開発に取り組むチームでは、現スプリントと次スプリントくらいまでの短期的なスケジュールのみを見据えて開発を進め、半年後・1年後を見通したマネジメントを行わないケースも見受けられる。

しかし講師は、アジャイル開発を成功させるためにもっとも必要なものは「千里眼」だと主張していた。千里眼とは「常に先を見通してゴールを確実に達成できる力」であり、具体的に言うと、高い「全体構想能力」「トリアージ能力」「計画立案能力」「リスク検知能力」である。

これらは一見、ウォーターフォール開発で必要な能力で、アジャイルには必要ないと勘違いされることも多いが、講師は「構想なきアジャイルには未来はない」と、これらの能力の必要性を訴えていた。

特にエンタープライズシステムの場合は、システムの規模、期間、開発体制などが大規模化することが多いため、講師の言う「千里眼」の重要性について共感する参加者も多かった。

退化型ではなく進化型へ

講師はアジャイルプロジェクトについて、あらゆる面で退化型ではなく進化型に移行することの重要性についても語っていた。システムのライフサイクルは保守の期間が非常に長い。保守では維持することだけ(退化型)ではなく、継続的に改善するスタイル(進化型)にすることが必要となってくる。例えば、一枚岩のアーキテクチャを選択すると、変更時の影響範囲が大きすぎてアーキテクチャ変更が容易ではなくなるので、部品の組み合わせ型にすることを挙げていた。

またアーキテクチャだけでなく、予算・体制・契約・人材確保・ROI評価方法といったあらゆる側面から継続的に改善するための方法を考えるべきだとし、IT部門と信頼構築し、協力しながらプロジェクト運営することが重要だと指摘していた。

さいごに

以上、講演のポイントをかいつまんで紹介した。
エンタープライズアジャイル勉強会では月1回程度のペースで勉強会を開催している。興味を持った方は一度足を運んでみることをお勧めする。

[小宮 孝夫][田口 亮太郎][伊藤 昂祐]