アジャイル開発における「マイルストーン」の有用性


8

多くの課題追跡は「マイルストーン」と呼ばれるものをサポートしています。私はそれらの用途を見つけたことがありません。マイルストーンは、スケジュールされた大規模なプッシュを行う場合にのみ役立ちますが、新機能やバグ修正が完了したときに展開する場合には役立ちません。

マイルストーンを使用してアジャイル開発をいつ/どのように編成しますか?


二言で言えば「リリース企画」。
rwong 2015年

回答:


8

アジャイルチームの中には、新しいバージョンのソフトウェアを期待できるときに(たとえそのバージョンが不完全であっても)、顧客とのコミュニケーションにそれらを使用します。これにより、お客様はリリース前に新しいバージョンへの移行を計画できます。

たとえば、アジャイルな方法で開発され、6か月ごとにリリースされるソフトウェアの場合、次のマイルストーンが考えられます。

アルファ1-12月19日

機能の最初のセットが到着し、通常はバグがあります。これはそれらを試してフィードバックを与えるのに役立ちます

アルファ2 – 1月23日

次の一連の機能と、Alphaのフィードバックに対するいくつかの修正

ベータ1 – 2月27日

現在のバージョンのすべての機能があり、最終リリースまで誰も追加されません。新しい開発は次のバージョンになります。ただし、既存のものにいくつかの小さな調整を提案できます。

最終ベータ– 3月27日

重大な欠陥が発見されない限り、機能の動作は完全に凍結されます。バグのみ修正されます。

リリース候補– 4月10日

リリースされる最終バージョン。ここにはバグはありません。いくつかが見つかると、新しいリリース候補が作成されます。

最終リリース-4月17日

リリース候補のバグが見つからなかったため、サポートされているバージョンが一般にリリースされます。

(注:ここではubuntuのセマンティクスに厳密に従っていません)


そのリリース計画が手元にあれば、顧客は前もって計画を立てることができます。新しい機能が本当に期待される場合、彼はアルファ段階でそれをテストして、必要な機能に適合していることを確認できます。プログラマは、ベータ段階で新機能の実験を開始できます。回帰テストは、リリース候補段階で開始できます。

ソフトウェアがいつリリースされ、何が含まれるかを知ることは、多くのユーザーにとって非常に重要です。マイルストーンを使用して、起こるとしようとしているかを知ることができたときアジャイルの考え方があるという事実によって明らかに、まだそこにある特定の日付の前に機能セットが可変です。これは、機能リリース日を計画するウォーターフォールの方法とは異なります。そしてもちろん、ウォーターフォール方式とは異なり、次のバージョンは設定されていません。

したがって、あなたの質問に答えるために:アジャイルでは、重要な決定とアクションがいつ実行されるかを示すためにマイルストーンが使用されます。これらのアクションと決定自体が変更される場合でもです。


1
+1それはお客様のすべてです。時々、顧客はあなた自身のマーケティング部門、あなたのコードをサポートする必要があるオペレーションのような他のチームです。
Patrick Hughes

「アジャイル」と「ロールアウト」とは、実際には週に1〜2回本番環境にデプロイすることを意味します。アルファ、ベータ、リリース日はありません。
mpen 2013

3
それでは、マイルストーンはすでに設定されています。各デプロイメントは1つです!「私のツールのマイルストーン機能を使用することはにとって有用ですか」という質問については、おそらくあなたのケースでは答えはノーです:)。ただし、データベース全体を新しいシステムに移行するなど、通常とは異なることを行う場合は、マイルストーンを設定できます。これは、いつも。
Laurent Bourgault-Roy

1
@Mark基本的には、前回のコメントでLaurentが言ったのと同じようなことをしています。すべてのスプリントをリリースするわけではありませんが、すべてのスプリントには独自のマイルストーンがあります。ケースの整理がずっと簡単になります。
イズカタ2013

それは公正です。それらを使用して作業を意味のあるチャンクに分割する方法について考えているところです。1週間に1つは少なすぎて、管理するのに時間の無駄になるのではないかと心配しています。
mpen 2013

3

マイルストーンの目的は、リリース/機能候補プログラム/アプリ(またはチームが開発した他の何か)の全体像を見ることです。

それは開発者/労働者に役立つかもしれません:

多くのタスク、バグ修正、機能などを備えた問題追跡システムを想像できます。マイルストーンフィールドがあります。チームに2つのマイルストーンがあり、1つだけが顧客を好む場合、チームがこれらのタスクを開始するか、これらのバグを修正するか、このマイルストーンでマークされたこれらの機能を開発すると思います。

それはマネージャーにとって役立つかもしれません:

どのリリースがお客様の本番環境にリリースされるかは、非常に重要なことです。この場合、マイルストーンは本番環境へのリリースです。しかし、マイルストーンは機能のパッケージをマークオフすることができます。

それは顧客にとって役立つかもしれません:

おそらく、顧客はこのプログラム、またはプログラムのバグ修正バージョン、または別の人/組織向けのプログラムの新機能を見せたいと考えています。したがって、顧客はプログラムの安定したバージョンを必要としています。プログラムがこの画期的な出来事を達成したとき、それは安定していて解放可能だと思います。

