web-dev-qa-db-ja.com

要素の固定納期は「アジャイル」な方法ですか?

私たちは、上級管理職による新しいプロジェクトにアジャイルな方法で取り組むつもりであると言われ続けています。彼らは、スタンドアップ、スプリント計画、回顧展などを設定しました。しかし、彼らは今、各要素に対して日付を付けて実行したいすべての作業を詳述する計画を考え出し、それぞれでデモされるもので日付を再度紹介します1。この計画は2017年第2四半期に予定されています。

私にとってこれは最悪の意味での滝のようです。技術チームからの入力のない計画が作成されましたが、その計画に関する特定のストーリーは非常に不明確であり、開発チームによって推定されたものはありません。

しかし、私は彼らの主張が「上級の利害関係者は日付を持っている必要があり、計画がなければならない、私たちはただバックログから作業することはできない」となることを知っています。私にとって、これは上級の利害関係者がアジャイルを買収していないようであり、したがって、それを下位レベルで実装することに失敗する運命にあります。

これは公正な判断なのでしょうか、それとも私はこの計画に過剰反応していますか?

47
Sutty1000

期限を満たすこととすべての要件を満たすことには違いがあります。それは古い格言のように「速くて良いか安いか、2つ選んでください」です。

つまり、ここでは納期が決まっています。それはいいことです。つまり、最後のスプリントの最後に納品するものが最終製品になるという点で、タイムボックス化されています。あなたは常に、すべてのスプリントの最後に動作するソフトウェアをリリースする必要があることを覚えています。

起こり得ることは、最終的なソフトウェアにいくつかの機能が欠落することです。まあ、これはウォーターフォールを含むすべての開発方法論で起こります。あとは、パッチリリースまたはバージョン2を作成する必要があります。これは、最終的な納品が十分良好であることを前提としています。

したがって、固定日付は非アジャイルな作業方法ではありません。アジャイルは、新しい計画ツールを試すための無制限の予算があるという意味ではありません。それはあなたが配達に集中しなければならないことを意味します、それは決して悪いことではありません。

60
gbjbaanb

いいえ。これは、ソフトウェア以外の企業がよく行う傾向のあることです。計画、期限、予算があります。そして、人間は未来を予測するのが苦手なので、必然的に失敗します。

ここでさまざまなポイントを見ていきましょう。

私たちは、上級管理職による新しいプロジェクトにアジャイルな方法で取り組むつもりであると言われ続けています。

もしあなたがアジャイルなら、あなたは自己組織化チームを持っていて、経営者によってどのように働くか教えられないでしょう。

ただし、彼らは今、各要素に対して日付を指定して実行したいすべての作業の詳細を示す計画を考え出し、各要素でデモされるものを使用して日付を再度紹介しています。

いいえ。これは、反復開発の正反対です。 何かが発生し(誰かが病気になり、誰かが去り、一部の要件が忘れられ、サーバーが停止するなど)、これらの目標の1つを逃します。現在、経営陣は全体計画を再計算するか、開発のむちをクラックします。

開発チームによって推定されたものはありません。

それで、経営陣はこの計画が実行可能であることをどのようにして知っていますか?アジャイルでは、仕事は交渉です。ビジネスは言う:私達はこれを望みます。エンジニアリングは言う:さて、XYZを想定すると、3週間かかります。あなたが説明しているものには顧客のコラボレーションはありません。個人や相互作用はありません。

私にとって、これは上級の利害関係者がアジャイルを買収していないようであり、したがって、それを下位レベルで実装することに失敗する運命にあります。

あなたは必ずしも運命にあるわけではありませんが、そうでなければ、それは単なる偶然です。経営陣が将来を見通せないためにすべての作業が行われると、日付を逃してしまいます(または、お粗末なコードを生成したり、予想よりも多くのリソースを必要としたりします)。これはyourの障害になります。経営陣はおそらく、その日を打つためにより多くの時間をかけるように圧力をかけるか、あるいは問題に人々を投げ込むでしょう。

最良の場合、管理は実際には俊敏であり、スコープを削減するのに十分スマートです。彼らがこのすべての時間を費やして、価値のない大きな詳細な計画を立てたことを意味します。

37
Telastyn

特定の機能セットが特定の日に提供されることが期待される場合、いいえ、これはアジャイルプロジェクト管理ではありません。アジャイルプロジェクト管理は、本質的に経験的です。予測は、幹部の希望に基づいて行われるのではなく、以前のパフォーマンスの分析に基づいて行われます。

あなたの説明は、私が貨物カルトアジャイルであると考えるものと一致します。焦点は、エビデンスに基づくプロジェクト管理のコアコンセプトではなく、特定のプロセスとセレモニーにあります。これを LeanまたはTPS に関連付けると、ビジネスの人々に理解してもらうのに多少の運があるかもしれません。ここで解決する必要がある本当の問題は、管理者が未知のものに対する恐れを乗り越えることです。経営幹部への正しい答えは、「今は何が行われるかを伝えることはできませんが、価値の提供を開始したら、経験に基づいて予測を立てることができます」です。開発者は、「いつ完了するか」や「いつ完了するかわからない」などと言う傾向があります。マネージャーはそのようなことを幹部に言わないでしょう、それは彼らを忍者のように聞こえるようにします。彼らは単に彼らが知っていることをしているだけです。

