長年の間、ソフトウェア開発の世界に存在する疑問:テスターと開発者の適切な比率はどのくらいか?最近Scrum Developmentのスレッドでは(リンク) 、アジャイルがこの比率にどのような影響を与えるかを尋ねるものがあった。最初の問いに対する答えは「状況次第である」と思われる。2つめの質問に対する答えは、Elisabeth Hendrickson氏(リンク)の意見では、アジャイルチームはもっと少ないテスターでもっとたくさんのテストが出来る、ということである。
テスターと開発者の適切な比率はどのくらいか?
長年にわたり、テスターと開発者の「適切な」比率を見つけることに、大きな関心が持たれている。書籍「Microsoft Secrets.」によると、Microsoftではテスターと開発者を1対1の割合で雇用している。カンファレンスのセッション参加者を対象とした非公式の意識調査でRandall Rice氏(リンク)が明らかにしたところによれば、最も一般的な比率はテスター1人に対して開発者が3人である。Cem Kaner氏(リンク)、Elisabeth Hendrickson氏(リンク)、Jennifer Smith-Brock氏が発表した論文によると(リンク)、これらのような比率は驚くほど意味の無いものである。これらの役割のそれぞれに課される責務やタスクは、プロジェクトによって大きく異なる。例えば、ビルドマスタは開発者が行うのだろうか、それともテスターだろうか?
責任の問題に加え、プロジェクトの状況の差異によってプロジェクトの比較の関連性が低くなることがわかった。そのような要因には次のものが含まれる。
- 製品の受け入れる信頼性
- テストしなければならない設定の幅
- ソフトウェアのテスト容易性
- ツールの有用性
- テスターと開発者の経験
- 保たなければならない品質基準
Johanna Rothman氏(リンク)の記事でも同じような結論に達している:It Depends: Deciding on the Correct Ratio of Developers to Testers(リンク)(状況次第:開発者とテスターの適切な比率を決定する). Randall Rice氏(リンク)も、自身の記事The Elusive Tester to Developer Ratio(リンク)(とらえどころのないテスターと開発者の比率)で、疑わしい値の業界の比率を見出している。
はっきりと伝えておきたいのは、みなさんの経験や技術や組織構造に基づくみなさんの比率であれば、計画をする際に比率を用いることを、私は完全に軽視することはありません。私がリスクだと考えるのは、組織が別の組織の比率を取り出し、技術やプロセスの成熟度、スキルレベルの違いを考慮せずにプロジェクトに適用する場合です。
アジャイルはテスターと開発者の比率にどのような影響を与えるか?
最近のウェブキャスト(リンク)で、Elisabeth Hendrickson氏(リンク)とLisa Crispin氏(リンク)の両者が、アジャイルの環境が「テストのパラダイス」であると述べていた。Elisabeth氏は従来の環境での作業を思い起こした。従来の環境では、開発からQAグループに渡されたソフトウェアがしばしばD.O.A.(dead on arrival:初めて使用するのに機能しない機器)で、インストールできないか、あるいは起動時にクラッシュしていた。こうしたことは、彼女のアジャイルチームとの仕事ではありえない。アジャイルチームでは、探索的なテストを行ったり、テストを自動化したり、要件や受入れ基準の精度を上げるためにプロダクトオーナーと密接に連携することによって、テスターは非常に大きな価値を付加することが出来る。
Elisabeth氏は、アジャイルチームが開発者に対するテスターの比率がずっと低い状態で効果的に機能しているのを見てきた。しかしながらこれは、テストがそれほど重要ではないことを示しているのではない。彼女の経験では、アジャイルチームでは少なくとも従来のチームと同等のテストスキルが必要である。違いは、これらのスキル、そして品質を保証する責任が、テスターと呼ばれる少数の人にあるのではないことである。製品の品質テストをQAグループに任せていたのと対照的に、チーム全体が製品の品質を作りこむために働いている。
皆さんのチームではテストの責任をどのように負っているだろうか?コメントを残し、みなさんの経験を共有して欲しい。
原文はこちらです:http://www.infoq.com/news/2009/01/tester-to-developer-ratio