How to communicate
Identify your audience.
Summarize a task they need to do.
Include context.
Define "done".
Identify your audience
("Personas" in Agile-speak)
A persona describes one specific category of users.
Davenport is a senior chief petty officer in the U.S. Navy, one of 18 culinary specialists chosen to compete for the title of Armed Forces Chef of the Year.
Examples:
- A prospective student
- A logged-in content editor
- A customer
- A client app that gets content from your feed or API
- A forum poster
- A viewer
Now ask the audience to describe Derrick Davenport as a user.
Describe the need
("User stories" in Agile-speak)
A user story encapsulates one single need.
Examples:
- "I want to find the application deadlines."
- "I want to schedule posts for publication later."
- "I want to add the item to my cart."
- "I want to find articles about salamanders."
- "I want to reply to a post."
- "I want to watch a video."
Now ask the audience to describe Derrick's need to slice bananas for pie, as a user story.
Clarify that they are not describing the banana slicer, but rather his need to have sliced bananas.
Include context
("So that..." in Agile-speak)
Give some background info that hints at next steps.
Examples:
- "...so that I can apply to the school."
- "...so that I can maintain a steady stream of published content."
- "...so that I can review what I’m about to buy."
- "...so that I can display an arbitrary number of results."
- "...so that I can participate in discussions."
- "...so that I can be entertained."
Ask the audience to add a "so that..." describing why Derrick needs all those banana slices.
Define "Done"
("Acceptance criteria" in Agile-speak)
Set the goalposts for when this need is fulfilled.
Examples:
- "Given the homepage of the site, when I navigate the main menu, then I find a link to admissions information."
- "Given a saved blog post, when I edit it I can set a publishing date in the future, and when that date arrives the post becomes visible on the blog."
- "Given a product page, when I click "add to cart" then I can see my cart contents and the new item is included."
Ask the audience to propose acceptance criteria for the banana slicing task.
Mistakes in describing a project
Misidentifying your audience.
Describing the wrong task or just part of the task.
Omitting context.
Failing to define "done".
Commonaudience identificationmistakes
- "As a developer…"
- "As a project manager…"
- "As a developer…"
- "As a project manager…"
- "As a website…"
- "As a developer…"
- "As a project manager…"
- "As a website…"
- "As me…"
The persona exists to keep you focused on your users.
These mistakes indicate a lack of awareness of the target audience… or dishonesty about it.
Consequences ofaudience identificationmistakes
Confusion about whose need.
Scope becomes squishy.
Unplanned features for unacknowledged users.
Eleventh-hour changes make the product brittle.
Result meets development needs, not user needs.
Plan in advance how you will balance users needs with stakeholder desires.“As a member of the board,I want to see something flashyso that I can show it off”
Commontask descriptionmistakes
"I want..."
Flaw
"...sliced bananas."
Too vague.
"...a banana slicer that has titanium and is handcrafted in Vermont."
Implementation details.
"..it to work like the picture"
Picture ≠ task.
"...accessibility."
Prerequisite ≠ task.
"...sliced bananas that are on a crust that is in a pie tin."
Multiple behaviors.
- "...a website that works"
- "...[specific JavaScript library, Drupal module, etc.]"
- "...a form for login that redirects me to my page that tells me when I last logged in and asks me to place a new order."
Just right: "...to turn one banana into many half-inch thick, circular slices." (Make the audience propose a few before giving away.)
Consequences ofneed descriptionmistakes
These mistakes indicate a lack of a vision about what the users will actually do.
Confusion about what the need even is.
Scope gets squishy.
Work is duplicated.
Requirements fall through the cracks.
Product doesn’t behave as expected, has missing parts.
Commoncontext clarificationmistakes
- "..." [no “so that” at all]
- "...so that I can [restates the "I want..." almost verbatim]"
- "...so that I can [states another, separate need that should be its own "I want..."]"
These mistakes indicate a lack of big-picture cohesion.
Consequences ofcontext clarificationmistakes
These mistakes indicate a lack of clarity about how this task fits into the overall project.
Confusion about how needs are related
Scope gets squishy.
Developers guess at why your users need the things they do.
Product meets the technical requirements but doesn’t make any intuitive sense.
"...so that I can decorate the top of the pie." (Again, make audience propose some first.)
"This is not what I meant by 'dress the turkey'!"
Common"done" definitionmistakes
Mistake
Example
Unstated expectations
"I assumed this would work like our apple slicer.""This shading on the design means it will have rubber.”
Vague expectations
"Given a banana slicer, when I press down, then it works"
Subjective goals
"Make it look cute", "make it intuitive", "make it functional"
Adding on more needs
"When I slice a banana then I can also turn on the oven."
Overly technical
"When I apply 2 newtons of force at a 90° angle..."
- "I assumed this would work like our old site.""Obviously this shadow on the comp means a popup on hover.”
- "Given a website, when I do [task], then it works"
- "When I [task] then I can also [completely new task]."
- "When I log in an HTTP request goes to IP address 127.0.0.1 which generates response."
The common thread in all of these is that they fail to define "done". They lack an explanation of the criteria that you (or your users) will apply to determine whether the product works.
Consequences of"done" definitionmistakes
These mistakes indicate a lack of clarity about how product will be tested.
Confusion about how needs are fulfilled.
Schedule gets squishy.
Developers must guess when work is "done".
Acceptance tests fail.
Product is late or over budget.