私は過去数週間、90%症候群と呼ばれるものについてたくさん読んだ。
基本的に、このシンドロームは、スケジュールどおりに約90%の完了に達したプロジェクトを表し、その後ストールし、最終的には当初予測された期間の約2倍で終了します。
この問題に関する古い記事を見つけて、その根本的な原因を理解しようとしました。
しかし、この問題がアジャイル手法でどのように処理されるかについての新しい記事や情報源は見つかりませんでした。アジャイル方法論、具体的には極端なプログラミングとスクラムは、ウォーターフォールプロジェクトで行われているものとは異なる方法でこの問題を処理しますか?
短いサイクルは、この症候群の損傷と確率を減らすプラスの影響を与えることができると私は信じています。特にXPでは、TDDなど、やり直しを回避して本当にやり遂げるのに役立ついくつかの方法があります。
アジャイルは、最後の10%をまったく行わないことでこれに対処します。私たちは最初に最も重要な(価値のある)作業を行うので、最初の90%まで作業を終えたときには、最後の10%が開発に投資する価値のない種類のものを持っているのは素晴らしいことです最後に少し。スケジュールではなく、アジャイルプロジェクトでscopeを変更する傾向があります。
Alistair Cockburnには 良い記事はこちら があり、引っ越しのために家を荷造りするのと同じようにこれについて説明しています。
基本的に、あなたが説明している問題は、チームに「達成率」を報告してから、何らかの数式を使用してそれをプロジェクト全体の達成率の値に集計することだと思います。
アジャイルプロジェクト管理の最も重要な側面の1つは、成果物の完全性の状態がバイナリであるという概念です。ヨーダイズムを盗むには:doneまたはnot doneのいずれかです。部分的に行われるようなものはありません。
これは他のいくつかの重要な概念につながり、何よりもまずdoneの意味です。私は「夕食のように」の基準に不満です。つまり、夕食は実際に消費する準備ができたときにのみ行われたと見なされます。ここでのもう1つの重要な点は、独立した成果物を小さくすることで、進捗状況をより正確に把握できることです。
これを実行すると、より大きな努力で達成率について話すことが可能になります。ほぼ同じサイズの10の成果物(労力の観点から)があり、そのうちの5つ完了がある場合、おおよその成果であると言えます。 50%完了。さらに重要なのは、これら5つのことを実行するのにかかった時間と、どのようなバリエーションを見たのかに関するデータを取得し、それを予測モデルで使用して、残りの作業がいつ完了するかを予測できることです。
アジャイルはそれを非常に簡単な方法で扱います。「スケジュール」はありません。
私が説明したように この答えで ; 90/90は、「ハッピーパス」に基づいてスケジュールを構築しようとしているときに発生します。実装が必要な他のすべてのEdgeケースを最後の瞬間に見つけ出すためだけです。
適切なアジャイル環境では、ソフトウェアが常に「解放可能な」状態にあることに焦点を当て、短い反復と小さな機能のチャンクにより、この種の計画を回避できます。ただし、大きな機能が適切に完成する時期をスケジュールするのは非常に難しくなります。
簡単に言えば、アジャイル方法論は、スケジュールの量に基づいたプロジェクトの基本的な「完全性」ではなく、これを回避しようとします。すでに実装されている機能に基づいています。
その質問を理解するには、2つの方法があります。
どちらの場合も、労力の見積もりは非常に不十分でした。最悪の場合、あなたの努力を示すために機能するものは何もありません。
スクラムはこれを次のように解決します。