「ソフトウェアは完了したときに、すぐに、すぐに完了します。」
これは事実ですが、開発者が作業を開始する各タスクについて、組織内の全員が各タスクの完了の定義を理解していますか?
最大の問題の1つは見積もりであるように見えますが、開発者は明確で明確に指定された「完了の定義」がある場合にのみ現実的な見積もりを提供できます。(これには企業プロセスの問題が含まれます-ユーザー文書、正式リリースの作業パッケージなど)
ほとんどの開発者が、タスクの完了に必要な時間を見積もることが最も難しいと考えていることを考えると、過大評価が問題を引き起こしていることは驚くことではありません。
ただし、ほとんどの開発者は、一定の期間、合理的な(楽観的ではあるが)投入できる労力を処理する傾向があります。
問題は、多くの場合、開発者が不完全な情報を処理するときに必要な作業と総作業量との関係を作成するのに苦労することです。 。
これにより、当然、時間の見積もりが現実から切り離され、ビルドプロセスやユーザードキュメントなどが見えなくなります。
切断は、タスクが記述されている最初から始まる傾向があります。また、通常は、技術に詳しくない人が必要な労力の手がかりを持たずに要件のリストを作成することで悪化します。
上級管理職の人がタスクを指定し、会社のプロセスの問題を完全に無視する場合があります。上級管理職が、テストの定義、正式なリリースビルドの作成、ユーザードキュメントの更新などの作業が時間と労力をかけずに魔法のように行われると考えることは珍しくありません。必須。
誰かがどこかで正しく仕事をしていないために、開発者がコード行を書く前にプロジェクトが失敗することもあります。
開発チームが要件の同意や受け入れ基準の取得に関与していない場合、それは管理の失敗です。これは、コードと技術的な問題を十分に理解していない人が、ビジネスを不完全な要件セットにコミットしていることを意味するため、プロジェクトを誤解、スコープクリープ、金メッキなどにさらされたままにしました。
開発チームは、要件をキャプチャし、同意に関与している場合、それはチームの失敗可能性があり、詳細(および許容基準を明確にする責任がある者-すなわち「?成果物の外観は次のようにするとき、それが何をしているん行って?」 )。また、開発チームは、他のブロッキングの問題がある場合、または要件が非現実的である場合、NOと言う責任があります。
したがって、開発者が要件のキャプチャに関与している場合:
- チームは、プロダクトマネージャーと協力して、完了した要件/定義を明確にする機会がありますか?
- チームは、暗黙的/想定される要件を明確にするために十分な質問をしますか?これらの質問はどれくらいの頻度で満足に答えられますか?
- チームは、見積りを提供する前に、受け入れ基準(完了の定義)を要求していますか?
- 通常、各タスクの合格基準はどれくらい適切にキャプチャされますか?それはまばらな詳細のあいまいなドキュメントですか、それとも具体的な機能、および開発者が明確にテストに変換できるという表現を記述していますか?
チャンスは、チームの生産性が問題にならないことです。あなたのチームはおそらく、開発に関してできる限りの努力をしています。実際の問題は、次の1つ以上の可能性があります。
- 不完全であいまいな要件。
- そもそも大きすぎる要件/タスク。
- 開発チームと経営陣の間のコミュニケーションが不十分です。
- タスクがチームに渡される前の明確に定義された受け入れ基準の欠如。
- 受け入れテストの仕様が不完全またはあいまい/あいまいです。(すなわち、完了の定義)
- 受け入れ基準の定義/同意に割り当てられた時間が不十分です。
- 開発者は、既存のベースラインコードをテストしたり、既存のバグを修正したりする時間を考慮しませんでした
- 開発者は既存のベースラインコードをテストしましたが、要件の推定値を提供する前に、バグをブロッキングの問題として提起しませんでした
- 管理者は問題/バグを見つけ、新しいコードを書く前にバグを修正する必要がないと判断しました。
- 開発者は、おそらく時間の20%(または同様の数)が会議、気晴らし、電子メールなどによって占められているにもかかわらず、時間の100%を占めるように圧力を受けています。
- 見積額は額面で合意されており、エラーや不測の事態に対応する余地を調整する人はいません(たとえば、「これには5日かかると判断したため、8で完了すると予想されます」)。
- 見積もりは、現実的な「範囲」の数字ではなく、単一の数字としてすべての人(開発者と管理者)によって扱われます。
- ベストケースの見積もり
- 現実的な見積もり
- 最悪の場合の見積もり
...リストはそれよりもずっと長く続く可能性があります。
いくつかの「事実発見」を行い、推定値が一貫して現実から切り離されている理由を正確に把握する必要があります。既存のベースラインソフトウェアは不良ですか?単体テストのカバレッジが不足していますか?開発者は経営陣とのコミュニケーションを避けていますか?管理者は開発者とのコミュニケーションを避けていますか?「Definition of Done」に関して、管理者の期待と開発者の期待の間に断絶はありますか?