web-dev-qa-db-ja.com

品質保証とテストのアウトソーシング

私は最近、品質保証とテストを専門とするソフトウェア会社からアプローチを受けました。

この時点まで、私たちの(小規模な)会社の開発者はほとんどの部分で自分のQAを担当しており、さまざまな結果がありました。フルタイムのQA担当者を雇う準備ができたところですが、他の人が過去にこのようなチームを使用したことがあるかどうか、および結果はどうなのか知りたいと思いました。私は少し懐疑的ですが、心をオープンにしようとしています。

tl; dr外部委託QA /テストチームでの経験は何ですか?長所と短所?

7
nategood

私はこれに反対することをお勧めします。主な理由は、あなたにアプローチした特定のアウトソーシング会社(私には判断できません)の能力と能力とは関係ありません。

QAが機能するためには、「開発者が独自のQAを行う」段階を通過したら、計画と管理プロセスの第一級のメンバーになる必要があります。本来、開発とQAは(うまくいけば友好的ですが)反対の関係にあります。これは、競合する目標から当然のことです。結局のところ、開発者の主な目標は何ですか?

  • 現在のリリースで完了するため、彼らは次のリリースで計画している素晴らしいものに取り組み始めることができます

  • 彼らが懸命に取り組み、少なくとも現在のリリースの大まかなカットを完了したすべての機能を取得する

  • 古いコードで新しく発見されたバグを修正するのではなく、きちんとした新機能のハッキングに時間を費やす

その間、QAチーム(またはQA担当者)の目標は、すべてのバグが発見され、発見されたすべてのバグが打ち消されるまで、ドアを解放しないことです。

もちろん問題は、両方が正しいわけではないことです。そして重要なこととして、どちらも常に正しいわけではありません。素晴らしい、しかしすぐには使えない機能doesが次のリリースを待たなければならないことがあります。時々、リリースdoesは、既知の(そして明確に文書化された!)バグがあっても出荷する必要があるため、開発者は次のバグに進むことができます。妥協is発生する必要があります-そして、これら2つのグループのいずれかが他のグループに従属している場合は発生しません。このため、開発者とQAチームは、これらの決定が行われるとき、テーブルで同等の席を持つ必要があり、上位の誰かが対立する立場を検討するときは最終的な発言権を持つ必要があります。

このために、 開発者がQAの決定に従属する、またはQAが開発者の決定に従属する企業構造は避けることをお勧めします。開発者が社内にいて、QAチームが外部委託されている場合、これは非常に困難です。

11
jimwise

QA /テストに画像の問題があります。私はかなりのフリーランスのソフトウェアテストを行っており、クライアントにとって常に貴重なものでした。私は主にスタートアップ、小さなソフトウェアハウス、デジタルエージェンシーと仕事をしてきました。

これらの企業が多くの作業を行っているか、フルタイムのリソースにコミットする準備ができていない場合、外部テストの助けが必要になることがよくあります。フリーランスのテスターに​​すぐに電話をかけることができることは、非常に価値があります。

多くの企業が直面している問題は、本当に優れたテストとテスターの不足です。優れたテスターを乗せることで、プロジェクトを自信を持って立ち上げることができます。悪いものを取得すると、物事が遅くなります。私はソフトウェアテスターのコミュニティを運営しているので、すばらしいテスターと悪いテスターの私の共有に遭遇しました。

テスターに​​いくつかの基本的な質問をすることで、無能な人を簡単に除外できます。

彼らにあなたのニーズについて伝え、彼らが質問したり、すぐに解決策を提案したりするかどうかを確認します。優れたテスターは適切な質問をします。

彼らが最近関わったプロジェクトについて尋ねます。彼らの最大の課題は何でしたか?

推奨事項/リファレンスを求めます。

彼らに彼らの最高のスキルは何であるか、またはテストへの彼らの焦点は何であるかを尋ねます。テストはますます専門になり、特定の分野の専門家になることは困難です。

最高のテスターはまた、重要な(表面的ではない)問題領域に非常に迅速にドリルダウンします。

お役に立てば幸いです。

2
Rosie Sherry

開発よりも重要ではないにしても、適切なテストは重要です。

誰でもあなたの物をテストできるわけではありません。あなたはあなたの問題領域で多くの専門知識を持つ人々を見つける必要があります。彼らは、開発者と同じかそれ以上ではないにせよ、ドメインの知識を持つ人々でなければなりません。たとえば、ヘルスケアアプリを開発している場合は、そのアプリを使用する看護師またはヘルスケア技術者を雇います。