顧客、マネージャー、ワーカーがバグトラッカーのバグ、タスク、機能をチェックする場合、それらのマイルストーンを知った方が良いと思います。


3

あなたが開発プロジェクトを開始すると- に関係なく、方法論 - 、次のことを行う必要があり、常にあなたが開発する機能、およびその中で「本当に-重要」「持っている必要があります」の特徴は、コア機能、およそ次のされているラフ計画を持っています注文。理想的には、実現時間についてのビジョンもあります。この計画をマイルストーンの形で書き留めておくと、プロジェクトに関係するすべての人にとってこれが透過的になります。

どのような種類の実際のプロジェクトでも、この計画は時々現実に適応する必要があります。機能を別のマイルストーンに再割り当てしなければならない場合もあれば、事前に考えたほど重要ではないものを特定したり、開発計画に不足している要件/機能を追加したり、マイルストーンのリスト自体を変更したりする必要がある場合もあります。 。「ウォーターフォール」プロジェクトと「アジャイル」プロジェクトの主な違いは、アジャイルプロジェクトでは、1日目からの適応の必要性について顧客に正直であることです。ウォーターフォールプロジェクトでは、製品が「準備ができている」(そしておそらく欠陥がある)前に計画します。アジャイルプロジェクトでは、

マイルストーンの要件の残酷な詳細を分析する時点にも違いがあります。ウォーターフォールプロジェクトは、各マイルストーンのすべての機能を事前に過度に分析する傾向があります。アジャイルプロジェクトでは、通常、次のマイルストーンの1つの機能のみを詳細に分析します。

したがって、特にアジャイルプロジェクトでは、マイルストーン計画は関係者が開発が完全に恣意的またはランダムではなく、全体的な計画に従っていることを理解するのに役立ちます。

別の質問は、問題追跡システムの「マイルストーン」機能が必要かどうかです。マイルストーン計画は通常、単にお気に入りのドキュメント形式のドキュメントなので、プロジェクトの利害関係者に簡単に提示できます。マイルストーンを問題追跡システムに組み込むメリットがあるか、それともまったく異なる方法で維持するかを自分で決める必要があります。


1

あなたはすでにあなた自身の質問に答えました。「...予定された大規模なプッシュを行うときに役立ちます...」

メンテナンスと更新の作業しか行っていないので、マイルストーンはあまり意味がありません。 例外:反復する機能を選択する場合でも、アジャイル開発が制御不能にならないようにし、プロジェクトがまとまりを感じるようにするために、すべての機能がどこに向かっているかの概要を把握しておくと便利です。

マイルストーンは、長期的な目標がどの程度達成されているかを測定するためのポイントと、停止し、将来の反復が従うべき方向を検討するためのポイントを提供します。


1

マイルストーンは、顧客の関与に役立ちます。例:プロトタイプを開発するとき、マイルストーンによって、チームはプロトタイプをプレゼンテーション用に完成させるために完了する必要のある作業項目を知ることができます。

また、開発の監査証跡を提供するだけでなく、進化的な実装にも役立ちます。以前に働いていたチームでは、チームリーダーがメインリポジトリから分岐して、製品のバージョンをその特定のマイルストーンに維持していました。これにより、上層部に製品の進化を示し、予算を正当化することができました。


0

定義により、すべての機能はマイルストーンです

開発の重要な変更または段階を示すアクションまたはイベント

個人またはのためのマイルストーンのグループ追跡の有用あなたのプロジェクトとあなたのチームとあなたの顧客は、主に味/スタイルの問題です

一部のチーム/顧客は、マイルストーンを毎日チェックするのが好きですが、他のチーム/顧客はそれほど頻繁に実行しないことに満足しています

補遺:キーワードは「重要」です-これは主観的です。マイルストーンは異なる場合があります。:)


1
私はそれに同意することはできません。小さな新機能を毎日開発している場合、それらはそれほど重要ではありません。それらが単一のチケット/問題に収まる場合、なぜわざわざマイルストーンを作成するのですか?
mpen 2013

定義により?BS!マイルストーンは、事前定義された状態が到着したと見なされるプロジェクトステージを示します。そのため、通常は多数の機能やバグ修正で構成されています。単一の機能をマイルストーンと呼ぶことは理論的には可能ですが、それは単なる一種の学術的な(読み:関連性のない)エッジケースです。
JensG 2013

@Mark:それはあなたが同意するように聞こえます-それは好み/スタイルの問題だということです;)
Steven A. Lowe

1
ポイントは、マイルストーンがチケットと同じくらいきめ細かい場合は、目的を果たさないということです。マイルストーンは、作業をより大きなチャンクに分割する必要があります。
mpen 2013

1
@Mark:もちろんです。個人的には、クライアントがサインオフしたものにのみマイルストーンを使用しますが、それはクライアントやチームと協力して行われた主観的な選択です。単一の機能の場合もあれば、反復内の関連機能のコレクションの場合もあります。
スティーブンA.ロウ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.