アジャイルの適用が進む一方、失敗プロジェクトが増えている。アジャイル開発の経験が豊富な3人に、現場の様子を語ってもらった。いったいどんな失敗が起きているのか。(聞き手は日経SYSTEMS記者、池上俊也)

記者:最近、業務システムの開発にアジャイルを適用する事例が増えてきました。アジャイル開発の経験が豊富な皆さんは、こうした状況をどのようにご覧になりますか。

Aさん以前は若い開発者が中心となって、Webシステムの開発でアジャイルを採用するケースが多かったと思います。しかし最近は、ちょっと違う。開発会社のトップや、ユーザー企業の担当者がアジャイル開発の採用を求め、トップダウン的に取り組むケースが多いようです。それもこれまでウォーターフォール型を適用していた業務システムのプロジェクトに適用する事例が目立ちます。

Bさんより速く、より安くシステムを開発する手法として、アジャイルが広く認知された結果でしょう。私がびっくりしたのは、最近見たRFP(提案依頼書)の中に「開発はアジャイルで」と書かれていたことです。これはアジャイルが確実に広がっている表れだと思います。プロジェクトマネジャー(PM)にも、アジャイル開発の経験が求められるようになってきました。

記者:ユーザーや上司から「アジャイルで開発せよ」と要求する傾向が強くなってくると、開発現場としては取り組まざるを得ないですね。

Cさんそうだと思いますよ。ユーザー企業は、自分たちのビジネスをスピード感を持って変えたいというニーズが強い。そこで「俊敏」や「機敏」と呼ばれるアジャイルに目を付けた。うちの会社でもアジャイルを適用した開発事例が増えています。アジャイルはもはや一部のエンジニアだけのものではないように思います。

「俊敏」「機敏」の道は険しく

記者:アジャイルの適用が進む一方で、その難しさから失敗するプロジェクトも多いと聞きます。実際、現場ではどんな失敗があるのでしょうか。

Aさん

Aさんよくあるのは、モノがなかなか出来上がらない、あるいは何度も何度もイテレーション(反復)を繰り返すプロジェクトです。ある現場では、いきなりイテレーションを始めて失敗する例がありました。本に書いてあるように、要求仕様を書いた付せん紙をホワイトボードにペタペタ張っていったのですが、その後要求がなかなか煮詰まらない。そうして時間だけが過ぎていったようです。

記者:なぜイテレーション内で機能が完成しないのですか。

Aさん2週間や1カ月という短い期間で設計・開発・テストをする難しさはあります。しかし根本的には、要求に対する意識が甘かったようです。もちろんウォーターフォール型のように詳細に要求を定義する必要はありません。ただ業務システム開発の場合、アジャイルでもビジネス分析や要求定義が必要です。要求の洗い出しや優先順位付け、要求同士の関係の確認などを怠った結果、失敗したのでしょう。

記者:イテレーションに伴う失敗は、結構あるのですね。

Bさんそうです。イテレーションの終了時に、ユーザーと開発側の間でトラブルになったケースがありました。開発現場では初めてのアジャイルで慣れるまで時間が掛かり、最初のイテレーションで予定通りの機能が間に合わなかったようです。それを見たユーザーが「約束と違う」と激怒。出来上がらなかった機能は次のイテレーションに回せばよいのですが、まずかったのは次のイテレーションでもほとんど出来上がらなかったこと。設計作業に戸惑ったようです。

記者:そしてまたユーザーが激怒。

Bさんはい。アジャイルにはテスト駆動や常時結合などさまざまな技法があり、これを習得するのに時間が掛かります。初めてアジャイルに取り組むメンバーが多いときには、習熟の時間を考慮しないと、全く機能が出来上がらない状況が普通に起こります。

Cさん俊敏や機敏といったメリットを得る道のりは険しいものです。