スクラムチームは、計画会議でインフラストラクチャタスクをどのように考慮しますか?


33

スクラムチームは、計画会議で開発/インフラストラクチャタスクをどのように考慮しますか?

一見、エンドユーザーの価値を提供しないため、ユーザーストーリーのようには見えません。

ただし、それらをタスクとして特定のユーザーストーリーに添付することも意味がない場合があります。たとえば、タスクが「Bambooのセットアップ」であるとします。チームが手動でビルドおよびデプロイできるため、ユーザーストーリーを完了するためにそのタスクは必要ありません。そのため、ユーザーストーリーを完了するのにこのタスクは必要ないため、ユーザーストーリーに添付しても意味がありません。

したがって、これは、これらのタスクがユーザーストーリーになることを示唆しています。しかし、その後、チームストーリーがそれらを指し示している場合、プロダクトオーナーがバックログに対して速度を知りたいので、これに奇妙な速度が変更されます。

回答:


25

それらは実際にはユーザーストーリーではありません。それらは利害関係者の物語です。ソフトウェアが実際にユーザーから直接支払われない限り、ストーリーが完全にユーザーの利益のために作成されることはまれです。

いくつか例を挙げます。

  • 広告主がより効果的な広告を掲載できるようにするキーワード付きの記事
  • CAPTCHA。モデレーターがスパムを手動で処理する必要をなくすためにあります。

ほとんどの技術的なストーリーは実際にビジネス上の利点を提供しますが、ユーザーにとってはめったにありません。別の方法でそれらをフレージングすると役立ちます。私は通常、Chris MattsのFeature Injectionテンプレートを使用します。

In order to <achieve my goal>
As <the stakeholder who wants the goal>
I want (<some users to do>) <some stuff>.

これにより、開発チームを含むあらゆる種類の利害関係者が明示的に認識されます。これで、技術的なストーリーもフレーズでき、ビジネス上の利点を引き出すことができます。

In order to minimize the risk of deploying something broken
As the team deploying the code
We want to spend a few days on an automated deployment system.

私はこれについていくつかのブログ記事を書きました:それらはユーザーストーリーはなく機能注入と技術的なストーリーの処理です。彼らが助けてくれることを願っています。


3
意味論...私見はアジャイル哲学に反する。必要な分離を追加して、それが本当の価値を提供しない場合、温かいあいまいな気持ちを提供します。
アーロンマクアイバー

5
経験から話していますか、それとも理論付けですか?このテンプレートを多くのチームで使用したことがあるので、最初に目標を設定することがプロジェクトのビジョンを達成するために必要なものを確立するのに本当に役立つことを知りました。マイク・コーンはオプションで「そう」を使用します。信じられません。
リュニヴォール

1
このテンプレートは、実行される技術タスクの価値を非技術POに伝えるのに役立つことがわかります。「QAアナリストとして、アプリケーションが毎日自動的にテストされるように継続的インテグレーションサーバーが必要です」と「プロジェクトの最後に必要な手動テストの量を減らすために、 QAチームとして、継続的インテグレーションサーバーをテストしたいと考えています。」非表示のビジネスを表示すると、OPにそれを含めるかどうかを決定するのに十分な情報が与えられます。
Soronthar

1
@Sorontharそれはどこで終わりますか?「欲求不満のレベルを減らすために、開発チームとして独自のルールを作成したい」それは本質的に循環的です。それが、ユーザーに集中し続けた理由の1つであり、それが理由です。タスクはPOから非表示にする必要があります。POはこれらの詳細に関心を持つ必要はありません。
アーロンマクアイバー

9
ああ、それが明確でない場合に備えて-私はスクラムについてよりも有用な仕事を成し遂げることに関心があります。またはリーン。またはBDD。また、ソフトウェアで最も役立つ作業は、リスクの学習と管理に関係していると考えています。方法論が有用な仕事をする上で邪魔になると、私は有用な仕事に向かう傾向があります。
リュニヴォール

