Introduction
User Stories are a generic term used in Agile software development methodology to describe a software feature from an end-user perspective, forming a simple requirement statement in a consistent manner.
User Stories, when created in Azure DevOps as Work Items, can be used for several purposes. We are using them to capture what is required, so we can attach Test Cases to provide evidence that delivered functionality meets these requirements. Each User Story should define one scenario which occurs in the solution, using the following consistent format:
As a <user> I can <do something>, so that <something happens>
For example:
As a new starter, I am created in AD, so I can access email
Structure
To structure our User Stories, we use two approaches:
- A hierarchy within Azure DevOps using Epics and Features.
- Tags.
Hierarchy
An Epic is the topmost level Work Item in the Azure DevOps hierarchy. An Epic typically comprises a large number of scenarios which in turn can be expanded into several Features. For example, an Epic could be any of the following:
- HR System
- Contractor System
- Service Panel
- Installation
A Feature is a moderate number of scenarios, which in turn can be expanded into several User Stories. For example, under the HR System Epic you might have the following Features:
- New Starters
- Movers
- Leavers
- Re-Hires
A User Story would be a single scenario. There is no right or wrong way to determine how much effort is involved in a User Story, and a common decision to make is whether to have a single User Story:
- As a new starter, I have an account created in AD, so I can access email.
An alternative approach is to break this User Story into two separate User Stories. For example, in a SoftwareIDM HyperSync context:
- As a new starter without a Hyperverse record, I have an object created in the Hyperverse, so I can be provisioned into downstream systems.
- As a new starter with a Hyperverse record, I have an account created in AD, so I can access email.
The first approach reduces the number of User Stories but increases the amount of information stored in the single User Story. The second approach increases the amount of work to setup the environment but reduces the amount of information stored on each User Story, thereby maximizing granularity when it comes to Acceptance Criteria and Testing.
If the solution is being setup before development has started, the second approach is better, as it allows the additional granularity, but if the solution has already been developed, then the first approach is better, as it allows testing to be undertaken more quickly.
Finally, a single User Story can then be assigned one or more Test Cases.
A Test Case is the most granular level in the DevOps hierarchy, and one or more of these are required to provide test coverage for a single User Story.
Tags
The second approach to structuring user stories is to use the Tags feature within Azure DevOps. Tags allow us to use queries to filter work, finding items related to each other more efficiently. They become more important when we are creating test cases, as the Test Suites can be query based. For more information on tags, click here. Example of Tags could be:
- HR
- Contractor
- New Starter
- Leaver
- Manual
- Automated
- Regression
Importantly, tags are also used within Test Panel itself for Reporting on Test Coverage.
Instructions
The guide below goes through the process of creating an Epic, Feature, User Story, applying tags to the User Story and updating the description. Capturing Acceptance Criteria is covered in a separate article.
| # | Step | Image |
| 01 | Log into Azure DevOps | |
| 02 | Select Boards, and then Backlogs | |
| 03 | To enable Epics, click the |
|
| 03.1 | Tick the Epic Checkbox, and click Save | |
| 03.2 | Click on |
|
| 03.3 | Initially we cannot create our first Epic. Instead click on New Work Item |
|
| 03.4 | The Epic will now appear on the Backlog | |
| 04 | To add a Feature, hover over the Epic, and a + button will appear on the lefthand side of the Epic. | |
| 04.1 | Click the + button to add a Feature | |
| 04.2 | Enter a name, and click Save and Close | |
| 05 | To add a User Story, hover over the Epic, and a + button will appear on the lefthand side of the Feature | |
| 05.1 | Click the + button next to the Feature to add a User Story | |
| 05.2 | Enter the name of the User Story | |
| 05.3 | Under the title, click Add Tags. Add as many tags as required | |
| 05.4 | In the Description field, enter high level overview of the scenario the User Story covers | |
| 05.5 | Once all the details are populated, click Save and Close | |
| 06 | Repeat this process, adding all the required User Stories as required. |
Comments
0 comments
Please sign in to leave a comment.