Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 5 years ago.
Improve this question
As a school project, we are rolling out our initial set of user stories. Should a user story record the original idea from a user, without combining them or separate them?
For example, John added that "I want to post multiple choice questions.", and Mike added that "Except multiple questions, I want to post true/false questions." David added that "I want a confirmation box before I add questions"
Do you leave those 3 user stories as it is, or you want to combine John's and Mike's as "I want to post multiple choice and true/false questions." and within this new user story a detail like "show a conformation box before clicking the add buttion"?
What do you choose?
From User Stories Applied book (Mike Cohn), he talked about a "Good user story" which should have these characteristics:
I.N.V.E.S.T (Independent, Negotiable, Valuable, Estimable, Small, Testable)
Your question falls to "Independent" characteristic. The reason to combine OR separate is depending on how to make them "independent".
The reason to split/separate story cards
The story is bigger than one sprint
story combine with high and low priority sub stories
The reason to combine story card
When we see they have "dependency". And after combining, it's not gonna take more than 5 days to implement.
After combining and it would take more than 5 days, you should find another way to split the story.
About your example:
I want to post multiple choice questions.
I want to post true/false questions.
show a conformation box before clicking the add button
In my opinion, I will leave them as 3 stories because they look independent. Even for "confirmation box", you can implement just a box with add button that can show alert box for confirmation without any questions. Three of them look valuable and independent by themselves. Anyway, Product Owner or Customer is the one who can tell you if the stories are valuable for them or not. So, after splitting or combining, you have to confirm with Product Owner to make sure the stories are still correct.
I agree with Natty that I would leave them as independent stories. Just because they are related, does not mean they have the same business priority.
For example, it is entirely possible that the client decides that multiple choice questions are the highest priority, followed by true-false questions, but the confirmation box is so low on their priority scale that they would not want it implemented should budget not cover all stories in the backlog.
For this reason alone, I would keep them independent so that I could capture that business priority on each feature.
However, if I noticed that the client was always talking about them as "one story" and prioritizing them as a group, then I might consider making a combined story for prioritization purposes that would then be broken into multiple sub-stories for the development team to estimate and deliver.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
I work as a UX-designer and have some experience with user stories from agile development projects where they were used to document functional requirements on the form:
As a [type of user] I want to [goal] so that [reason]
After a discussion with some colleagues we identified three different interpretations of what a [type of user] is supposed to be.
For me as a UX-designer the [type of user] would represent a persona, an
archetypical end user or customer built from user research on real
people.
One of the developers said the [type of user] was a role in the
software, for example a medic or a sniper in a war game.
A project leader said the [type of user] represented team roles
in the development project, for example a tester or a developer.
Who is right? If all of us are right, wouldn't this be a common source of confusion?
User stories are written in the language and from the viewpoint of end users of the product.
So the user's are exactly that: they are users of the system.
Examples include:
A doctor using some medical software
A shopper using an online shop
A product manager using a product report
To answer as short as possible: the person is a "stake holder".
Now what is that stake holder? It is the person having the (biggest) benefit of the story tasks to be performed.
Most general it's the app user. It can use a new feature.
It could be a developer, e.g. the story could intend to make an app more resilient
It could be your manager, maybe there is a risk to be closed
And many many more. As long as it's getting benefit of this story to be finished.
(side note: I never liked this way of story writing. too many boilerplate, but also our agile coach urges us to write stories in this format)
1 and 2 are very common in use. I've worked with many teams who created a number of persona's for their product, say Jane the elderly lady, Daphne the hipster who does everything with her smartphone and John the executive who lets everything be arranged by his personal assistant.
These personas have very different requirements of a piece of software even though they may be performing the same function in the system or are acting from the perspective of the same role.
The value statement for one may even conflict with the value statement for another. Where Jane might want a large font and only the information relevant t her current action, John ('s assistant) may want to have a broader view and doesn't mind visualizations and small fonts if it means she can cram more information on the same screen.
So see the personas as a way to further scope down specific roles and make your user stories more "human" by staying away from tightly scoped roles. Remember, the user story is meant to really tell the story of a user and what the functionality will help him/her accomplish and what that would bring to these people. The roles "administrator", "customer", "gold customer" tend to be empty of emotion and often don't lead to the right discussions.
I remember some team discussions where people remarked mid-discussion: "While John would love that, we'd have lost Jane 3 steps ago". Which lead to a change in the proposed functionality.
As for option 3, I see quite a few teams do that, and for certain roles it may make sense... As a operations engineer I need thorough logging in order to analyze production incidents quickly. could be an example. But teams taking it to As a requirements analyst I need the requirements for story 27 is taking it too far. Often these items fall in the non-functional requirement bucket and do not provide true end-user functionality. For these types of Product Backlog Items you may need to check whether a User Story is the best format to describe them.
The first and second are right but they are not different, rather are complementary.
Type of user can be:
Joe a person.
A banker, some rol.
Joe the banker, a person that have a rol.
In resume you can use any context for a type of user, so you can use one of them or a mix.
Hope my english can be undertand =).
TL;DR
All are useful, none are wrong and none are the only way. Read more on a blog post I wrote to follow up this answer.
The 3 nuances you describe are each valid and provide useful information. Consider trying each to see which works best for you. My advice would be to avoid restricting what 'user' can mean as it may cut you off from useful insight and deeper meaning into what you're building
The goal of a user story (originally, Kent Beck wanted them to be just called 'stories') is not to write better user stories; it is to go beyond requirement and into true understanding. For this, you need to who who the software is for, what problem it is solving for them and why that problem is valuable to be solved.
Consider this as an experiment to know if you have the right type of user. Answer the question, "Do I know how this thing I'm building will change the world of those who will use it?" If not, you may not understand yet who it is for.
User stories best used to describe the requirements from the product backlogs so that how the end user or stakeholder will see and use the product from his point of view. And PO should be the best person who can comment about the correctness of the user story. If PO is taking input from team for the development of user stories, the one should visualize more on the usage of the product rather
than simply classifying the type of user. Though the type of user are important, but the emphasis needs to be given to usage such as,
1. the doctor accessing the medical website to know the content of the drug and its manufacturer so what kind of access needs to be given to him on the other hand
2. if the druggist is looking for the particular drug, available quantity, shipment time then according access and workflow needs to be provided.
From the above given usages, I find the 1st one as appropriate i.e. persona and its the usage of the system from his point of view. For each usage of the system, one can create user stories and accordingly the workflow can be developed.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
I'm reorganizing my agile board on youtrack and am trying to conform to the industry best practices however I would much rather call an epic
"User Profile"
as opposed to
"A users can view their own and other users information and content on their user profile"
if I can get away with it.
I'm going to be applying for jobs soon so theres a chance someone might look at what I've done and I just want to make sure I don't look bad because of something like this.
To further clarify how I view each "Type" of issue (to make sure I'm understanding them correctly)
Epic - User Profile (brief description)
Feature - User Feed (detailed description)
Task - A user may like items in the feed
At the time of writing the epic stories, probably you don't have the same clarity level on what the customer really want.
So the epic title might be "User Profile" while later on when you start creating the user stories; the user story title "As user I want to be able to update my profile so that I can add avatar".
The title of an epic should be 'fit for purpose'. What that purpose is depends on how you are using them.
For example, say you were the only person who had visibility of the epics. In that case the epic title should be something that made sense to you. If, however, the epic was visible widely across business users then it would make sense to use an epic title that means the most to them.
There isn't really a 'best practice' when it comes to this kind of thing as agile approaches vary so much. Really it is about finding a solution that works well for your particular organisation and if it doesn't work well, adapting it to be better.
I would suggest the only situation you absolutely want to avoid is having epic titles that are meaningful to the delivery team, but not understood by the business users.
There is really no logical difference between an epic and a story; the distinction is one of scale. In fact, it is often the case that a story becomes an epic when the team estimates it to be relatively large.
We find it really easier to go through the product backlog items, specially when we are trying to rank them by showing a title which sum-up the main purpose behind the user story and if more details is needed then we dig into it to check the whole user story with it is acceptance criteria.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 5 years ago.
Improve this question
I'm starting with Scrum. I have read about it but as a newbie I feel uncomfortable about a lot of things.
These days my team is starting the creation of a new game. We know the key elements of the game but we don't really know how they will really work. I would like the team to spend 1 or 2 weeks brainstorming and defining how the elements work. As an example one of the elements could be a grid of pieces where user clicks the pieces to destroy them.
Can this be converted into a user story or this is not the kind of thing that is converted into a user story? I was thinking about writing the user story this way: "As a player I would like to know what am I able to do when I interact with the grid of pieces". With this requirement I could justify the time spent in the design stage of this element.
I know a user story is something that the product owner adds to the backlog to provide some value to the project. For me in the design stage this would provide value because stake holders would know exactly how things work before starting real development.
Thanks in advance.
A user story should represent value to an actual user, not just a part of the development process. Start with a story like "Player plays the game for a few turns" or just "Player moves a piece on the board" or whatever you think will fit in to one sprint. Include in your estimation the time needed for all team members, designers and developers, to contribute. When you've implemented that story you'll have something a real end user will care about. It will be terrible, since you're just getting started, but you can write more stories to address that in later sprints.
It's important to keep in mind that stories are "a reminder for a conversation" and that the product backlog is not static, but evolving over time.
Let's say you start with something relatively imprecise as "player can destroy pieces placed on a grid." No details as to what that means yet.
When you arrive at the Sprint Planning meeting, the Product Owner indicates that this is the highest priority item, and everyone agrees that the Sprint Goal will be to figure out different ways to destroy pieces. You could proceed two ways here, depending on how much you know about destroying pieces.
If you have some ideas on how that could be accomplished, you could have a quick brainstorming session during the meeting. Let's say that, as a result, you identify 3 different ways in which that could be done. The original story is then split in 3 pieces, and then the team needs to decide how many of those they could implement during the sprint. Something important to realize here is that you can consider this early implementation as an experiment that will provide you later with more information to further refine the ideas.
If you have no clue about how this could be done, you could add a "spike" to the sprint. A spike is a time-boxed experiment designed to gather information to implement another story. So in essence, you're scheduling research time and deferring implementation for later, but the research is time-boxed and expected to provide implementation options.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I'm starting to add first user stories to my game backlog. My team has a rough idea of the game we want to create and we are ready to gather top level requirements. How do you do this? I mean, for example you can start with a mega epic (top level) that reads "As a publisher I want to create a game where player must feed a monster so that they spent a really fun time". Is this a correct starting point? Should we now split this epic into smaller user stories and split this user stories in smaller ones and finally in tasks? Is this "tree like" way of gathering requirements good or you usually use a "flatter" way?
Thanks in advance.
That is what we do. Start with epics that are fairly high level and the decompose them into more technical user stories. Generally we stop at one level, but sometimes a user story is just too big and it does need to be split into smaller chunks.
At the top level are epics, and right below are user stories, and that is it. It may help you to break down further as an exercise in decomposition - but building a massive tree of dependent stories might be a lot to track. We try and capture stakeholder needs AS epics (and yes, there can be some overlap, but that's ok.) We tend to want our user stories to be "lightweight requirements". The developer is free to create as many tasks as necessary to accomplish the story. And if the dev finds that there are just too many tasks, we go back and see if we can break the story up.
Our Product Owner manages a "feature backlog" which is just the fancy way of saying "epics". We link the feature stories to our team stories. There is not ONE top level epic, there are MANY top level epics representing feature needs. This way we can group features logically together for the sake of "releases".
You might want to take a look at a technique called "User Story Mapping", by Jeff Patton.
"As a publisher I want to create a game where player must feed a monster so that they spent a really fun time"
Something to keep in mind is that stories are written from the perspective of the users of the system. In the example you mention, it occurs to me that the Publisher is definitely a stakeholder for the project, but not a user (unless you're creating an app to generate games on the fly.)
Start by doing an analysis of users of your game. Probably "Player" will be the main role, but you can think of different kinds of players: advanced players vs. newbies, PC players vs game console players, players who want to explore vs just get through the game fast, etc. That will suggest you different features the game needs to support.
A good starting-point for writing good user stories is the book by Mike Cohn. There are also plenty of useful resources online how to write good user stories and how to work with the backlog as a Product Owner and how to involve the team to continuously keep the backlog in good shape so you can have effective sprint planning sessions, do reasonable forecasting of dates when features will be available etc.
It's always important to stay practical and experiment. Start with something and then inspect&adapt that so that you improve. This is the essence of any agile tool/framework.
If you want, start with the big epic and see how that goes.
Probably it's not worth having that epic, but rather discuss various things the player of he game can do that are more specific. These things are user stories, i.e. things that add user value throughout a whole product. A vertical slice of the system.
Some made-up examples to illustrate ideas around stories in a game setting:
Player that gets 100k points will get rewarded with a golden medallion.
Player must complete X and Y in order to open up the secret passage in Z.
Player can use portal to teleport to any level he chooses.
Yes you can see it as a tree or more and more specific stories that are children of other stories or epics. Practically, you only care about the leaves as that is the product of working together as the team and PO to work on backlog items during sprint planning or other sessions.
Experiment and start with something and improve from there.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 5 years ago.
Improve this question
My team have recently gone to sprints and we are going through breaking down our user stories into tasks. What is the best practice in breaking down the user stories?
Should each task include developing, design, testing, and so forth? Or can the tasks be individually broken out? If so, should the tasks that aren't testing related just go straight to done and skip "Verify" or "To Test" column in the workflow?
From what I've read online it seems there is no 'set' way and people do it differently. I'm curious if people have had problems with their way of doing it.
Any help would be useful!
What is the best practice in breaking down the user stories?
Splitting user stories: the hamburger method
Elephant carpaccio
Should each task include developing, design, testing, and so forth?
As you wish. Maybe, you can test feature, not a task. But testing of small peaces (task) is easier, than whole feature (if it possible). BUT sprint product should be tested as well.
+1 for the Elephant Carpaccio :-)
The goal is to understand the power of thin and vertical incremental developments :
Thin : the smallest code is written, the less code have to be changed for future stories
Vertical : each story should change any part of the n-tier
architecture
code (presentation, logic, data), so that each story delivers
immediate business value
I facilitated it and met his creator (Alistair Cockburn). This game/exercise is really interesting for teams facing customers with frequent change needs and small cash funds.