ほとんどの場合、計画は失敗し、修正する必要があります。チームの最大のリスクは、納期に間に合わせるための大きなプッシュがあり、品質が低下することです。ある時点で目標を達成できなくなり(おそらく、それが最初の締め切りになります)、その日付に到達するためのプッシュがあります。残業が予想され、コーナーをカットするプレッシャーがあります(単体テストのスキップ、コードレビューなど)。これは滑りやすい斜面であり、このパスを開始すると、少し下向きのスパイラルになり、物事は醜くなります。プロジェクトがこのように継続されると、生産性は悪化します。

開発チームに統一された前線を提示してもらうことができるなら、あなたは本当にプッシュバックして品質を維持する必要があります。私の経験では、プロジェクトマネージャーはソフトウェアの出力は線形であると考える傾向があります。つまり、各期間XはYを「完了パーセント」生成します。つまり、許容時間の半分までに「50%完了」していない場合、クラクソンが鳴き始めます。実際、正しく実行している場合、最初の機能は50番目の機能(同様のサイズ)に比べてかなり時間がかかる傾向があります。その最初の危険な危機期間を乗り越えることができる場合(「何が起こっているのですか」、「私はしません」 t何かが完了するのを見てください!」)おそらく大丈夫でしょう。

18
JimmyJames

実際のビジネスへようこそ。

古いスタイルのビジネスがあります。私はそれを「伝統的な開発」とひどく批判的に呼ぶ傾向があり、次に新しいスタイルの「アジャイル開発」があります。これらを相反する理想として扱うと、真ん中から簡単に分割できることがわかります。計画と要件は従来のコラムにあり、発見と進化はアジャイルコラムにあります。それはきちんとしていて、きちんとしていて、間違っています。

実際には、ビジネスは両者の間の幸せな媒体を探すことです。どちらの極端な部分も、実際には平らになっていることを示すのは簡単です。アジャイルを愛する私たちは、伝統的な開発の純粋な理想のすべての問題を熱心に示し、純粋なアジャイルが崩壊する多くの方法を示すことができる人はたくさんいます。 成功したアジャイル企業は、2つの間の特定のバランスを見つけるものです。成功している伝統的な企業は、2つの間の特定のバランスを見つける企業です。もう1つがなければ、1つはありません。

私たちの祝福されたSCRUMプロセスでさえ、2つの間のバランスを示しています。俊敏性を最大化する明確な試みがありますが、いくつかの主要なトレードオフがあります。たとえば、プロダクトオーナーはすべての顧客を擁護するという強力な仕事をしています。 SCRUMは意図的にその相互作用の動作を指定していません。それは、誰もが一日の終わりに支払いを受ける必要があるという事実を故意に手を振っています。それは重要ではない幻想を生み出すというプロダクトオーナーの仕事です。

(純粋なアジャイルは、製品を製造するまで支払いがなく、権利が確定するまで専有情報にアクセスできない限り、うまく機能することに注意してください。快適なソフトウェアエンジニアは、この貿易で起業家です)

そのため、経営陣はそこにどのような機能を配置し、いつ配置する必要があるかを決定しました。それはいいです。私が聞いたフレーズは"顧客は何をいつを選ぶか、プロデューサーは誰をどのように選ぶかです。"あなたは "何"と "いつ"に登録されました。 「アジャイル」をあなたの方法として使用する機会を提供することを除いて、彼らは誰またはどのようにについて何も述べていません。残っているのは、経営者が彼らのニーズを満たすために雇う必要がある人々の数を理解するのを助けることです。

完璧な世界では、あなたの会社は外部から機敏です。開発者が顧客のために鋭敏に開発できるように、アジャイルな方法で顧客と対話します。 しかし、多くの場合、会社は内部で積極的に開発しながら外部と対話する必要があります。その間には常に、各会社に固有の複雑なトレードオフのセットがあります。

個人的に、私はこの状況を、アジャイル開発を理解していると思う人のためのテストケースとして扱います。将来のある時点で、期限に合わせて製品を開発する必要があり、その製品と期限のペアは比較的固定されます。 固定された製品/期限によってプロセスが粉々になった場合、そもそもアジャイルであったと本当に言えますか?

私のアドバイス:これを滝と考えないでください。あなたはまだ「方法」を制御します。アジャイルが非常に有名なことで、迅速なスプリントと柔軟なプロトタイピングをすべて行うことができます。ゴムが道路に出会うことを認識し、提供する必要があります。これは現実の世界であり、理想的な世界ではありません。そもそも彼らにあなたに尋ねた方がよかったのでしょうか。承知しました。それはあなたの呼び出しではなかったかもしれません。あなたが単に完全に理解していない彼らのやり方でそれを行うには、千のビジネス関連の理由があるかもしれません。遠慮なくプッシュバックしてください。ただし、彼らがしたことには非常に正当な理由があるかもしれないことを理解してください。