12

速度は、(ドラッグではなく)有用な作業を行うチームの能力の尺度です。インフラストラクチャタスクは、間接的にではありますが、長期的にはチームをより効率的にすることにより、エンドユーザーの価値をもたらします。これらのことをユーザーストーリー(この場合はユーザーは開発チーム)として追跡し、適切に優先順位を付けることに問題はありません。顧客とのコミュニケーションが良好なプロダクトオーナーは、成果物を中断することなく、このようなタスクがどこに適合するかを把握できる必要があります。


3
ユーザーにとって直接価値のあるものと、間接的な価値を提供するものとの区別をあいまいにすることは、チームにとって危険だと思います。特に、「私たちが好きなものはすべて価値がある」というアプローチは、インフラストラクチャのために開発者の金メッキとインフラストラクチャを奨励します。顧客が現金でお金を払うのはそれだけだからです。
ウィリアムピエトリ

3
クマとワルツ。本当に価値のあるあなたのすることはすべて、以前に誰もやったことがないので、ほとんど価値があります(そうでなければ、他の、より安く、それを成し遂げる方法があります)。私たちが行うことのほとんどは、新しいことを行う方法を学ぶことです。インフラストラクチャタスクは、新しいことに関するフィードバックを取得し、より迅速に学習するのに役立ちます。@Kristoのおかげで、より早く学習できるようになりました。
リュニヴォール

@Lunivore-違いは、学習に対して誰もあなたにお金を払っていないことです。彼らはあなたが学んだことに対してあなたに支払います。チームは常に時間をかけてツールと知識を改善する必要があります。しかし、速度としてそれを数えると、チームがやるべき仕事の種類と混同します。
ウィリアムピエトリ

ツールと知識だけではありません。Ashley Johnsonの思考実験:最後に行ったプロジェクトについて考えてください。同じ人、同じ要件、同じテクノロジーを使用して、学習したことをすべて学習した後、もう一度行うのにどれくらいかかるかを考えてください。PMからの引用は約25%から33%で実行されます-残りはソフトウェアプロジェクトでどれだけ学習するかです。デリバレート
Lunivore

11

徐々にそれらを行います。

利害関係者がそれを望んでいないなら、それを話にしないでください。少しずつ注意してください。たとえば、初めて手動で展開するとき。2回目は、少し自動化します。3回目は、もう少し自動化します。最終的に、ビルドは最大の問題ではないため、他のことに集中します。

開発者に焦点を当てたこれらのタスクは、最初はもっと多くありますが、それで問題ありません。速度(ストーリーで測定)が低下します。それは状況の正しい表現です。しかし、あなたは常にいくつかを持っているので、チームがプロセスを改善するために必要なことをする習慣を身に付けることが重要です。


+1:ソリューションを最初にスパイクしてから、2回目にリファクタリングしてより良い信頼性を高めます。
S.Lott

それでは、特に優れた速度メトリックをまだ確立していない場合、開発者中心のタスクがスプリントを引き継がないことをどのように確認しますか?長期的に役立つものに時間を費やしすぎたため、早期の成果物を見逃したくありません。
クリスト

そして、とにかく定期的なリフレクションの時間を作り、プロセスの改善を行うべきです。
マイケル

@クリスト、あなたの顧客/製品マネージャーがあなたにこれで済ませるとは思わない。速度が確立されていなくても、それらの最初のスプリントで提供される値を適切に推測して交渉します。さらに、@ S.Lottのように急上昇した場合は、とにかく配信しないことを提案します。
マイケル

@Kristo:徐々にそれを行い、定期的に反映することで確認します。あなたが始めたとき、あなたが知っているすべてはあなたが間違いなく間違った量をしているということです。毎週、インフラストラクチャを増やすか減らすか、最も価値の高いものに焦点を当てるかどうかについて話します。それは常にバランスのとれた行為です。
ウィリアムピエトリ

