User Story Creation
These are technical notes I compiled while studying using Trailhead, Salesforce's free self-learning portal.
Learn About User Stories
Define how a user story is used. Identify the parts of a user story.- What is a User Story?
- User Stories help translate technical requirements into easy-to-understand ideas
- Key tool for Salesforce BAs
- They are a simple descriptions of a feature told from the user’s point of view
- User stories are used within the Agile methodology
- They explain the roles of users in a Salesforce system, their desired activities, and what they intend to accomplish
- User stories don’t outline the entire requirement, but just offer a synopsis of it
- Benefits of User Stories:
- Save time whe prioritizing development/implementation of requirements and functionality
- Focus on how a project can deliver value back to the customer/end-user
- Focus on customer/end-user success
- Avoid restrictions that occur when specification details are defined too early
- Increase collaboration and transparency within the project team
- Deliver features/products that users actually need
- Assist in testing solutions
- The Parts
- Format is intended to be simple and easy to use. Three components:
- Who: From whose perspective (AKA user persona) within Salesforce will this user story be written?
- What: What goal will be accomplished/implemented within a Salesforce org as a result of the user story? IE, the user’s goal.
- Why: Why does the user need the Salesforce functionality or feature outlined in the user story?
- These parts are arranged into a sentence like this:
- As a <who>, I want <what> so that <why>.
- User Story Example: As a customer care representative, I want to take ownership of new cases and communicate with customers so that I can provide high-touch customer experiences.
- Format is intended to be simple and easy to use. Three components:
Construct a User Story
Highlight the importance of establishing an acceptance criteria. Summarize the INVEST concept to writing a user story. Identify common mistakes to avoid when writing a user story.- Assembling the Project Team
- User-story writing workshops should be held near the start of a project
- Should include the entire project team: product manager(s), developer(s), admin(s), UX designer(s), users, etc
- Brainstorm to generate ideas and user stories
- User stories encourage iterative development and can be refined as needed
- During this workshop do not focus on implementation or which components will be affected, leave these decisions to the development/implementation team during their planning meetings
- Accept the Need for Criteria
- Each User Story should have at least one Acceptance Criteria
- Acceptance Criteria are a set of statements, each with a clear pass/fail result, added to a user story. They specify conditions under which a user story is fulfilled.
- Should be simple and clear, without any ambiguity about expected outcomes
- Benefits of Acceptance Criteria:
- Clarify scope for the project team
- Assist development/implementation team
- Ensure testers know what needs to be tested
- Acceptance criteria should state intent but not a solution - IE, the “what” not the “how”
- Bad example that focuses too much on solution: A district manager can click Approve/Disapprove button to approve a discounted price.
- Good example of acceptance criteria that focuses on intent: A district manager can approve or disapprove a discounted price.
- Consider this User Story: As a customer care representative, I want to take ownership of new cases and communicate with customers so that I can provide high-touch customer experiences. Example acceptance criteria:
- Take ownership of cases from the queue
- Email customers from the case page
- Update case details: status, subject, description
- Acceptance criteria can also be formatted as if/then statements
- IE: “Email customers from the case page” -> “If on the case page, then the email customer feature is accessible”
- Example User Story: “As a sales rep, I need the ability to take ownership of a new lead and document the progress so that I can provide consistent insight to my pipeline.”
- Appropriate acceptance criteria:
- Able to update lead status with New, Prospecting, Dead or Closed
- Assign ownership to yourself from the lead queue
- Access to lead object
- Appropriate acceptance criteria:
- Invest in the User Story
- Use the INVEST checklist to assess quality of a user story:
- Independent: not overlapping in concept with another user story
- Negotiable: not a contract, instead an invitation to a conversation. Captures essence, not details.
- Valuable: useful to the end user. If no value, then it should not be created.
- Estimable: timeline can be estimated. Exact timeline is not required, but just enough to help prioritize/schedule story’s development/implementation
- Small: smaller user stories get more accurate timeline estimates. Details can always be elaborated through conversations
- Testable: should be able to draft a set of acceptance criteria with the info in the user story
- Use the INVEST checklist to assess quality of a user story:
- Mistakes to Avoid
- Project team didn’t engage in story writing
- User story will not represent multiple perspectives of the team, so rewrites are likely
- To avoid: Continuously review and discuss user story with project team, and schedule a story-writing session
- “Who” of user story is an undefined user
- Development team will not immediately understand role of the user’s motivations and needs
- To avoid: Create a list of personas before creating a user story
- “Why” in the user story is feature specific
- Story is overly technical and focused on specifics, more like a tool description. User needs are not addressed.
- To avoid: Keep user’s needs priority number one
- Acceptance criteria too vague
- No reliable way to measure when the user story is successfully completed
- To avoid: ensure all acceptance criteria are independent and can be answered with true or false
- User story was assigned to implementation team without a team discussion
- Likelihood of user stories being misinterpreted during development greatly increased, so end product may be much different than original intention
- To avoid: review stories with your team when assigning them to ensure the team is on the same page
- Project team didn’t engage in story writing
- These mistakes and other can be avoided when the user story process is properly followed - shortcuts should not be taken
- Trust the process and end result will be a solution focused on customer/end-user success
- Trust the process and end result will be a solution focused on customer/end-user success
- Acceptance criteria are answered with only a true or false
- Using an undefined user in a user story is detrimental because the intention of the user can’t be clearly defined