工数超過の要因、過剰なテストを避けよう 効率的に要件を作成する「V&V」という考え方とは:アジャイル開発における品質管理(3)
少人数、短期間の開発を繰り返すアジャイル開発では、どのようにすれば品質を保つことができるのだろうか。本連載では、アジャイル開発における品質管理の手法を解説する。今回は、スプリント内でのテストと品質保証について、2回に分けて解説する。前編となる今回は要件設定とV&Vについて。
アジャイル開発において、テストをどのように実施するかは難しい問題です。短い開発周期で、設計、実装にしっかり時間をかけようとすると、それに伴ってテストを実施する時間は少なくなります。結果として、テストがスプリント(※)内で収まらず、テストのタスクを次のスプリントに持ち越してしまいます。結果として本来のタスクに着手できず、プロジェクトが停滞してしまうことも考えられます。
(※)アジャイル開発における、機能の設計、実装、テストまでの一連の流れを開発する単位のこと。詳しくは第1回で解説している。
かといってテストや実装を短時間で済ませようとすると、技術的負債がたまり、先々のスプリントで大きな問題となることが容易に想像できます。今回は、このような負の連鎖を生み出さないようにするために、スプリント内でのテストと、品質保証の考え方について紹介します。
基本はスプリント内で完結、だがいきなり100点を目指さない
前回、「完成の定義」という考え方を紹介しました。スプリント内でどこまでやれば完成と見なすのか、その達成条件のことです。もちろんテストについても、何を、どこまでやるかを完成の定義に含める必要があります。
しかし、いきなり全てのテストをスプリント内で完結させることは困難かもしれません。どこまでテストを実施すればよいかの見極めが十分でなく、テストが不足し不具合が残存してしまったり、テストを過剰にやり過ぎることによる工数超過に陥ってしまったりする可能性があるからです。従って、最初はテストを次のスプリントに回す、という方針を取ることも十分に考えられます。
突然、先述したことと真逆のことを言っているように感じるかもしれませんが、改善していくことを前提に、今できることをこなしていくことこそが、アジャイル開発に求められることです。アジャイル開発では、変化に対応することが求められます。それは、行き当たりばったりやなし崩しという意味ではありません。最終的なゴールを見据えて、短い期間で成果を確認しながら、細かく軌道修正しながら近づいていきます。それはテストや品質保証についても例外ではありません。いきなり100点満点の解答を目指そうとせず、できるところからこなしていくことが重要です。
チームが良いと判断したならば、機能の実装とそのテストを複数のタスクに分け、複数のスプリントに分けて実施するというのも現実的なやり方だと思います。そして、それをコントロールするのが完成の定義です。
このように改善を継続していくことがアジャイル開発の本質といっても過言ではありません。つまり、アジャイル開発にベストプラクティスは存在しないのです。それを意識することが最も重要です。その時点でできるだけのことを行い、またそれ以上を求めることを仕組みとして備えているのがアジャイル開発だといえるでしょう。
もちろん、スプリント内で完結させることが基本であることに変わりはありません。そしてそれを実現するためには、第1回で解説した通り、ミニウオーターフォールにならないことが重要です。ここからは、その具体的な方針を解説していきます。
要件をユーザーストーリーとして分割し、ゴールから逆算する
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- クラウドサービス提案依頼書作成に役立つハンドブック CISPEが和訳版を無償公開
欧州のクラウド推進団体CISPEは、クラウドサービスの調達仕様書や要件定義書の作成に向けた考え方など、競争的な調達プロセスを通じてクラウドサービスを調達する際のガイダンスを提供するハンドブックの和訳版を公開した。 - アジャイル開発を生かす契約書 IPAが「情報システム・モデル取引・契約書」を公開
IPAは、「情報システム・モデル取引・契約書」のアジャイル開発版を公開した。あらかじめ特定した成果物の完成に対して対価を支払う「請負契約」とせず、ベンダー企業が業務を遂行することに対価を支払う「準委任契約」を前提とした。 - エンジニアが生き生きと働ける「まっとうなアジャイル開発」を――永和システムマネジメント
ITの力を使った「コト」作りが差別化の源泉となっている今、ビジネスはまさしく「ソフトウェアの戦い」に変容しつつある。そうした中にあって、アジャイル開発は企業の成長を支え、変革をもたらすドライバーになり得るのか。15年以上にわたってアジャイル開発の手法を使って多くの企業を支援してきた永和システムマネジメントに話を聞いた。