6

IMHOの理想的なアプローチは、インフラストラクチャの取り組みを、最初に価値があるユーザーストーリーの下のタスクとして配置することです。あなたが言及したように。

例を挙げましょう。手動で構築および展開することは、それが継続的な努力であり、完了の形がないことを意味します。無期限に存在します。

同じことが、以前は手作業で行われていた典型的なアプリケーションの労力の一部を自動化するコードにも言えます。この取り組みをユーザーストーリーの下のタスクとして定義すると、完全が定義されます。その性質上、エンドユーザーにとって価値があります。

確かにアプリケーションを構築してデプロイすることはできますが、それはバックログを介して正式に追跡されない日々のタスクの一部になり、これはすべて意味がなくなります。


この答えをありがとう。最後に、これがどのように行われるべきかを明確にします。「理想的なアプローチは、インフラストラクチャの努力をタスクとして、最初に価値があるユーザーストーリーの下に置くことです」。
イゴールポポフ14年

実際に、このインフラストラクチャの作業は、完了の定義の一部である必要があります。
イゴールポポフ14年

4

ユーザーストーリーは、ユーザーの観点からビジネス価値を定義します。そのため、インフラストラクチャタスクは一般に「無駄」と見なされます。それは彼らが必要ではないという意味ではありません。より多くのインフラストラクチャタスクを実行すると、ビジネス価値が低下することを意味します。そのため、インフラストラクチャのタスクはユーザーストーリーと見なされるべきではなく、ユーザーストーリーに添付されるべきではありません。

計画会議では、チームは次のスプリントでどのようなインフラストラクチャタスクが絶対に必要になるかを考慮する必要があります。これらのインフラストラクチャタスクを念頭に置いてコミットメントが行われます。速度はチームがどれだけのビジネス価値を提供できるかを測定するため、正しい結果であるチームの速度に影響します。


2

ユーザーストーリーを、エンドユーザーの価値を提供しなければならないとは決して思いませんでした。それは一般的かもしれませんが、ユーザーストーリーの処理方法ではありません。これらのタイプのタスクはスパイクと見なされることもありますが、他のユーザーストーリーと同様にポイントが推定される定期的なユーザーストーリーもあります。


一部のチームはそのように動作しますが、そのため、提供された価値を測定することが難しくなります。個人的に、チームはビジネス価値のあるストーリーのみを作成することをお勧めします。(製品の人々が将来のオプションとそのコストに関する情報を購入しているため、スパイクにはビジネス価値があります。)
ウィリアムピエトリ

しかし、ビジネス価値とは何ですか?広義の用語であり、企業がソフトウェアをより早く/より良く/リリースできるようにするものはすべて、そのビジネスにとって価値があります。
アンディWiesendanger

私が描いている区別は、主にチームにとって直接的な価値のあるものと、主にあなたが奉仕するために実際にそこにいる人々にとって直接的な価値のあるものとの間です。最終的に重要な唯一の値であるため、後者は速度にのみカウントすべきだと思います。その価値創造を改善するために行われた事柄は、改善された長期的な速度を通じて速度で説明されます。すぐにそれを数えると、インセンティブがゆがみ、利益が二重に数えられます。
ウィリアムピエトリ

2

私が見たところから、インフラストラクチャの多くは与えられたものと考えられています。これには次のようなものが含まれます。

  • リビジョン管理システム。
  • 自動ビルドシステム。
  • IDEおよびその他の開発者ツール。
  • 開発サーバー。
  • 展開プロセス。そして
  • プロジェクトのプロセスと標準。

私が取り組んできたほとんどの方法論は、あまり注意を払っていません。これらは、Release 0と呼ばれるものを形成します。これらのことは、開発を開始する前に適切な場所にあるべきです。ストーリーの作成を開始すると、これらの変更はプロセスの改善として追跡できます。

