ユーザのニーズが多様化し、流行のスピードが加速する中、ヒットが持続するWebサービスやアプリケーションを制作することはますます難しくなっています。 変化のスピードと市場、顧客の要求に迅速に対応し、常に二歩、三歩先を見て開発しなければならない過酷な環境下で、アプリケーション開発を持続させるためにベンダーは「アジャイル開発」を積極的に活用しています。
Webサービスの開発ベンダーH社に、Web上で会員管理をするための新規のシステム開発について問い合わせが入りました。この新しいシステムは全く新しいコンセプトに基づき設計されていたことから、従来のプログラムを手直しするだけでは仕様を満たせないことが判明したため、スクラッチで一から開発することにしました。ところがこの開発は、最初から数々の困難があったのです。 その一つがシステムの品質問題でした。H社開発チームリーダーS氏は当時の様子をこう語ります。 「この規模であれば経験豊富なウォーターフォール型で開発したかったのですが、Webサービス向けのアプリケーションと言うこともあって、頻繁に発生する要件変更に柔軟に対応するため、経験は浅かったのですが思い切ってアジャイル型で開発することにしました」 そのため今回は、システム提案書や要件定義書などの膨大な資料を整えてから取り掛かるのではなく、出来具合を細かくエンドユーザに確認しながら進められれば大きな問題はないだろうと想定していました。 しかし、これらドキュメント類の整備をしなかったことが裏目に出てしまい、テスト観点に漏れが頻発。最終的にはアウトプットの品質がバラバラになり、どのレベルに統一したらよいか皆目検討がつかなくなってしまったのです。
さらに問題が露呈します。エンドユーザに進捗を細かく見てもらい、追加/修正を繰り返し行った事によりコードが継ぎ足しになり、かえって複雑化しデグレードが多発してしまったのです。 この事態を打開するため、リファクタリングを頻繁に行いましたが、ここで新たな問題が発生しました。 「多発するデグレード対策のためにリファクタリングの回数を増やしたことで、テストリソースとして確保していたスタッフではまかないきれず、他スタッフまで投入しなければならないことになり、さらに、このことが他のシステム開発に飛び火して、何をどうしたらよいのか何から手をつけてよいのか判断がつかず、全くのお手上げ状態になってしまいました」(S氏)
対応に困り果てたS氏は、IT開発関連の展示会場で「アジャイル開発検証」を紹介していた、第三者検証会社ヴェス(以下ヴェス)のブースで詳しく話を聞くことにしました。 S氏から現状の課題を聞いたヴェスの担当者は、上流の開発プロセスの見直しと、品質を維持・向上させるための「仕組みづくり」を提案しました。 この内容でS氏が目を引いたのは、イテレーション毎に行う進捗管理の細さと優先度別にチェックを繰り返してその都度ドキュメントに落としていくという、アジャイル開発に必要なプロセスを盛り込むというものでした。 「確かにアジャイルの場合、小単位で実装とテストを繰り返しますが、この工程をドキュメントとして残しておくことが意外と漏れがちです。ましてや状況は刻々と変わるので、その経緯までを詳細に書きとめておくのは自分たちだけでは到底無理な話でした」(S氏) また、これら頻繁に発生する修正・変更情報をスピーディーで確実に実行レベルまで浸透させるため、検証チームから積極的に開発チームに働きかけるといった、コミュニケーションの強化もプロセスに盛り込むことにしました。
合わせて、上流工程での品質管理の徹底についても実践することにしました。具体的には静的テストの際、仕様書の作成やチェックを、テスト・検証のプロであるヴェス主導で行うことにしたのです。 「開発当初はある程度の仕様書を準備してスタートしますが、テストや改良を繰り返すうちに本来の目的が薄れてしまって、開発の方向性が変わってしまったり大事なことが漏れたりします。これを繰り返すことが品質低下につながるため、早い段階から第三者的な立場のエンジニアに参画してもらい、細かく指摘してもらう必要があると実感しました」(S氏) こうした取り決めで両社が開発を遂行することで一定の品質を保った状態が継続でき、さらにそれを完全にドキュメントに残すことで問題が発生しやすい箇所の把握やテストの自動化に向けたポイントなどが明確になり、時間・工数の予測もしやすくなったことでリソース不足の心配もなくなりました。
ヴェスからの改善提案を採用したことで、遅れ気味だった納期が「遅延ゼロ」になりました。また、納期だけでなく品質も向上したことで、エンドユーザからのクレームが激減し評価も回復。手戻りも大幅に減ったことで、コストの削減も同時に実現することができました。 S氏は今回の改善を次のように語っています。 「何よりうれしかったのは、アジャイル開発に関してくすぶっていた多くの問題が一掃されたことで、スタッフのモチベーションが一気に向上したことです。新しい改善案やアイデアも積極的にディスカッションされたので、今後の開発にも大きな効果が期待できると感じています」