web-dev-qa-db-ja.com

チケットを見積もるときにテスターの時間を含める必要がありますか?

チケットの推定時間を作成する場合、テスター(QA)にかかる時間をチケットの推定値に含める必要がありますか?以前は常にテスターの時間なしで見積もっていましたが、常にそれを含めることについて話し合っています。チケットが1週間で経過する合計時間を知る必要があるため、リリース前の最後の現在のスプリントには意味があります。

見積もりは開発者の時間のためだけのものであることを常に理解していました。これはチームのリソースを制限する傾向があるためです。同僚は、テスターの時間より前に作業した場所も含まれていると述べています。

明確に言うと、これは、開発者がユニット、統合、UIテストを適切なカバレッジで記述しているプロセスのためのものです。

17
TTransmit

私の推奨事項:チケットにテスト時間を含めるか、テストタスク自体を表すチケットを追加します。他のアプローチでは、必要な実際の作業を過小評価します。

開発者の時間がボトルネックになることがよくありますが、私の経験では、多くのチームがテストに制約されています。制限するリソースが証拠のないどちらかであると想定すると、あなたを噛むことができます。

あなたの同僚として、私はテスト時間を考慮に入れていない成功した組織を見たことがありません。

明確化ごとの補足:開発者が自動テスト、特に単体テスト(統合テストの方が優れている)を作成したとしても、適切にテストするには不十分です。

QA担当者が関与している場合は、何らかの方法で時間を見積もる必要があります。 QA担当者を給与から削除することを決定した場合にのみ、彼らの作業時間は事実上なくなり、見積もりから削除することができます。しかし、これには無視しやすい副作用があります。また、パフォーマンス、ストレス、セキュリティ、受け入れテストがまだ不足している可能性があります。

34
Bruno Guardia

強調してはい

テストは開発プロセスの一部です。チームが実際にソフトウェアのテストに時間を費やしている場合、テストに費やした時間を見積もりの​​一部にする必要があります。

19
Bryan Oakley

これがアジャイルである場合は、全体のストーリーポイントの一部としてテスト作業を含めます。たとえば、開発作業はおそらく1日で、テストは1日なので、2ポイントのストーリーになります。

それはあなたがやったことの定義に依存しますが、通常はその開発が完了し、ビジネスで受け入れられ、テストが反復で承認されます。 DoDが単なるビジネスの承認である場合、テスト作業をストーリーポイントに含める必要はありませんが、それでも追跡する必要があります。

5
Jon Raynor

見積もりには、チケットを完了するために必要なすべての作業を含める必要があります。テストがチケットの必須部分である場合は、見積もりに含める必要があります。テストが別のチケットである場合、そうするべきではありません。

もちろん、ストーリーポイントを使い始めると、すべてが曖昧になる可能性があります。開発専用5と開発専用8の違いは、開発およびQA 5と開発およびQA 8にかなり比例するためです。

テスターの時間作業を含めて見ました。別のストーリーが機能するのを見てきました。私は別々のタスクを見てきましたが、それぞれが作業を行っているグループによって推定されています。すべてのプロセスがあなたに役立つためにあるので、あなたにとって意味のあることをしてください。その逆ではありません。

2
Telastyn

これに答えることができないという事実は、見積もりを書いている理由がわからない(または、見積もりを書いている理由を同僚に同意しないことを強く示唆しています)。これは、推定にテストを含める必要があるかどうかに比べて、大きな問題です。

見積もりを書いている理由を調べ、合意に達します。特定のチームが特定の時間に何を達成するかを予測することである場合、答えは単純に、推定対象のチームであるテストを実行するかどうかによって異なります。 QAチームが独立しており、独自のスケジュールを設定している場合、特定のチケットでチーム(開発者)が必要と考えるテスト時間を知ることができます。彼らはあなたの数字を無視して自分の数字を入れるかもしれません。どちらの方法でも、開発時間の見積もりとは別に追跡できます。

一方、1つのチームがすべての開発、テスト、QAを行っており、時間の見積もりの​​目的が、特定の時間枠でそのチームが行っていることを予測して計画することである場合、もちろん時間の見積もりには、QAと、指定された目標を達成するためにチームが実行する必要がある他のタスクを含める必要があります。さらに言えば、すべてのチケットについてキックオフミーティングを行う必要がある場合、または完了時に事務処理の一部を記入する必要がある場合は、管理者の時間をそこに置く必要がありますどこか。あなたはそれを無視することはできません。

