Before work can start on a user story or issue, the team needs to have a discussion with the product owner to understand the requirements or the wrong 'thing' will be delivered. Everyone in the team should be involved in this discussion to build a shared understanding, and BDD helps further by using examples to clarify the requirements and build a ubiquitous language amongst the team.
If you are having trouble convincing a colleague about how difficult it is communicating requirements try this simple game.
Not everyone has a collocated team so meeting face to face to discuss a User Story and create the scenarios isn't possible, even if you do meet face to face often after you walk away further questions pop into your head. To support these situations Behave Pro has a couple of features:
- The ability for teams members to vote a user story or issue as 'Ready'
- Allow teams to ask questions on a user story or issue, with the question staying open until it's explicitly resolved by the team member with the question
Questions and Ready
JIRA admins often add an 'Approved' or 'Signed off' step to the JIRA projects workflow. These steps only allow one or two people to be involved in the process and it doesn’t capture the whole team's agreement on understanding. To remedy this we have created the 'Ready' button, a simple way for team members to communicate their understanding using the simplicity of the Facebook 'Like' button concept.
The 'Ready' button is located on the top right corner of the Acceptance criteria panel on an Issue. A team member simply clicks the 'Ready' button to register or remove their vote for the Issue. The badge on the button displays the current number of votes and hovering over the button will reveal who has voted.
What if someone doesn't agree?
With having a variety of people involved someone will always come up with a view point or thought no one else has considered, it's part of the beauty of BDD, but how do you deal with this?
To complement the 'Ready' button we have the 'Questions' button for team members seeking clarification. Based on the same principles as the 'Ready' button the badge on the 'Questions' button displays the number of open/unresolved questions for the issue, and click on the button will open a list of questions and an editor for the user to ask a new question.
A question created by a team member will also appear as a comment on the issue, this serves two purposes:
- Uses the existing notification system (Email, HipChat, Slack etc...) and rules you have configured within JIRA to notify colleagues about the questions.
- Allows the discussion to be held using JIRA's comments system if a face to face discussion isn't possible.
Once the questioner is satisfied with the discussion and the modifications to the Issues and Scenarios (Adding or Editing Scenarios is a common outcome), they can resolve the question using the action hyperlink located below the question. Only the user who originally opened the question can resolve the question and this user can't vote the Issue as 'ready' until their questions are resolved.
Highlight blocked Issues on your Agile board
Your project's agile board might already have a 'Blocked' or 'Expedite ' swimlane to highlight issues that are blocked or urgent for your team. If someone has asked a question on an issue you probably consider it blocked.
To get issues with open questions displayed within the 'Blocked' swimlane of your board required a minor configuration change. On your board in the top right-hand corner is the action menu, open it and select Board Settings. Select Swimlanes on the left-hand navigation.
In the 'Blocked' swimlane (Create it if doesn't existing) add an additional JQL clause "questionCount > 0". Once this is saved any issue visible on your board with an unresolved question will appear in this separate swimlane.
This is all possible because Behave Pro adds two new JQL search properties to JIRA: 'questionCount' and 'readyCount'