私の場合、フルユースケースに必要な詳細レベルは、まずユーザーストーリーを最初に考えることで得られることに常に気づきました。私が最初に尋ねる質問は、「人々が何ができるようになる必要があるのか?」です。シナリオを取得したら、システムのフローのすべてのユースケースとバリアントを確認する方が簡単です。
とはいえ、単独で作業する1人の開発者にとって、ユースケース、ユーザーストーリー、または「xを忘れないでください」と書かれた壁に貼られた付箋など、本当に気にする必要はありません。必要なのは、ユーザーが達成しようとしていることを考えさせ、ユーザーが実行できるようにする必要があるさまざまなことを追跡するのに役立つプロセスです。それ以外のすべては、開発を計画するために書き留める必要がある詳細のレベルに関してはあなた次第です。
たとえば、ソロのサイドプロジェクトで作業している場合、私の作業タスクは次のようになります。
- ログインする
- 'foo'のリストを表示
- リストから選択を保存
- 探す
正直なところ、それらのそれぞれは、推定値以上のものは何もありません。どうして?私はユーザーに何をする必要があるかを思い出させるためにそれらを使用しているだけなので、その部分に移動したときに詳細を理解します。一人のチームでは、すべてが頭の中にある可能性があり、それを他の人に伝える必要がないため、それは問題ありません。
今、注意点があります...
他の専門家と協力する単一の開発者
進行状況を別のチームに報告する必要がありますか?作業を検証する必要があるテスターはいますか?あなたがしたことを知りたい経営陣はいますか?タイムラインを予測する必要があるプロジェクトマネージャーはいますか?必要な機能を決定している製品所有者はいますか?
これらの人々があなたのプロジェクトの一部であるならば、あなたはあなたの仕事の仕事が彼らが彼らの仕事をすることを可能にするのに十分な情報を彼らに持っていることを確認する必要があります。首相はおそらく、物事の相対的なサイズを確認し、その作業を進める方法が必要です。テスターは、物事がどのように流れることが期待されるか(ユースケース)に関する詳細が必要です。また、テスターに作成の手伝いを依頼することもできます。管理者は自分が何に取り組んでいるのかを知りたいと思うかもしれないので、提供する予定の機能を理解できるように、十分なビジネスの説明が必要になります。
これらすべての質問に「はい」と答えた場合、チームの他のメンバーとの通信に使用するため、バックログをより厳密に文書化する必要がある可能性があります。
- おそらく、管理者または製品の所有者に報告するために使用できる高レベルの機能となる「エピック」または「機能」の概念が必要になります。
- これらのEpics / Features内にネストされたユーザーストーリーがあり、プロジェクトマネージャーとの進捗状況の伝達、スプリント内での作業タスクの定義、およびビジネス目標の伝達に使用される機能の小さなブロックを定義します。テストチーム。
- ストーリーに対して定義されたユースケースまたはテストケースを使用して、お客様、ビジネス、およびテストチームが連携し、何が「正しい」として受け入れられるかを確認するために必要なさまざまな低レベルのフロー決定をキャプチャします。
あなたが作業を定義し、進行状況を管理し、ソフトウェアをテストし、何かが「正しい」かどうかを判断するのがあなたである場合、上記のすべてを無視できます。余分な労力を省き、重要なことを実行していることを確認してください:実用的なソフトウェアの構築!