アジャイル-スパイクと全体的なタイムライン


9

チームは最初の資本であるアジャイルプロジェクトを開始しています。このプロジェクトは、方法論とうまく調和しているように見えます(つまり、アジャイルブックを入手して、レシピのようにそれに従うことができます)。

プロジェクトには、チームの誰も経験のない3つのことが含まれています。FooPayroll Systemと統合し、ファイルタイプXYZ​​89(「XYZ89」=聞いたことのないファイルタイプ)を処理し、いくつかを変換できるようにします。 Frobnobdicatorで処理できるように他のファイル。

私が理解しているように、標準的なアジャイルのプラクティスは、これらのそれぞれにスパイクをスケジュールすることです。その後、スパイクにかかる時間を決定できます(クライアントが実行しないことを決定する可能性が高いかどうかはわかりません)それらはプロジェクトのかなり確かな要件であるため)

だから私の質問は:

  1. 最初の反復ですべてのスパイクを最初に実行して、それらを実行するのにかかる時間、および/または「ウォーキングスケルトン」を起動して実行するのにかかる時間のより良い見積もりを取得しますか?

  2. そうでない場合、プロジェクト全体のスケジュールは、これらの急上昇の1つに翻弄され、この特定のストーリーは、私たちが球場をとるよりも長い時間がかかるというデータが戻ってくるのではないでしょうか。

プロジェクトの基本的に交渉できない要件である複数のスパイクを処理するためのベストプラクティスの方法は何ですか?

agile 

回答:


4

以前に私のプロジェクト計画でこれらの怪しい未知のものを処理した方法は、開発チームが未知の機能のプロトタイプを前もって行うための時間を設定することです。これにより、特殊なタスクを実行するために何が必要かを明確に明らかにし、それらが技術的に実現可能であることを証明し、アクティブな開発の開始時に回避できる可能性のある落とし穴について残りのチームを教育します。

これが、多くのアジャイルプロジェクトが通常、私が言いたいSprint 0で始まる理由です。

マラソンを始める直前に、ランニングシューズをひもで締め、ストレッチして、乳首に絆創膏を付けると考えてください。今回は、初期プロジェクトの計画とユーザーストーリーの作成、設計とアーキテクチャのロールアウト、ソフトウェアフレームワークの作成を行うために使用できます。開発者は、プロトタイプと、ユーザーストーリーのポイントとなる未知の技術的課題や未知の技術的課題の概念実証に取り組むことができます。見積もりがはるかに簡単です。


1
ニップの絆創膏は絶対に必要です!そして、最も重要でリスクの低いプロジェクトを除いて、Sprint 0も同様です。
マイケル

3

製品の所有者(または顧客)が設定した優先順位の順に作業を行う必要があります。本当に良かったことで自分を殺す意味はありません。アイデアは、時間が足りなくなって何かが完了しない場合は、最も優先度の低いアイテムであるべきだということです。

彼らが望むものを優先しないと、あなたは苦労するでしょう。

状況が比較的同じである場合は、最も難しい項目から始めないでください。簡単な勝利から始めます。これにより、チームは新しい方法論を使用して一緒に作業することに慣れる機会が得られ、顧客はこの方法で物を提供できると確信できます。それが確立されたら、難しいことに取り組みます。難しいアイテムの複雑さを、先ほど行った簡単なものの複雑さに対して測定します。これを通過するのにかかる時間を把握し始めます。

複雑なアイテムは、実際には「スパイク」ではありません。それらは単に理解するのにより多くの努力を必要とするものです。可能な限りできるだけ簡単なタスクに分解してください。


1
チームの誰もこれまでにFoo Payrollシステム、XYZ89ファイル、またはFrobnobdicatorで作業したことがないため、この場合はスパイクである必要があると思います。これらのシステムとの統合にどれくらい時間がかかるかはわかりません。

@ジョーダン-私はそれを理解しますが、時間モデルとは対照的に、複雑性モデルに基づいて推定を行うと、それが何をするかを把握できます。はい、ファイル形式とAPIについて学習曲線があり、もう少し複雑です。はい、給与計算担当者と協力する必要があります-もう少し複雑です。つまり、イテレーションでは、これらのアイテムの1つだけで作業でき、それ以外の作業はできません。
マシューフリン

1
Mike Cohnのユーザーストーリーを適用する(amazon.com/User-Stories-Applied-Software-Development/dp/…)を確認することを強くお勧めします
マシューフリン

1
確かに、時間ではなく、相対的な複雑さの観点から見積もることの価値を理解しています。私が混乱している部分は、このアプローチが私が説明した状況に対して正しい場合、スパイクはどのプロジェクトでも使用されないように思われるでしょう(開発者は単に「ええ、3のように見える」と言うでしょう。 Fizzbotシステムとの統合について誰も知らないにもかかわらず、これは5インチのように見えます)

まあ、私の望みは、Fizzbotについて誰も知らなければ、13または21のように思われ、タスクを分解することです-1。Fizzbotについて何か学んでください。2.基本的なFizzbotアクセスを構築します。3.実際のFizzbotを使用するためのモデルケース。4.統合テストを作成します。5.実際のFizzbot統合を構築します...ご存知のように、ピースを理解可能なものに分解し、できれば一口サイズにします。
マシューフリン

0

考えられる解決策は、問題を解決する方法を理解するために概念実証を実行するタスクを作成し、それをボックス化して、そのストーリーを他のストーリーと一緒にスプリントに追加することです。

ハックコンソールアプリであっても、スプリントの最後に価値と製品を提供することになります。チーム全体の生産性を落とすのではなく、時間切れになった場合、次のスプリントに同様のタスクを追加するという考え方です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.