開発チームが意見を述べることもありますが、これらの項目のほとんどはプロジェクトサポートチームが処理する必要があります。複数のプロジェクトでこれらのアイテムを標準化すると、組織にとって大きな見返りが得られます。


1
+1:これが適切でない場合、アジャイルは本当に難しいです。安定性と実績のあるインフラストラクチャとプラットフォームは、俊敏性の前提条件の一種です。
S.Lott

1

以下を考慮してください。

  • 既存の製品スイートに主要な機能を追加するスクラムチーム。

  • 開発技術/ツール/ユーティリティをアップグレードして、エンジニアリングのベストプラクティスに基づいて最新の状態を維持する必要があります。

  • リリースの過程でスプリントの問題を解決できるように、この作業でリリースをフロントロードすることは理にかなっています。

  • ビジネスはこれらのアイテムから間接的な価値を得るので、透明性のために、これらは製品バックログアイテム(PBI)であることをお勧めします。

  • チームはこれらのアイテムのサイズを決定し、PBIと同様に扱います。

私にとってこの問題は、他のビジネス中心のPBIの下にタスクとしてこの作業を隠す方法を見つけようとして時間を無駄にしたくないという事実に要約されます。

この種のインフラストラクチャー作業によってPBIのサイズが歪曲されるのは望ましくありません。何が行われているのかを見て、私が何を払っているのかを理解したいです。

また、質の高いソリューションを提供するために必要なインフラストラクチャに投資することで、ビジネスのコミットメントをチームに理解してもらうことも価値があると思います。


0

XPでは、すべてのツールとインフラストラクチャがセットアップされている「反復ゼロ」を推奨しています。これらのストーリーを書くことはオプションですが、おそらく良い考えです。インフラストラクチャ(インクリメンタルビルド、自動テストおよび展開、通知など)をテストできることは有益です


2
XPはそれを推奨しません。一部の人々はそうしますが、それは間違いなく、ベックらによって定義されているエクストリームプログラミングの一部ではありません。個人的には、イテレーションゼロは悪い考えだと思います。
ウィリアムピエトリ

別の問題として、常に0から開始するわけではなく、今、または次のスプリントで何かが必要であることに気付くかもしれません。
アンディWiesendanger

@William:ケント・ベック、第15章、66ページによる「計画エクストリーム・プログラミング」を参照してください
スティーブンA. Loweの

これは推奨事項ではありません。彼らはそれがアイデアだと言い、「あなたが以前にあなたのテクノロジーを使ったことがないなら、プログラミングを始める直前にテクノロジーを入手するのに2週間費やすことを考えてください」と言います。また、「すべてのインフラストラクチャ」を提案するのではなく、基本的な自動化されたテスト、ビルド、および展開スクリプトのみを提案します。
ウィリアムピエトリ

@ウィリアム:ああ、私はあなたが何を得ているかわかります。私はすべてを意味するものではありませんでしたソフトウェアインフラストラクチャ、あなたが言及しただけのものを
スティーブンA. Loweの

0

私たちのチームでは、次のことを行います。

  1. より低い焦点係数を想定します。
  2. そのようなタスクを実際に実装する必要があるユーザーストーリー含めるようにしてください。
  3. 一部のタスクが完全に必要であるが、直接的なビジネス価値を提供しない場合(フレームワーク間での単体テストの移行など)、スプリントの開始時に「連続タスク」のリスト作成します。これらはストーリーではない開発関連のタスクですが、開発チームはそれらを実行することを望んでいます。これらのタスクを黒板にリストし、ストーリーとは別にします。スプリント中、毎日のミーティングで、それらを達成するために何が行われたかを確認します。

ステップ2が最も重要です。アジャイルプラクティスのように、スクラムではタスクを達成するためにできる限り少ないことを試みます。不必要な仕事をすることにあなたの人生を無駄にしない方法としてそれを考えてください:私の経験は、「​​クールになる」ものの50%が長い目で見れば放棄され、維持されないことを示しています。

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