つまり、最高のテスターはエキスパートユーザーです。彼らは問題の領域を知っていて、あなたが解決しようとしている問題を知っていて、あなたよりもよく知っています。多くのこれらの人々を雇ってください、彼らは無秩序な手順に従って通りから離れたランダムな男よりも桁違いのより現実的な問題を見つけます。路上でランダムに走る人も多くのノイズを生成する可能性があります。彼らはあなたが解決しようとしている問題を理解していません。エキスパートユーザーはアプリを一目見ただけで、あなたがしようとしていることをすぐに得ることができます。

2
Doug T.

私はさまざまな経験をしてきましたが、それらのほとんどは悪いものでした。一般的にあなたはあなたが支払うものを手に入れますが、それは常に本当ではありません。私はチームにとって非常に価値のあるQAの人たちと仕事をしてきました。つまり、彼らは生産性を高める乗数でした。

私に選択肢が与えられた場合、私は常に一流のものを選択します専門家いくつかの外部ソースリソースよりも経験のあるQA担当者。

また、それが優れた外部委託チームであっても。通信のオーバーヘッドとタイムゾーンの問題に対処する必要があります。これは、双方の優秀な人材がいてもイライラし、費用がかかる可能性があるためです。

0
aceinthehole

あなたの期待が現実的であり、あなたが努力を管理するためのかなり実践的なアプローチを持っている場合、QA作業のアウトソーシングが効果的であることがわかりました。

私は、ローカリゼーションテストのために中国のサードパーティベンダーを利用するためのマイクロソフトのパイロットプロジェクトを担当しました。この作業を行うために、私は3か月ごとに対面式のトレーニングと検死を行いました。私は、バグレポートの記述が不十分または不十分な回帰で「戦争チーム」の注意をそらさないようにするために、発生したバグの事前選別を行いました。多少の努力は必要でしたが、このプロセスから非常に良い価値を得ました。訓練が進むにつれ、訓練された人々は別のチームに参加しました。私が訓練した最初のグループのより優れた人々の何人かは、実際には現在、経営幹部レベルとビジネス開発の仕事をしています。この取り組みは非常に成功し、現在の状況で同様のプロジェクトを開始できる立場にあれば、もう一度やり直すことができます。

一方、QAの取り組みをインドにアウトソーシングする会社にも勤務しました。彼らのアプローチは、テストする必要があるものについて漠然としたガイドラインを提供することであり、テストの自動化をJavaに書き込む必要があり、作業を管理するための専用の内部リソースは割り当てられていません。本質的に、彼らは会社を雇い、「壁を越えて仕事を投げました」。彼らは、多くの静的メンバー変数、密結合、一時的な問題、および(再現不可能な)偽の失敗のばかげた割合で、手に負えない、保守不可能なコードを入手しました。最初は約1〜2か月かけてコードを復旧させようとしましたが、最終的にはすべての処理を破棄する必要があり、多大な費用がかかりました。

したがって、ベンダーがそれをどのように売り込んでも、QAをアウトソーシングすることで労力を完全に解放できるとは考えないでください。あなたがそれを正しく管理するならば、それがすべきことは、努力の乗数を提供することです。組織内に少なくとも1人の常勤の人、できればQAとプロジェクト管理の経験を持つ人を捧げることを期待してください。

内部で同等のチームを雇うことで費用を節約できますが、それは保証されていません。あなたは、才能を認定し、人を雇い、解雇する努力から隔離されます。これは、ベンダーが質の高い人を見つけた場合、かなりの価値があります。しかし、かなりの量の実践的な作業が必要になります。アウトソーシングの最も良い点は、プロジェクトの状態に基づいて、作業をかなり迅速に拡大または縮小できることです。テストするものがあまりなければ、あなたはそれほどお金を払っていません。

機会があれば、QAを行うために会社の成功に尽力する人を雇うほうが一般的です。しかし、その採用を行うための社内専門知識、または大規模な社内フルタイムチームの予算がない場合は、検討する価値があります。

脚注:ベンダーが存在する国は、プロジェクトの成功または失敗の主な要因ではありませんでした。私たちの努力の管理への関与のレベルが重要な要素でした。

0
JasonTrue