新規ビジネスを開発する案件では一般に、当初の品質はビジネスの効果を判断できる水準で十分とされ、軽微な不具合であれば許容してもらいやすい。常に一定の品質を確保し続ける必要はないわけだ。

 そこで、ビジネスの目的達成を重視する「脱QCDプロマネ」を実践しているプロジェクトマネジャーは、その時々に必要な品質を見極めてプロジェクトを運営する。すぐに確保しなくてよい部分の品質はいったん脇に置き、後で確保する仕組みを用意しておく。

ウルシステムズの水谷氏
ウルシステムズの水谷氏

 例えばウルシステムズの水谷雅宏シニアコンサルタントは、アジャイル開発のスプリント計画を工夫している。アジャイル開発は一般に、1回のスプリントで設計、実装、テストを一度に実施する。このため、特定スプリントにおけるプログラム単体レベルでは品質を確保しやすい。

 一方、スプリント間での整合性やコードの保守性を確保できるとは限らない。これらはすぐにはビジネスに影響しないが、長期的には新機能が追加しにくくなるなど、ビジネスに支障を来す恐れがある。

 水谷氏はこうした点を意識してスプリント計画を立てる。具体的には通常のスプリントを8回程度(3~4カ月間)実施するたびに、「作らないスプリント」を設ける。

ビジネスへの影響が少ない部分の品質は後回しで確保するスプリント計画
ビジネスへの影響が少ない部分の品質は後回しで確保するスプリント計画
通常のスプリントを8回実施したら、メンバーのクールダウン用スプリントを設け、細かな品質向上などの期間とする
[画像のクリックで拡大表示]

 通常のスプリントでは、スプリント間の整合性やコードの保守性などは気にしない。その代わり、作らないスプリントでは文字通り新しいプログラムを一切作らず、作ったプログラムを見直すリファクタリングや、保守用のドキュメントの整備などにあてる。長期的に影響する品質のリスクは後から取り除くわけだ。

 ただし、水谷氏は「このスプリントでは新しいものを作らない」などと指示しない。「自主的に品質を高めようとする環境を作る」(水谷氏)。例えば、次の開発対象の仕様はまだ利用部門と調整中とスクラムマスターに伝えると、自発的にリファクタリングに取り組むと提案してくれやすいという。

 実は、作らないスプリントを3~4カ月ごとに設けるのは、品質リスク対策以上に重要な理由があるという。「チームの開発生産性を高い水準に保つために欠かせない」(水谷氏)。水谷氏が担当するプロジェクトは終了時期が明確に決まっていない。全力での開発を続けていると、メンバーが途中で息切れする。そこで定期的な作らないスプリントにクールダウンの役割を持たせ、品質向上にも役立てているわけだ。