web-dev-qa-db-ja.com

これは基本的な数独ゲームのユーザーストーリーとしてカウントされますか?

私は、アジャイルソフトウェア開発アプローチを使用して、基本的な数独ゲームのユーザーストーリーを作成しようとしています。

ユーザーストーリーの背後にある概念を理解しましたが、理解を深めるための例を入手できるかどうか疑問に思っていました。

言うでしょう

  • 私は熱心な数独​​プレイヤーとして、さまざまな難易度で複数のレベルを持ちたいと思っています。
  • 新しいプレーヤーとして、私は基本を教えてくれるゲームの紹介レベルが欲しいです。

ユーザーストーリーとしてカウントしますか?

8
Minhal Syed

例はユーザーストーリーとして数えることができますが、非常に重要な部分、つまり、ストーリーが実装されたときにユーザーが達成したい目標が欠けています。
この目標は自明かもしれませんが、とにかく書き留めてください。

ユーザーストーリーの形式は

As a <user>
I want <feature>
So that <goal>

目標の部分は、開発者が正しい決定を行うのに役立つため、重要です。

2番目の例には、2つの非常に異なる目標があり、異なる設計につながる可能性があります。

  • 新規プレイヤーとして、基本を教えるためにゲームの入門レベルが欲しいですゲームを解決して達成感を得られるように
  • 新しいプレーヤーとして、私は基本を教えるためにゲームへの入門レベルが欲しいです私がゲームのルールを学ぶことができるように

最初のケースでは、簡単なレベルがあれば十分ですが、2番目のケースでは、特定のセルに特定の数値を配置する必要がある/してはならない理由をユーザーに案内します。

バートが目標に関して述べた良い点に加えて、私は「アジャイル」の部分に焦点を当てたいと思います。あなたが持っているのはユーザーストーリーですが、それらはスペクトルの「エピック」側にあり、開発にはまだ役に立ちません。

私が見ているように、最初に新しい製品や機能を計画するときは、通常、上記のようなストーリーから始めて、何を構築したいのかについての良い感覚を得てから、このような「叙事詩」を壊し始めるでしょう"開発のために直接実行可能な一連のストーリーができるまで、ストーリーをどんどん小さくしていきます。特に、テスト駆動開発(TDD)を実践するときは、各ユーザーストーリーが自然にいくつかのテストケースに翻訳できるようなレベルの粒度にしたいとします(ただし、それぞれはまだ複雑かもしれません)。

このようなより実用的なストーリーの例は次のとおりです。

  • プレイヤーとして、ゲームに解決可能な数独ボードを生成するように依頼し、アプローチを計画できるようにします。
  • プレーヤーとして、マウスを使用してセルに値を入力し、その値によってボードが無効になるかどうかをゲームに表示できるようにしたいので、可能なオプションをすばやく試し、必要に応じてバックトラックできます。

詳細については、Alex Cowanによる次の優れた投稿をお勧めします: Your Best Agile User Story

1
yoniLavi