I am trying to tighten up my process for tackling a feature request. Currently, we use trello to manage feature requests using cards. They typically look like this.
Card Title: Invite a friend
Card Description: Allow the user to send an invite.
I then interpret the feature and start writing code to fulfill the request. I sometimes have to stop in the middle of coding and message the client or project manager questions like "Is this just for a regular user? What happens if that email already exists? Where should the link for the invite page go? etc..
I am getting into writing user stories and it seems to bring more of the conversation upfront and is helping with the planning phase of a feature, but I feel like there should be at least one more step before writing code.
As an example say we are working on a web application that allows teachers and students to communicate. We get a feature request to allow the user to send an invite. This feature has three scenarios.
Scenario 1 User Story
As a: Student I want: to invite my classmate So that: they can communicate with our teacher.
Scenario 2 User Story
As a: Student I want: to invite my teacher So that: we can communicate within the application.
Scenario 2 User Story
As a: Teacher I want: to invite my colleague So that: they can comunicate with their students.
What is the best way as a programmer/developer to break this out as part of the planning phase before writing any code? How can I break this user story up into something developer related and I can refer back while actually writing code. I use TDD so I usually would start writing the tests with the code that I wish existed and simply start writing the classes and methods to satisfy my test. Can I do something similar with a user story?