アジャイルは多くの先行設計を奨励しません。これは、要件管理とソフトウェア開発の観点からは適切であり、プロジェクトを変化するビジネスニーズに適応させることができます。
しかし、開始時に何を構築するのか本当にわからない場合、リソースの長期計画をどのように行うのでしょうか。確かに、何を構築するかについての概念モデルはありますが、プロジェクトを完了するために必要なリソースの数やコストを見積もる測定可能な詳細はありません。
アジャイル環境で長期計画を実行する方法について何か提案はありますか?
私は私たちのプロジェクトの1つでアジャイルアプローチをパイロットするように組織をプッシュしました。彼らがプロジェクトに資金を提供する前に、予測される予算とタイムラインが必要なため、これは上級管理職にとっての課題でした(大企業であるy社です)。
だから、私はその状況でいつもしていることをし、知識に基づいた推測をしました。私は、プロジェクトが必要と想定している範囲を検討し、これらの項目の開発時に推測し、ビジネスアナリスト、DBA、プロジェクトマネージャーなどのために追加の時間で追加し、いくつかのパディングを追加し、推定予算と呼びました。この種の「大まかな順序」の見積もりは、すべてのウォーターフォールプロジェクトの前にも私の会社で行われているため、違いはありませんでした。
次に、アジャイルプロジェクトを開始して速度を把握し、速度と残りのストーリーポイントに基づいてプロジェクトのエンドポイントを予測しました。見積り。しかし、それは大丈夫です(そして私たちはそれを期待していました)。
答えを一般化すると思いますが、それは「長距離」の意味と、これらの推定値がいつ必要かによって異なります。プロジェクトの開始前にそれらが必要な場合は、私の方法を使用できます。プロジェクトの実行中にそれらが必要な場合は、Matthew Kubicinaが述べているリリース計画の概念を使用できます。
また、Mike Cohnの Agile Estimation and Planning の本を強くお勧めします。この本は、この種のものに対処するのに役立ちます。
アジャイルには「リリース計画」という概念があります。チーム全体が集まり、次のリリースを計画します。私は、事前に2〜3か月間実行しました。これは通常、製品の所有者が「実行可能な最低限の製品」を決定し、製品をリリースするために何をする必要があるかを正確に知った後に行われます。
チームは、既知の物語または壮大な物語をとることができます。エピックとは、まだ完全には定義されていない大きなストーリーまたは機能です。多分「国際支払いを許可する」のようなものです。この物語または叙事詩は非常に一般的であるため、推定値は大きくなり、それを説明します。チームは「Tシャツ」サイズと呼ばれるものを実行し、各エピックに「小」、「中」、または「大」を与えることができます。これにより、製品の所有者は問題のストーリーのサイズをある程度把握でき、スクラムマスターは実際のリリース日を予測できます。
重要なのは、いくつかの場所から始めて、より多くの情報がわかったときに、ストーリーポイントまたは見積もりを洗練し続けることです。
リリース計画に関するリンクをいくつか紹介します。
David Allenによる Get Things Done 方法論を試してください。私は彼の本(GTDに関する最初の/主なもの)の一節を思い出しました。彼は「長期間であることは、あなたがそれを始めるために多くの時間があることを意味するのではない」と言っています。
GTDは実用的な用語で考えるのに役立ちます。そのため、実行可能な実際のタスクをプログラミングしたり、独自のシステムで実行するようにプログラミングしたりできます。これは一言で言えばGTDです: http://lifedev.net/gtd-cheatsheet/
GTDは人生と仕事の両方で機能します。あなたやチームが心配することだけでなく、行動を考え続ける限り、最短期間から最長期間まで機能します。本を読む時間があまりない場合は、オーディオブックを入手してください。
Scrum を試すこともできます(GTDと組み合わせることもできます)...開発の1か月で機能のリストを作成し、ボックスに入れて、製品の作業バージョンを作成します。
最後に、 Rework をJason Friedで読むことをお勧めします。JasonFriedは、優先順位付けと、非常に役立つ非公式なプロジェクト計画の概念について多くのことを語っています。
アジャイルでは、これは検査と適応と呼ばれます。履歴をガイドとして使用します。
目標にどのくらい早く到達できるかについて想定を始める前に、速度を知る必要があります。つまり、2、3回繰り返して実行速度を確認し、、次にその情報を使用して計画を立てます。
あなたの質問への答えは、長期計画を行う前に、最初にデータを収集する必要があるということです。