9
Cort Ammon

[〜#〜] every [〜#〜]ビジネス関連プロジェクトには制約があります:

  • 時間
  • 資源
  • 予想される最小機能セット

これは他に何もありません。アジャイルを開発することは、「人々が私たちにお金を払うので、準備ができていればいつでも何でも開発できる」という意味ではありません。常にいくつかの最小要件のある日付があり、それらが満たされない場合、プロジェクトはキャンセルされ、失敗と呼ばれます。それらは暗黙的である場合があるため、マネージャは「4週間後にこれらの機能を備えたUIが機能しない場合、このプロジェクトは失敗する運命にあります」と知っています。または、目標を設定した株主がいる可能性があります。

法律に起因する多くのプロジェクトがあります。 -新しい法律を尊重するために2017年までに機能Xを実装する必要があると政府が決定した場合、交渉不能な期限と準備が必要な一連の機能があります。唯一の変数は、経営陣がタスクに割り当てることができるリソースの量です。 -そして、期限が外部の決定であるこれらのプロジェクトでは、彼らはあなたの進捗状況を観察し、予後を聞き、チームにスタッフを配置するか、彼らの目標を達成するために作業の一部を外部委託する必要があります。

これはすべてアジャイル開発に反対するものではありません。あなたはまだあなたのスプリントを手に入れ、あなた自身の時間枠であなたの機能を開発するでしょう。常にクライアントから機能の優先順位を取得し、期限までにできる限り多くの機能を提供できるように努めます。

期限が実際に利用可能なリソースで満たされる場合は、管理上の問題です。あなたはあなたの予後と毎週/毎日のステータスの更新を与えることができ、彼らは彼らがより多くのリソースを必要とするかどうか決定することができます。それ以外の場合は、スプリントでの作業を続け、ランナブルを提供します-他のプロジェクトと同じです。

4
Falco

アジャイルはマイルストーンの計画を妨げません(たとえば、3か月後にV 1.0をリリースする予定です)が、各マイルストーンに入るものを修正することはできません。

どのように対応すべきかは、プロジェクトの性質次第だと思います。プロジェクトが2017年の第2四半期までに男性を月に送ることである場合、誰もが失敗する運命にあることに同意するでしょう。 2017年の第2四半期末までにMVPを提供できると思われる場合は、スプリントごとにスプリントに取り組む必要があります。

チームが最善を尽くしていると経営陣が考え、各スプリントで進捗状況を示すことができる場合は、より多くの時間について交渉できるはずです。

4
Chamindu

マニフェストが言う前に誰かがすでに指摘したように:

個人とプロセス上の相互作用

提案された計画を見て、変更を提案することをお勧めします。マニフェストは、バックログは決して最終的なものではなく、進化し続けると述べていることを覚えておいてください。

だからあなたはチームにあなたの提案を取ることができます。正当な理由付けがあり、チームがそれに同意した場合、その価値のある製品所有者はそれを考慮し、チーム全体の意見を反映するようにバックログを呼びかけます。

これは、2つの方向に進むことができるポイントです。

  1. プロダクトオーナーとビジネスはあなたの推論に同意し、それがオプションである場合、期限を満たすためにリソースを増やす可能性がありますOR彼らは、期限を満たすためにいくつかの機能を削除することを選択する場合があります。

  2. 彼らはまだチームの集団的意見に反して自分のバージョンに固執したいと思うかもしれません。

結果が#2の場合、これはアジャイルではありません。

最終的に1位になった場合、チームは正しい方向に進んでいると言えます。アジャイルはDevsの「変化への対応」だけではないため、変化に対応できるビジネスについての問題でもあります。

3
Pratik

あなたに壁、家、そして通り全体をペイントするように誰かに頼むことを想像してみてください。あなたがその人にそれをするためにどれだけの時間を与えますか?

あなたの答えが何であれ、あなたは間違っているでしょう。それでおしまい。

彼らが仕事をする必要がある人々に彼らが考えていることを尋ねなかったなら、彼らが日付について正しいかもしれない方法はありません。

ちなみに、もしあなた(チームとして)承諾これらの日付なら、あなたはそこで間違っています。

この計画に関係者と一緒に取り組む時間をとってください。そうすることで、物事を成し遂げることがどれほど簡単かつ迅速であるかに応じて優先順位を設定できます。

たとえば、最終的な作業には思ったより2倍かかるかもしれませんが、ベータ版を予想よりもはるかに早く使用する可能性があります。

全体として、XをYで行うことができない、または速くなる可能性があると人々に思わせることはできません。これは、詳細と時間の観点から必要なものを明確にする責任です。

2