すべてが1つのチームであるが、役割が「開発者」と「テスター」に分かれている場合、それは、分割の片側だけで作業できるチケットがたくさんあり、(おそらく完全に仮想的な)ガントチャートが見えることを意味します2つの別々のチームのグラフが表示されるのとまったく同じです。この事実は、いくつかの方法論を他の方法よりも混乱させ、そのために計画を分割する方が良いかもしれませんが、それを分割しない場合は、チケットを発行し、チームが行う必要があるすべてを見積もる必要があります。そうしないと、予測が絶望的に​​なります。 。

見積もりの​​目的が予測や計画以外の目的である場合、たとえば、「私たちは、それらを含む空の儀式を無意識にたどっているため」、または「経営陣は、私たちを残業するために私たちを殴る棒としてそれらを使用しているため」、または「固定価格の入札を行う必要があり、数値が膨大な計算式に入る」ため(John Wuに感謝)、何を含める必要があるかを理解するのが難しくなる可能性があります;-)

2
Steve Jessop

ユーザーストーリー/機能/チケットを実際に実行するために実行する必要があるすべての作業を常に見積もります。これを DoneDone と呼びます。

production-ready になったら完了です。

これには、手動および探索的テストが含まれますが、ユーザー受け入れテストも含まれます。

アジャイルチームは、いつでも完成した作業の新しい部分をリリースできる必要があります。なので:

動作するソフトウェアは、進行状況の主要な尺度です。

まだテストしていないのに、機能するかどうかはどうやってわかりますか?次に、開発時間は時間のボトルネックであると記述します。 QAエンジニアとして、私はほとんどのチームがテストキャパシティにボトルネックを持っているか、または単にショートカットを取っているだけだと思います。

長い話を短くするために、テストの労力も見積もります。これを覚えておいてください速度。ストーリーポイントで相対推定を行っている場合、テストは既に平均速度に組み込まれている可能性があります。

これは非常に重要なものです:すべての推定値には仮定と除外が含まれる必要があります

これには、含まれるものの指定が含まれます:開発のみ、設計と開発、開発と単体テスト、受け入れテストの対象範囲、インフラストラクチャの構築など。

見積もりドキュメントをプロジェクトマネージャーに提供する場合、そのドキュメントは、クライアントまたは(内部プロジェクトの場合) [〜#〜] pmo [の作業指示書または作業明細書に変換されます。 〜#〜]may契約によって設定された、または経験によって設定されたオーバーヘッドを追加するための公式を設定しています(たとえば、QAをカバーするためにX%を追加し、ガバナンスとプロジェクト管理をカバーするためにY%を追加する場合があります)。そして、あなたは二重にカウントしたくない。一方、自動的に追加されない場合があります。

慣行は異なります。これらの数値を使用している人は、数値の意味を知る必要があります。また、テスト時間を含めるかどうかを明示する必要があります。

1
John Wu

時間は見積もりに含める必要がありますが、あなたはテスターの時間を見積もりません。代わりにテスターは時間を見積もりますです。

テスト時間を含めないことは、かかる合計時間の誤った見積もりですが、開発者の時間とテスターの時間は交換可能ではないため(おそらく、テスターとの反復がおそらく並行して行われるため)、これらを別々に見積もる必要があります。さらに、テスターが変更をテストするのに必要な時間を見積もる立場ではなく、テストクルーのみがテストする必要があります。

1
Jack Aidley

カプセル化

私はソフトウェア開発の観点と言語からこれに取り組みます。

  • あなたは大きな機械の小さな歯車です。
  • チームの外部から、チケットシステムはチームへのインターフェース/ APIとして機能します
  • 発券システムを使用するビジネスユーザーは開発者ではありません

優れたソフトウェア設計から、できるだけ単純化してカプセル化する必要があります。

したがって、ビジネスユーザーの観点からプロセスを見ると、実際に気にするのは2つだけです。

  1. いくらかかるでしょうか?
  2. まだ終わってないか?

ビジネスユーザーがチームの内部プロセスについて知ることを許可することは、悪い管理です。内部状態へのpublicアクセスを与えるのと同じです。

チームの内部状態を保護できなかった場合、他のチームにリソースの管理と内部状態の混乱を招くことになります。

0
ArTs