📺 Develpreneur YouTube Episode

Video + transcript

Transform Your Projects: The Ultimate Guide to Effective User Stories

2024-09-19 •Youtube

Detailed Notes

In this episode of the Building Better Developers podcast, the hosts delve into the critical role of effective user stories in software development. The discussion highlights how these stories serve as a powerful tool for conveying system requirements and improving both development and testing processes.

Read More... https://develpreneur.com/transform-your-projects-the-ultimate-guide-to-effective-user-stories

Stay Connected: Join the Developreneur Community

We invite you to join our community and share your coding journey with us. Whether you’re a seasoned developer or just starting, there’s always room to learn and grow together. Contact us at [email protected] with your questions, feedback, or suggestions for future episodes. Together, let’s continue exploring the exciting world of software development.

Additional Resources

* Updating Developer Tools: Keeping Your Tools Sharp and Efficient (https://develpreneur.com/updating-developer-tools-keeping-your-tools-sharp-and-efficient/)

* Building Your Personal Code Repository (https://develpreneur.com/building-your-personal-code-repository/)

* Your Code Repository and Ownership of Source – Consulting Tips (https://develpreneur.com/your-code-repository-and-ownership-of-source-consulting-tips/)

* Using a Document Repository To Become a Better Developer (https://develpreneur.com/using-a-document-repository-to-become-a-better-developer/)

Transcript Text
[Music]
and we're back sort of uh so next
episode let's talk about what our topic
is going to be I had a really good one
as we were going through the prior
one I want to where was I going with
this it had to do with requirements and
Gathering those I believe oh I don't
think we've talked about user stories I
want to get into a little bit like what
makes a good user story I think we've
referred to them dozens if not hundreds
if not thousands of times but I don't
know that we've ever actually talked
about user story specifically so I was
thinking this is one we can sort of you
not really go too much into like the
because there's a template out in the
book and we can I'll reference that
because we're Shameless like that but um
I think sort of walking through some the
things like how do you what is a story
what is a user story because people talk
about it all the time and it is one of
those things that it's like that's the
fun thing about working with newer
developers is sometimes you'll they'll
ask questions like what the heck is a
user story you've mentioned it a lot of
times like everybody knows what it is
and I don't and I'm like you know what
that's not a bad idea because I have
also seen a bunch of different ones so I
think I have a feeling whatever I lay
out you'll have some modifications to it
because you've seen you know had
different experience you've seen
different user stories as well how about
that for a topic yeah I like that one
and then for the one after this I think
I have a great idea so if we do user
stories now let's maybe do prototyping
maybe mockups like because I don't think
we've talked about that either and from
the previous one that made me think
about that one as well so I like yours
as a good followup but maybe the
followup to this one would be that one
so put that in the yeah put that in the
slack notes there and we'll uh in the
podcast ideas and we will knock that one
out next time around uh because that's a
good one I like that too it's sort of
like what is that that and clickable
demo is uh very near and dear to my
heart
while you're doing that I'll kick us off
well hello and welcome back we are
building better developers we are the
developer or podcast we are talking this
time our topic like I'm going to write
I'm going to spoiler alert topic this
time around is we're going to talk about
user stories we're not about telling
stories about the around the campfire
we're talking about user stories in a
technical sense which I think a lot of
people have an idea that like oh yeah
user stories but if you try to nail them
down down then it's going to take them a
minute to figure out like what actually
is a user
story but before we do that my user
story I'm Rob Broadhead I am one of the
founders of develop andur building
better developers I'm also a founder of
RB Consulting where we help you leverage
your technology and all of your
investments in that wherever we can
usually through simplification
Automation and integration and finding
the various ways for you to take that
big nasty bowl of spaghetti and turn it
into something very nice and easy to use
good thing bad thing I say good thing
that has happened in the last week um
these are always it's sort of fun when
you get to a point where you've got your
own company and you're you know or side
gig or or Consulting and stuff like that
and when you just get sort of a call out
of the blue where what especially when
it starts with like this one was awesome
it started with do you know X and that's
not Twitter I'm just going to say just
not to go into it but it's like do you
know this thing and I'm like yes that
was literally my I was like because I
couldn't add any more to it get an email
do you know this particularly with this
platform
yes okay 10 minutes later I get this
thing hey can you jump on a call in a
little bit turned out to be an hourong
call turned out to be something that
suddenly I'm like the the expert in the
room and I was because basically I was
like okay I've done this before
apparently nobody else had but it turned
into like a little mini gig it'll
probably be you know it's a couple hours
here or there but it's still those are
always good things bad thing bad thing
bad thing bad thing bad thing uh oh bad
thing this actually goes a little bit
into our psychopath thing that we talked
about last time
around I had this really cool I had this
system that we built initially it was
very simple it was not that comp you
know it's not very complicated it's like
it's run it all in one server it's great
we found out as we got into it that you
really want to distribute it it was
built it really needs to be a
distributed system of some sorts I'm
like cool I'm going to do this so I
might go crank it restructure
everything and basically try to put all
of the distributed Parts on one machine
because it's just like hey it's really
it shouldn't be that much more we're
just breaking apart and then later we
can offload this stuff so we can scale
from one server to a billion servers if
we need to and so I I go in and I crank
these things up and it's you know there
is a little bit of extra overhead
because I was using like celery for the
task manager and stuff like that and so
it's like
all right we're you we get the beat
going and it's starting to crank through
this stuff I had to go to it was an
Amazon server I had to go to AWS and
shut the server down to be able to do
something with it and it took a while to
shut it down it locked itself up so bad
and it was one of those that it worked
great when I was on my like you know
eight processor work machine that's got
like 64 gig of RAM or something but when
you go down that little
ec2 tiny instance or whatever it wasn't
that tiny but it was not that but it was
like two processor a gig of RAM I could
hear it screaming from here I mean it
was just one of those it's like not a
good thing so sometimes you want like
luckily it wasn't like production or
anything like that but it is one of
those where you're like sometimes you
want to like inch yourself into it
instead of just like okay I'm gonna fire
it all off and then next thing you know
you have brought that thing to the
ground to such level that you cannot get
back on your server so that's probably
not a good thing and I took too long but
I'm going to go ahead anyways and you on
to Michael let him introduce yourself
himself and see where he can can he can
he top
that want I catch my bre that was funny
sorry hey everyone my name is Michael M
I'm one of the co-founders of developer
also the founder of Envision QA if
you're looking to transform your
business with customer software
Solutions hey we're here to help we
offer tailored software and quality
solutions to optimize the and
performance reliability of your
e-commerce platform pitcher flawless
user experience increased sales and a
comprehensive Edge in the market good
and bad uh good making great progress
with a lot of the customers I'm working
with right now things are moving
smoothly even though we've had a few
hiccups for that listen last episode uh
bad
um it's
fall allergy season is upon us and it's
going to be hay fever heck till we get
cold so that's my
bad yeah just as a quick side note to
that we were to place we won't name it
we'll just it it rhymes with uh I don't
know brick kill K and um we were sitting
there and it was me and my son we both
have allergy
issues and daughter and wife were there
and we're we're eating and we had a
sneeze Fest it was like I sneeze he
sneeze I sneeze he sneeze I sne there's
like eight or nine in a row each of us
it was just it was almost like
volleyball was sneezes it was just I had
a whole pile of like of of napkins and
by the time we're done we're like let's
just blow our noses and go get a whole
other pile of
napkins all right back to user stories
now user stories I think a lot of people
sort of get sometimes they over
complicate them sometimes they're like
trying to figure out too much how to do
it uh we'll call it like the correct way
and I'm using air quotes if you're on
listening to the podcast but the like
the correct way where it's like this is
the way that I was taught by you know a
Six Sigma Black Belt or whatever the
heck it is or something like that I
think about user stories they are really
just a more detailed a better way I
think and I think a lot of people
probably would agree to convey how
something works than a
flowchart because at the end of the day
it is more or less like a flowchart when
you think of like particularly when you
think of like you've got swim lanes and
and the decision boxes and stuff like
that
thing about a user story is it instead
of it being those little points of the
boxes that are your the items in your
chart the objects in your chart and then
little flows it is now it is a story it
is something that flows as a discussion
of it now some key the thing about user
stories in general is there are some
data items that you need to make from
properties you need to have for your
story for it to be useful and for it to
make sense now there's going to be other
stuff that you will see because there
may be things like you people have like
IDs or specific names or codes or short
names or things like that that are
basically a way to uh to either
categorize them or sometimes to link
them but effective user stories can link
to each other anyways you shouldn't
really have to do that those are really
more like convenience functions in
building out your user
stories now that the thing you want to
have is a title to your story of some
sort a name or something like that and
it's just a way this is really just a
way to organize your stories and to
share with other people without going
through the whole story so the user
login story you say that and now people
like okay that's a user I know what
you're talking about even if they
haven't read it they at least know that
they can if they need to know the
details now in any user story you have
an actor or actors and you can call them
this is like gives it away a little bit
you need a user or users to have a user
story and this is actually key
because sometimes we we struggle with
what the actor is and talking about the
actor so a lot of times before you get
into building user stories for your your
system you also need to spend some time
thinking about who are the actors who
are the users and a lot of times those
questions are what are the roles or
profiles or permissions things like that
and sometimes it's very easy because
it's like you have a a super user a
regular user and a readon user or
something like that but often it gets
much more complicated very quickly and
you want to make sure when you're going
through doing the user stories that it
is a specific user that you're talking
about now it may be that you can take
that same story and say well this story
works for all of the users because maybe
it's something like login it's any user
but is it really because you may have a
user that is logged in that is
registered and a different user that is
unregistered and now it's a different
story because you have to figure out how
did they how do they get registered to
get to the
login different from a path now with the
story you're usually going to have some
a story is g to have progression so it
is going to have steps however you refer
to them whether it is uh key items or
whether it is steps and usually it does
have some sort of flow it does have sort
of a you're going from point A to point
B as part of the story so you at least
have a a starting point and an end point
now those steps can be between them but
a lot of times those are key is the
starting point and the end point are
also going to give you assumptions which
you're actually going to have all
through it so in your starting point
this is a starting point and there are
going to be assumptions or maybe
requirements based on how do I get to
this point how do I get to the starting
point so it is uh you know simp
questions that often be like am I log in
uh have I already done certain other
things for example
let's take an ATM kind of thing would
you're just going to an you're doing a
user story to get money out of an ATM
machine well part of that story you know
just sort of cutting around moving
around it part of that story is entering
your uh your pen number your pen for
your card most likely or retina scan or
however it is that you authenticate
yourself to your card well somewhere in
there there's an assumption that you've
put the card into the reader or
something along those lines so depending
on where your story begins that's where
you that's how you set the stage for the
story is what are my requirements and
maybe what are my inputs or what are my
assumptions on the back end of that it
is okay what is the output what state
has changed uh what things now need to
persist potentially and what things get
to go away now those can be part of the
steps within the story but that's really
where you get
into details around each of those steps
and a lot of times there there's many
things I've seen them called extensions
sometimes they're called exceptions
sometimes it's just addenda or
additional information because it's
things like the story is a b c d this is
where we go and then we go to B we go to
C we go to D the exceptions extensions
or whatever you are those additional
notes are at each step here are some
some some assumptions or here are some
validations or here are some
verifications or here are notifications
so all of those
things that could happen and there's all
sorts of little families of them really
can be applied to each single step now
they may may not matter for each it may
be a very simple step and there's not a
lot that matters but then there going to
be some where it all matters so when
you're plotting out your story this is
much like again going back to the whole
psychopath thing is you have your your
user story is your happy path but within
that user's story you do need to Branch
out to the other path if you're old
enough or have stumbled across a thing
called Choose Your Own Adventure books
that used to exist years and years ago
it is very much like that because what
they would do is you would start on page
one and then you it was just decision
trees and so whatever your decision is
would take you a different page now it
could be a 100 pages in that book any
given path was not going to hit all 100
pages I mean I don't think there was any
possible way to do it but you would have
all these different paths and that's
still your your user story but within
that you need to have all of the
Alternatives that here all of your other
Adventures that you choose along the way
to the user story I pause there because
I I kept a little high level I did get
into some details but I want to I want
to throw this out to you and see where
you can start fleshing some of that out
and add your own flavor to the story as
well yeah so as you're thinking about
user stories from a tester's perspective
we think about user stories more is a
blackbox testing you have information in
information out so your story is going
to talk about what it is that you're
going to be doing and what output you
should have you really don't get into
the inner workings that's more the white
box gray box
testing with user stories like Rob
mentioned and we've talked about login
is it's you have a story you have a
beginning and an end but you have all
these other Pathways or conditions that
could potentially happen a story should
be a One andone requirement there should
be
one story One path that you can go if
you have branching pass you have other
stories for instance user wants to uh
let me back up so we have a login page
we have user validation so one user
story is a valid registered
user can log into the system with a
valid username
and a valid
password click login they're logged into
the
system another use case or user story is
I am an a unregistered user trying to
log into the system with some username
some password I should not be allowed to
log into the system and then you have
the other situation again I am a
registered user I'm logging in with my
user name but whoops I entered in the
wrong password I should get you know
invalid password or some message
returned back to me that's just three
examples of user stories for a login
page so really your page or your feature
login has multiple stories to
explain how you want the user experience
to happen the user story should explain
the entire story of the user
experience again I we have a user a
registered user an anonymous user a user
is logging into our system doing
something and I'm expecting some kind of
output so you can kind of fill in the
blanks think of a spreadsheet you could
just kind of run through a whole bunch
of different
scenarios if you think from a data
perspective just sort a spreadsheet up
what are are all the possible
combinations that could break the
application just based on those two
Fields if you start with that if if
stories are hard for you start with that
start with this simple okay I have a a
username I have a password pass or fail
if I enter in a valid username valid
password pass valid username invalid
password fail but am I returning a
message you know should I return a log
uh password
invalid entering another one invalid
username valid password but that doesn't
matter because username is invalid you
return back unknown
username again you enter in a valid
username no password oops password
required so you just kind of run through
the different scenarios and then you can
write the stories from that I am a given
you know I am a registered user using
this information to Lo l in what is the
expected out this can be applied to
anything it can be applied to mobile
apps it can be applied to backend
Services now it's funny though Rob that
you mentioned that this is only user uh
user stor requires users but there are
applications that are headless where
there is no user uh interaction you know
like backend Services you know um cron
jobs things that run on schedules those
still
can have user stories you don't
necessarily have a user but the job is
your user or the service is your user so
user stories can apply to multiple
things but it's essentially the same
logic think spreadsheet think data put
in what your input is what your output
should be and what the final result
should be so if I have input and action
what is the exception what is the expect
outcome from there you should almost
always be able to write your stories now
if you say I have a I have B but I could
get this I could get this I could get
this that's not a user story that is a
Choose Your Own Adventure story that
needs to be refined down further into
the individual stories so if and this is
another thing if you have
requirements that you question or you
have assumptions like we've mentioned
before that is a choose your own path
that's those psychopath you don't want
that you want to nail it back
to what is it that I'm trying to do what
is the expected outcome and what is
basically I have a I have B what is
C keep it
simple as you know me and Rober running
across this for years doing user stories
you can go down rabbit holes that is
okay but keep it
simple
stupid and
also even though you're keeping it
simple it's okay to go down those rabbit
holes but make sure the rabbit holes
follow the 8020 principle are you
getting 80% of the user functionality up
front so that you're getting those STS
out quickly you're covering most of the
functionality that the users are going
to get and then you have that 20% of
those outliers that you can address in
the next iteration so those could be
those Psychopaths those could be the
crazy path to try to get to again like
those SQL injections but these are
things not to be ignored because these
are still could be potential security
flaws in your system that you don't want
to overlook within your user
stories well you stole my thunder
because there was a couple things I was
going to say was like what are the
common uh this is a problem we don't
talk about this beforehand actually it's
not a problem for him he stole it I'm
just the I'm the one that was stolen
from one it was like some of the common
uh mistakes or misconceptions that we
run into one of them that he mentioned
is that user stories require a physical
user that's why I mentioned initially
there's and a lot of people change it to
like an actor or something like that or
a participant or something but even even
then people forget that there are things
like backend services that may be a user
story that doesn't have a user but the
user is the system the system is the
user in that case and that hens happens
a lot when you're talking about like uh
automated systems and things like that
where there's maybe some data
integration or there's nighttime process
like your nighttime processes all of
those are going to be user stories could
be user stories where it's there's no
actual person necessarily it's but is to
some extent it's maybe like there is a
um there's an account that gets logged
into things of that nature the other
thing is user stories fall into one of
those categories I find along the lines
of data modeling and object raring
design and normalization and things like
that where it's like there are different
ways you can do it you can have very you
can have a big all-inclusive Choose Your
Own Adventure story and you can have
something you can have thousands of
stories that are all of the possible
paths that you can go through and it
becomes like it is often it is that
challenge of are you going to build
something using bricks or are you going
to build it starting with
sand and there is really not an answer
that is always going to apply now with
user stories as I think you may have
picked up as Michael was going through
it you're better off to air on the side
of too
many because what will happen is if you
have a if you really break it down to
every possible thing you will find user
stories that are essentially The
Identical story there's going to be pths
that are basically the same stuff and
what you can do is you can always come
back and go oh these see things are
basically the same so that will just be
one user story and then we can do our
testing we can do the pieces we need to
to deal with that just like if you build
an object-oriented system and you start
from like really lowlevel stuff you're
going to be able to roll it up and say
oh this is a class this is a subass and
blah blah blah user stories are the same
way and it comes down to if you look at
a user
story and you're walking through it and
it has a path that now changes the steps
so like you're CH you know you have five
steps one two 3 4 5 and if you go one
two three and sometimes it goes to
3A something else now you have a
different user story now it may be that
you're going to just refer to it and say
if we get to this point we stop
go see story ABC or you know one two
three or whatever you call it and that's
where as I talked about before that you
will have these sometimes you will see
your relations within the stories
because you do have like families of
stories or you will have stories that
only start at a certain point it would
be things like a login the login story
is assumed if you're in a web
application a lot of times the login
story is assumed to have succeeded
because you're logged in and you got to
see the menu and you got to choose that
menu item but those kinds of things
still need to have their own stories you
don't want to just write like oh
somebody was you know somebody logged in
because as we've seen and shown many
many times login is not just that's it
it's not that simp it's not like a
onepoint thing there's a lot of logic
inside that little black box so those
are the thoughts I had I wanted to S
throw some things out on user stories as
you're depending on where you're at
those are things that are sort of like
check your yourself a little bit as
you're going into building user stories
now the final thought I have on this for
I'm going to toss it back and get your
my final thought
is the usefulness of user stories now
sometimes people are going to sit down
and say you know what all I need is
requirements I just need to like you
know I can put I'll just I'll create
screens here's the buttons here's the
data boom you know here's a here's the
alerts that come up and and I'm
done that does not help I mean it's it
it is useful but it does not replace
user Stories the thing that user stories
give you is something that you can walk
through and test and verify that is not
unit level user stories are where you
start understanding your system and
being able to do system testing as
opposed to I have this you know I'm at
this one step and here's my inputs and
here's my outputs and I can verify them
this is where with user stories is where
you get to start figuring out what does
this look like in the real world or at
least mapping what you're building to
the real world because now it's not just
I built this screen this screen is part
of this user story so I need to make
sure that it fits the story it's just
like if you get a a a movie and you put
an actor in the movie that totally sucks
at the role that is not built for that
and if you put PeeWee Herman this is
like aging me I guess you put PeeWee
Herman in as a action star then you know
it's going to throw it off it's those
are C there's certain people that you
there are certain actors that work in
certain things same thing there are
certain screens and pieces that you have
that they need to you need to have that
story to understand whether it fits or
not uh closing thoughts from
you so the only additional to everything
we've discussed so far is be careful
when you're writing the user stories or
when you're in the requirements
Gathering phase not to think that oh
that's implementation or oh I'm jumping
ahead sometimes if you're getting to
that you might have uncovered another
story or another requirement that may go
to a particular require or feature or
implementation whatever
but it may feel like an
implementation or you know framework
modeling whatever but if you're thinking
about that unpack it find out why you
went that path and if you did did
chances are You' just discovered another
story that should be written in a way
that can help you understand oh if I'm
doing this oh I may need an MVC
framework or oh I may need a relational
database your stories can sometimes lead
to framework or lead to implementation
but usually if you're starting to think
implementation you may have gone too far
but unpa that walk back a little bit and
say wait if I'm thinking this is that
because the story triggered that or did
that trigger because I thought maybe
there's something else to this story
that sent me down that rabbit hole so
sometimes rabbit holes uncover other
stories so don't always ignore them but
do check yourself and make sure you
don't get too far into building the
application before you have the
requirements and one thing is that we've
mentioned before is that it's it's very
useful you can tell somebody to have
somebody tell you about something or you
can say show me that is one of the
biggest values as as he alluded to there
one of the biggest values of the user
story is that then you can basically
read that story back and now you have
somebody thinking through that actions
and then you can have these all those
little things that you know maybe you're
like oh okay this is a story and they'll
be like well wait a minute there's this
other point and next thing you know you
may have another story or you may have
some sort of missed requirement things
like that for example a requirement to
all of you is to sooner or later shoot
usn't an email at info develop and.com
because that's just who we are we are
demanding like that we have poured all
of this time we haven't asked for a dime
from you I want to hear it from you like
I would love to get emails from all you
guys so that we can and particularly not
just hey this is my email what up dude
or something like that but give us some
of that say what are your thoughts where
where would you like us to go what are
topics you would like us to cover what
are some of the things that are
challenging you in your developer
Journey or this is one of those things
we're coming up to is like things we
could have in a future season I almost
let slip but I forgot we haven't let
that slip here what the next season is
going to be but if you keep if you check
us in all the different places there are
Easter eggs that are actually not even
Easter eggs it's just blatantly us
saying hey here's what's going on that
being said I'm gonna wrap this one up
because obviously we've gone a little
too far getting a little slap happy as
always go out there and have yourself a
great day a great week and we will talk
to you next time
and that little bonus thing that little
Easter egg is yeah we're going to talk
about the things that we can do to be a
better developer and that's one of the
things I would love to get from you guys
that's like the bonus material this time
is contribute to this there are a lot of
little things that we can do there's a
lot of things that we do to help us be
better developers I almost all of us
every developer I know Works beyond
their you know their day job whether
they're their specific uh side hustle
things they do or Hobby Habit hobbies
and habits that they have
to you read technical books or listen to
podcasts or do all there's so many
things out there that we could spend
another 800 episodes just going through
those things very similar to like the
getting things done podcast where he has
just sometime he's got the big ones but
he's got just like the little hits after
hit after hit after hit we could do the
same thing so we would love to hear from
you guys because I'm sure there's a ton
of stuff out there that we haven't
thought of I will let you sort of wrap
that up and then we'll we'll wrap this
one up because obviously I'm getting a
little slap happy I'm ready to go grab
some food chill for the end of the day
thoughts so the only bonus I'll throw
out this time is if you are new to user
stories if you are not familiar with
writing
requirements literally start with things
like Vio draw I diagram. any type of
flowcharting application and literally
start with an actor or start with I have
someone that wants to do this what is
they want and then walk through the
diagram to get to the end how do you get
from A to B sometimes just doing that
triggers a whole slew of ideas and
requirements that you never
thought all right so I'm going to
retract your air quotes for your bonus
because that was actually an actual
bonus kind of thing that was that was
not a bonus that was a bonus
so uh because that is that's very key
it's like just if you struggle with it
find any kind of tool that is a way for
you to capture thoughts as you go
through this because those kinds of
things often will lead to those gaps
they will point you to the gaps as soon
as you put it in a way a format whatever
it is that works for you that you can
visualize it that is where it helps and
then if you can take that and make that
something you can give to your customers
your clients whoever's the decision
makers so they can visualize it that's
going to help them as
well you as I already alluded to can
give us something we can visualize by
you know leaving us a comment leave us
some feedback send us a form uh use a
contact form out on develop andure uh
check out school. develop or.com we've
got some classes out there we're trying
to figure out what we're going to do in
the in the near future with some of that
so there may be some new stuff or it may
just go disappear if we decide to go a
different path so you should grabb it
while it's out there that being said I'm
gonna grab the rest of the day while
it's out there you go do the same have a
great one and we will talk to you next
time
[Music]
Transcript Segments
1.35

[Music]

28.64

and we're back sort of uh so next

32

episode let's talk about what our topic

34.16

is going to be I had a really good one

35.92

as we were going through the prior

41.68

one I want to where was I going with

45.239

this it had to do with requirements and

47.6

Gathering those I believe oh I don't

51.199

think we've talked about user stories I

53.6

want to get into a little bit like what

56.399

makes a good user story I think we've

58.28

referred to them dozens if not hundreds

61.079

if not thousands of times but I don't

62.96

know that we've ever actually talked

64.64

about user story specifically so I was

67.4

thinking this is one we can sort of you

69.799

not really go too much into like the

72.439

because there's a template out in the

73.64

book and we can I'll reference that

75.28

because we're Shameless like that but um

78.88

I think sort of walking through some the

80.079

things like how do you what is a story

82.36

what is a user story because people talk

84

about it all the time and it is one of

86

those things that it's like that's the

87.24

fun thing about working with newer

88.799

developers is sometimes you'll they'll

90.4

ask questions like what the heck is a

92.88

user story you've mentioned it a lot of

94.36

times like everybody knows what it is

95.68

and I don't and I'm like you know what

97.72

that's not a bad idea because I have

99

also seen a bunch of different ones so I

100.759

think I have a feeling whatever I lay

102.479

out you'll have some modifications to it

104.439

because you've seen you know had

105.96

different experience you've seen

106.96

different user stories as well how about

109.479

that for a topic yeah I like that one

111.6

and then for the one after this I think

114.719

I have a great idea so if we do user

117.439

stories now let's maybe do prototyping

121.079

maybe mockups like because I don't think

123.6

we've talked about that either and from

125.84

the previous one that made me think

127.119

about that one as well so I like yours

130

as a good followup but maybe the

132.16

followup to this one would be that one

134.519

so put that in the yeah put that in the

136.2

slack notes there and we'll uh in the

138.56

podcast ideas and we will knock that one

141.68

out next time around uh because that's a

144

good one I like that too it's sort of

145.28

like what is that that and clickable

147.68

demo is uh very near and dear to my

149.4

heart

151.879

while you're doing that I'll kick us off

154.56

well hello and welcome back we are

157.2

building better developers we are the

158.599

developer or podcast we are talking this

162.36

time our topic like I'm going to write

164.68

I'm going to spoiler alert topic this

167.08

time around is we're going to talk about

168.72

user stories we're not about telling

170.519

stories about the around the campfire

172.28

we're talking about user stories in a

173.72

technical sense which I think a lot of

176

people have an idea that like oh yeah

178.04

user stories but if you try to nail them

179.68

down down then it's going to take them a

181.519

minute to figure out like what actually

183

is a user

184.319

story but before we do that my user

187.519

story I'm Rob Broadhead I am one of the

189.4

founders of develop andur building

190.879

better developers I'm also a founder of

193.04

RB Consulting where we help you leverage

196.48

your technology and all of your

198

investments in that wherever we can

200.159

usually through simplification

202.2

Automation and integration and finding

204.56

the various ways for you to take that

206.28

big nasty bowl of spaghetti and turn it

208.92

into something very nice and easy to use

212.08

good thing bad thing I say good thing

214.519

that has happened in the last week um

218.12

these are always it's sort of fun when

220.68

you get to a point where you've got your

221.68

own company and you're you know or side

223.56

gig or or Consulting and stuff like that

226.159

and when you just get sort of a call out

227.68

of the blue where what especially when

229.799

it starts with like this one was awesome

231.64

it started with do you know X and that's

234.68

not Twitter I'm just going to say just

236

not to go into it but it's like do you

237.2

know this thing and I'm like yes that

239.159

was literally my I was like because I

240.799

couldn't add any more to it get an email

243.28

do you know this particularly with this

245.28

platform

247.079

yes okay 10 minutes later I get this

249.56

thing hey can you jump on a call in a

251.36

little bit turned out to be an hourong

252.959

call turned out to be something that

254.48

suddenly I'm like the the expert in the

256.799

room and I was because basically I was

260.239

like okay I've done this before

262.32

apparently nobody else had but it turned

265.199

into like a little mini gig it'll

266.6

probably be you know it's a couple hours

267.84

here or there but it's still those are

270.16

always good things bad thing bad thing

273.28

bad thing bad thing bad thing uh oh bad

277.24

thing this actually goes a little bit

278.32

into our psychopath thing that we talked

279.96

about last time

281.36

around I had this really cool I had this

285

system that we built initially it was

286.52

very simple it was not that comp you

287.96

know it's not very complicated it's like

289.6

it's run it all in one server it's great

292.479

we found out as we got into it that you

294.16

really want to distribute it it was

296.08

built it really needs to be a

297.4

distributed system of some sorts I'm

299.08

like cool I'm going to do this so I

301.8

might go crank it restructure

304.08

everything and basically try to put all

306.32

of the distributed Parts on one machine

308.4

because it's just like hey it's really

310.32

it shouldn't be that much more we're

311.479

just breaking apart and then later we

313.56

can offload this stuff so we can scale

315.84

from one server to a billion servers if

318.36

we need to and so I I go in and I crank

322.36

these things up and it's you know there

324.44

is a little bit of extra overhead

325.88

because I was using like celery for the

327.44

task manager and stuff like that and so

329.24

it's like

330.16

all right we're you we get the beat

331.72

going and it's starting to crank through

332.96

this stuff I had to go to it was an

336.36

Amazon server I had to go to AWS and

338.44

shut the server down to be able to do

340.24

something with it and it took a while to

341.84

shut it down it locked itself up so bad

345.16

and it was one of those that it worked

346.68

great when I was on my like you know

349.84

eight processor work machine that's got

352.84

like 64 gig of RAM or something but when

354.8

you go down that little

356.12

ec2 tiny instance or whatever it wasn't

358.6

that tiny but it was not that but it was

360.199

like two processor a gig of RAM I could

363.8

hear it screaming from here I mean it

365.759

was just one of those it's like not a

368.4

good thing so sometimes you want like

371.599

luckily it wasn't like production or

373.08

anything like that but it is one of

374.319

those where you're like sometimes you

375.96

want to like inch yourself into it

378.039

instead of just like okay I'm gonna fire

379.479

it all off and then next thing you know

381.08

you have brought that thing to the

382.28

ground to such level that you cannot get

384.28

back on your server so that's probably

386.28

not a good thing and I took too long but

387.96

I'm going to go ahead anyways and you on

389.88

to Michael let him introduce yourself

391.56

himself and see where he can can he can

393.88

he top

395.919

that want I catch my bre that was funny

399.68

sorry hey everyone my name is Michael M

402.039

I'm one of the co-founders of developer

404.479

also the founder of Envision QA if

406.639

you're looking to transform your

407.8

business with customer software

409.12

Solutions hey we're here to help we

411.56

offer tailored software and quality

413.56

solutions to optimize the and

415.68

performance reliability of your

417.12

e-commerce platform pitcher flawless

419.599

user experience increased sales and a

421.8

comprehensive Edge in the market good

424.4

and bad uh good making great progress

427.919

with a lot of the customers I'm working

430.28

with right now things are moving

431.599

smoothly even though we've had a few

433.8

hiccups for that listen last episode uh

437.84

bad

439.52

um it's

442.199

fall allergy season is upon us and it's

446.919

going to be hay fever heck till we get

449.639

cold so that's my

453.44

bad yeah just as a quick side note to

457

that we were to place we won't name it

458.4

we'll just it it rhymes with uh I don't

460.879

know brick kill K and um we were sitting

465

there and it was me and my son we both

466.159

have allergy

467.319

issues and daughter and wife were there

470.12

and we're we're eating and we had a

472.479

sneeze Fest it was like I sneeze he

474.56

sneeze I sneeze he sneeze I sne there's

476.56

like eight or nine in a row each of us

478.44

it was just it was almost like

479.52

volleyball was sneezes it was just I had

481.8

a whole pile of like of of napkins and

484.68

by the time we're done we're like let's

485.96

just blow our noses and go get a whole

487.56

other pile of

489.039

napkins all right back to user stories

492.72

now user stories I think a lot of people

495.56

sort of get sometimes they over

497.28

complicate them sometimes they're like

499.08

trying to figure out too much how to do

500.759

it uh we'll call it like the correct way

503.759

and I'm using air quotes if you're on

505.319

listening to the podcast but the like

506.879

the correct way where it's like this is

508.159

the way that I was taught by you know a

511.199

Six Sigma Black Belt or whatever the

513.159

heck it is or something like that I

515.279

think about user stories they are really

518.24

just a more detailed a better way I

522.039

think and I think a lot of people

523.36

probably would agree to convey how

526.12

something works than a

528.76

flowchart because at the end of the day

531.2

it is more or less like a flowchart when

533.36

you think of like particularly when you

534.959

think of like you've got swim lanes and

536.76

and the decision boxes and stuff like

539.24

that

540.68

thing about a user story is it instead

542.72

of it being those little points of the

545.32

boxes that are your the items in your

547.2

chart the objects in your chart and then

549.12

little flows it is now it is a story it

551.64

is something that flows as a discussion

554.12

of it now some key the thing about user

556.92

stories in general is there are some

559.16

data items that you need to make from

561

properties you need to have for your

562.68

story for it to be useful and for it to

565.519

make sense now there's going to be other

567.72

stuff that you will see because there

569.04

may be things like you people have like

571.32

IDs or specific names or codes or short

575.64

names or things like that that are

576.92

basically a way to uh to either

579.04

categorize them or sometimes to link

581.16

them but effective user stories can link

584.399

to each other anyways you shouldn't

585.959

really have to do that those are really

587.519

more like convenience functions in

589.6

building out your user

591.16

stories now that the thing you want to

593.8

have is a title to your story of some

596.12

sort a name or something like that and

598.079

it's just a way this is really just a

599.72

way to organize your stories and to

601.48

share with other people without going

603.72

through the whole story so the user

606.04

login story you say that and now people

609.36

like okay that's a user I know what

611.079

you're talking about even if they

612.44

haven't read it they at least know that

614.32

they can if they need to know the

615.56

details now in any user story you have

618.16

an actor or actors and you can call them

621.72

this is like gives it away a little bit

623.079

you need a user or users to have a user

626.839

story and this is actually key

630.72

because sometimes we we struggle with

634.399

what the actor is and talking about the

636

actor so a lot of times before you get

637.88

into building user stories for your your

640.44

system you also need to spend some time

643.079

thinking about who are the actors who

645.12

are the users and a lot of times those

647.48

questions are what are the roles or

649.8

profiles or permissions things like that

653.32

and sometimes it's very easy because

654.56

it's like you have a a super user a

657.36

regular user and a readon user or

659

something like that but often it gets

661.56

much more complicated very quickly and

664

you want to make sure when you're going

665.76

through doing the user stories that it

667.44

is a specific user that you're talking

670.36

about now it may be that you can take

672.92

that same story and say well this story

675.36

works for all of the users because maybe

677.32

it's something like login it's any user

680.88

but is it really because you may have a

683.32

user that is logged in that is

685.04

registered and a different user that is

687.279

unregistered and now it's a different

688.68

story because you have to figure out how

690.6

did they how do they get registered to

692.6

get to the

693.48

login different from a path now with the

696.88

story you're usually going to have some

699.6

a story is g to have progression so it

702.44

is going to have steps however you refer

704.959

to them whether it is uh key items or

707.959

whether it is steps and usually it does

710.36

have some sort of flow it does have sort

712.24

of a you're going from point A to point

714.839

B as part of the story so you at least

717

have a a starting point and an end point

720.959

now those steps can be between them but

722.48

a lot of times those are key is the

724.2

starting point and the end point are

726.32

also going to give you assumptions which

728.6

you're actually going to have all

729.519

through it so in your starting point

731.399

this is a starting point and there are

732.68

going to be assumptions or maybe

734.56

requirements based on how do I get to

737.56

this point how do I get to the starting

738.959

point so it is uh you know simp

741.68

questions that often be like am I log in

744.199

uh have I already done certain other

746.639

things for example

749.44

let's take an ATM kind of thing would

750.88

you're just going to an you're doing a

752.279

user story to get money out of an ATM

754.88

machine well part of that story you know

758.36

just sort of cutting around moving

759.959

around it part of that story is entering

762.199

your uh your pen number your pen for

764.32

your card most likely or retina scan or

768.279

however it is that you authenticate

769.48

yourself to your card well somewhere in

772.68

there there's an assumption that you've

774.12

put the card into the reader or

775.92

something along those lines so depending

778

on where your story begins that's where

780.68

you that's how you set the stage for the

782.92

story is what are my requirements and

784.92

maybe what are my inputs or what are my

787.48

assumptions on the back end of that it

790.32

is okay what is the output what state

793.199

has changed uh what things now need to

796.959

persist potentially and what things get

799.48

to go away now those can be part of the

801.839

steps within the story but that's really

804.32

where you get

805.48

into details around each of those steps

808.36

and a lot of times there there's many

810.24

things I've seen them called extensions

812.199

sometimes they're called exceptions

813.88

sometimes it's just addenda or

815.639

additional information because it's

817.24

things like the story is a b c d this is

821.32

where we go and then we go to B we go to

822.92

C we go to D the exceptions extensions

826.16

or whatever you are those additional

827.519

notes are at each step here are some

831.279

some some assumptions or here are some

832.88

validations or here are some

834.48

verifications or here are notifications

837.72

so all of those

839.68

things that could happen and there's all

842.88

sorts of little families of them really

845.36

can be applied to each single step now

847.519

they may may not matter for each it may

849.88

be a very simple step and there's not a

851.36

lot that matters but then there going to

852.48

be some where it all matters so when

854.639

you're plotting out your story this is

856.399

much like again going back to the whole

858.04

psychopath thing is you have your your

861.32

user story is your happy path but within

864.959

that user's story you do need to Branch

867.959

out to the other path if you're old

871.12

enough or have stumbled across a thing

872.959

called Choose Your Own Adventure books

874.48

that used to exist years and years ago

876.839

it is very much like that because what

880.12

they would do is you would start on page

882.36

one and then you it was just decision

884.68

trees and so whatever your decision is

886.8

would take you a different page now it

888.639

could be a 100 pages in that book any

891

given path was not going to hit all 100

893.04

pages I mean I don't think there was any

894.8

possible way to do it but you would have

896.24

all these different paths and that's

898.44

still your your user story but within

900.88

that you need to have all of the

902.36

Alternatives that here all of your other

904.68

Adventures that you choose along the way

907.04

to the user story I pause there because

910.24

I I kept a little high level I did get

912.279

into some details but I want to I want

913.88

to throw this out to you and see where

915.04

you can start fleshing some of that out

916.48

and add your own flavor to the story as

920.199

well yeah so as you're thinking about

923.56

user stories from a tester's perspective

926.88

we think about user stories more is a

929.36

blackbox testing you have information in

932.279

information out so your story is going

933.959

to talk about what it is that you're

935.8

going to be doing and what output you

937.68

should have you really don't get into

939.8

the inner workings that's more the white

942.12

box gray box

943.839

testing with user stories like Rob

946.88

mentioned and we've talked about login

949.199

is it's you have a story you have a

951.68

beginning and an end but you have all

953.279

these other Pathways or conditions that

955.959

could potentially happen a story should

958.68

be a One andone requirement there should

962.12

be

963.16

one story One path that you can go if

967.319

you have branching pass you have other

969.16

stories for instance user wants to uh

973.839

let me back up so we have a login page

976.759

we have user validation so one user

979.72

story is a valid registered

984.399

user can log into the system with a

987.639

valid username

989.6

and a valid

991.959

password click login they're logged into

995.04

the

996

system another use case or user story is

1001

I am an a unregistered user trying to

1004.88

log into the system with some username

1007.72

some password I should not be allowed to

1011.199

log into the system and then you have

1013.959

the other situation again I am a

1016.079

registered user I'm logging in with my

1018.519

user name but whoops I entered in the

1021.48

wrong password I should get you know

1024.48

invalid password or some message

1027.12

returned back to me that's just three

1029.799

examples of user stories for a login

1032.199

page so really your page or your feature

1036.88

login has multiple stories to

1042.319

explain how you want the user experience

1045.16

to happen the user story should explain

1048.96

the entire story of the user

1052.039

experience again I we have a user a

1055.88

registered user an anonymous user a user

1060.24

is logging into our system doing

1063.52

something and I'm expecting some kind of

1066.08

output so you can kind of fill in the

1067.96

blanks think of a spreadsheet you could

1070.12

just kind of run through a whole bunch

1071.52

of different

1073.4

scenarios if you think from a data

1076.679

perspective just sort a spreadsheet up

1078.559

what are are all the possible

1079.679

combinations that could break the

1080.96

application just based on those two

1084.159

Fields if you start with that if if

1086.799

stories are hard for you start with that

1090.159

start with this simple okay I have a a

1092.52

username I have a password pass or fail

1096.64

if I enter in a valid username valid

1098.44

password pass valid username invalid

1101.08

password fail but am I returning a

1104.52

message you know should I return a log

1107.84

uh password

1109.4

invalid entering another one invalid

1112.28

username valid password but that doesn't

1115.4

matter because username is invalid you

1117.44

return back unknown

1119.88

username again you enter in a valid

1124.559

username no password oops password

1127.44

required so you just kind of run through

1129.28

the different scenarios and then you can

1131.52

write the stories from that I am a given

1134.52

you know I am a registered user using

1137.159

this information to Lo l in what is the

1139.96

expected out this can be applied to

1142.919

anything it can be applied to mobile

1144.799

apps it can be applied to backend

1146.52

Services now it's funny though Rob that

1148.96

you mentioned that this is only user uh

1152.72

user stor requires users but there are

1155.84

applications that are headless where

1158.12

there is no user uh interaction you know

1161.48

like backend Services you know um cron

1164.799

jobs things that run on schedules those

1168.039

still

1169.24

can have user stories you don't

1171.08

necessarily have a user but the job is

1174.44

your user or the service is your user so

1178.48

user stories can apply to multiple

1180.799

things but it's essentially the same

1183.84

logic think spreadsheet think data put

1186.96

in what your input is what your output

1190.159

should be and what the final result

1192.919

should be so if I have input and action

1196.679

what is the exception what is the expect

1198.919

outcome from there you should almost

1201.28

always be able to write your stories now

1204.039

if you say I have a I have B but I could

1208.64

get this I could get this I could get

1210.679

this that's not a user story that is a

1213.679

Choose Your Own Adventure story that

1215.919

needs to be refined down further into

1219.08

the individual stories so if and this is

1222.679

another thing if you have

1225.2

requirements that you question or you

1227.96

have assumptions like we've mentioned

1229.52

before that is a choose your own path

1232.44

that's those psychopath you don't want

1234.28

that you want to nail it back

1237.52

to what is it that I'm trying to do what

1240.4

is the expected outcome and what is

1243.36

basically I have a I have B what is

1246.84

C keep it

1249

simple as you know me and Rober running

1252.28

across this for years doing user stories

1256.44

you can go down rabbit holes that is

1259.24

okay but keep it

1262.4

simple

1264.52

stupid and

1267

also even though you're keeping it

1269

simple it's okay to go down those rabbit

1271.36

holes but make sure the rabbit holes

1274.64

follow the 8020 principle are you

1277.64

getting 80% of the user functionality up

1280.559

front so that you're getting those STS

1282.32

out quickly you're covering most of the

1285.799

functionality that the users are going

1287.799

to get and then you have that 20% of

1290.559

those outliers that you can address in

1293.559

the next iteration so those could be

1295.679

those Psychopaths those could be the

1298.159

crazy path to try to get to again like

1300.84

those SQL injections but these are

1302.679

things not to be ignored because these

1305.72

are still could be potential security

1308.6

flaws in your system that you don't want

1311.48

to overlook within your user

1314.919

stories well you stole my thunder

1316.84

because there was a couple things I was

1318

going to say was like what are the

1320.2

common uh this is a problem we don't

1322.4

talk about this beforehand actually it's

1323.919

not a problem for him he stole it I'm

1325.559

just the I'm the one that was stolen

1327.32

from one it was like some of the common

1330.96

uh mistakes or misconceptions that we

1333.559

run into one of them that he mentioned

1336.039

is that user stories require a physical

1339.159

user that's why I mentioned initially

1341.84

there's and a lot of people change it to

1343.4

like an actor or something like that or

1346.159

a participant or something but even even

1348.72

then people forget that there are things

1350.48

like backend services that may be a user

1354.24

story that doesn't have a user but the

1356.52

user is the system the system is the

1358.84

user in that case and that hens happens

1361.679

a lot when you're talking about like uh

1364.159

automated systems and things like that

1365.919

where there's maybe some data

1367

integration or there's nighttime process

1368.96

like your nighttime processes all of

1371.159

those are going to be user stories could

1373.039

be user stories where it's there's no

1375.88

actual person necessarily it's but is to

1379

some extent it's maybe like there is a

1381.32

um there's an account that gets logged

1383.72

into things of that nature the other

1386.159

thing is user stories fall into one of

1388.679

those categories I find along the lines

1390.96

of data modeling and object raring

1394.36

design and normalization and things like

1397.72

that where it's like there are different

1401.12

ways you can do it you can have very you

1403.08

can have a big all-inclusive Choose Your

1405.279

Own Adventure story and you can have

1407.6

something you can have thousands of

1409.559

stories that are all of the possible

1411.679

paths that you can go through and it

1413.96

becomes like it is often it is that

1417.36

challenge of are you going to build

1418.88

something using bricks or are you going

1420.52

to build it starting with

1422.64

sand and there is really not an answer

1426.52

that is always going to apply now with

1428.64

user stories as I think you may have

1430.76

picked up as Michael was going through

1431.96

it you're better off to air on the side

1434.679

of too

1435.76

many because what will happen is if you

1438.48

have a if you really break it down to

1440.44

every possible thing you will find user

1442.96

stories that are essentially The

1444.799

Identical story there's going to be pths

1446.52

that are basically the same stuff and

1448.96

what you can do is you can always come

1450.12

back and go oh these see things are

1452.08

basically the same so that will just be

1454.159

one user story and then we can do our

1455.6

testing we can do the pieces we need to

1457.72

to deal with that just like if you build

1459.679

an object-oriented system and you start

1461.24

from like really lowlevel stuff you're

1463.84

going to be able to roll it up and say

1465.08

oh this is a class this is a subass and

1467.039

blah blah blah user stories are the same

1470.12

way and it comes down to if you look at

1473.48

a user

1474.84

story and you're walking through it and

1477.52

it has a path that now changes the steps

1482.279

so like you're CH you know you have five

1483.88

steps one two 3 4 5 and if you go one

1486.559

two three and sometimes it goes to

1490.399

3A something else now you have a

1493.96

different user story now it may be that

1495.6

you're going to just refer to it and say

1497.08

if we get to this point we stop

1498.88

go see story ABC or you know one two

1502.24

three or whatever you call it and that's

1504.279

where as I talked about before that you

1505.72

will have these sometimes you will see

1507.2

your relations within the stories

1509.48

because you do have like families of

1511.679

stories or you will have stories that

1514.48

only start at a certain point it would

1516.64

be things like a login the login story

1519.32

is assumed if you're in a web

1522.12

application a lot of times the login

1524

story is assumed to have succeeded

1526.559

because you're logged in and you got to

1527.919

see the menu and you got to choose that

1529.32

menu item but those kinds of things

1533.919

still need to have their own stories you

1535.44

don't want to just write like oh

1536.6

somebody was you know somebody logged in

1538.52

because as we've seen and shown many

1540.36

many times login is not just that's it

1544

it's not that simp it's not like a

1545.36

onepoint thing there's a lot of logic

1547.919

inside that little black box so those

1550.84

are the thoughts I had I wanted to S

1552.6

throw some things out on user stories as

1554.44

you're depending on where you're at

1556.32

those are things that are sort of like

1557.84

check your yourself a little bit as

1559.12

you're going into building user stories

1561.919

now the final thought I have on this for

1564.159

I'm going to toss it back and get your

1565.36

my final thought

1566.84

is the usefulness of user stories now

1570.48

sometimes people are going to sit down

1571.559

and say you know what all I need is

1572.72

requirements I just need to like you

1574.919

know I can put I'll just I'll create

1576.88

screens here's the buttons here's the

1579.399

data boom you know here's a here's the

1581.96

alerts that come up and and I'm

1584.399

done that does not help I mean it's it

1587.72

it is useful but it does not replace

1590.559

user Stories the thing that user stories

1592.76

give you is something that you can walk

1596.6

through and test and verify that is not

1599.799

unit level user stories are where you

1602.279

start understanding your system and

1604.32

being able to do system testing as

1606.52

opposed to I have this you know I'm at

1608.799

this one step and here's my inputs and

1610.48

here's my outputs and I can verify them

1612.559

this is where with user stories is where

1614.76

you get to start figuring out what does

1616.76

this look like in the real world or at

1618.96

least mapping what you're building to

1621

the real world because now it's not just

1622.84

I built this screen this screen is part

1625.799

of this user story so I need to make

1627.32

sure that it fits the story it's just

1629.76

like if you get a a a movie and you put

1632.48

an actor in the movie that totally sucks

1634.559

at the role that is not built for that

1636.76

and if you put PeeWee Herman this is

1639.159

like aging me I guess you put PeeWee

1641.159

Herman in as a action star then you know

1644.44

it's going to throw it off it's those

1646.039

are C there's certain people that you

1648.24

there are certain actors that work in

1649.36

certain things same thing there are

1651.44

certain screens and pieces that you have

1654.2

that they need to you need to have that

1655.799

story to understand whether it fits or

1658.559

not uh closing thoughts from

1661.24

you so the only additional to everything

1664.919

we've discussed so far is be careful

1669.32

when you're writing the user stories or

1672.159

when you're in the requirements

1673.72

Gathering phase not to think that oh

1676.919

that's implementation or oh I'm jumping

1680.159

ahead sometimes if you're getting to

1682.679

that you might have uncovered another

1685.12

story or another requirement that may go

1689.679

to a particular require or feature or

1692.32

implementation whatever

1694.76

but it may feel like an

1697.559

implementation or you know framework

1700.6

modeling whatever but if you're thinking

1703.76

about that unpack it find out why you

1706.559

went that path and if you did did

1708.36

chances are You' just discovered another

1711.2

story that should be written in a way

1714.32

that can help you understand oh if I'm

1716.96

doing this oh I may need an MVC

1718.919

framework or oh I may need a relational

1721.36

database your stories can sometimes lead

1723.76

to framework or lead to implementation

1726.88

but usually if you're starting to think

1729.159

implementation you may have gone too far

1731.6

but unpa that walk back a little bit and

1733.799

say wait if I'm thinking this is that

1736.799

because the story triggered that or did

1740.36

that trigger because I thought maybe

1743.24

there's something else to this story

1745.48

that sent me down that rabbit hole so

1747.679

sometimes rabbit holes uncover other

1749.519

stories so don't always ignore them but

1752.08

do check yourself and make sure you

1753.48

don't get too far into building the

1755.48

application before you have the

1758.6

requirements and one thing is that we've

1761.08

mentioned before is that it's it's very

1763.12

useful you can tell somebody to have

1765.6

somebody tell you about something or you

1767.12

can say show me that is one of the

1769.08

biggest values as as he alluded to there

1771.44

one of the biggest values of the user

1772.84

story is that then you can basically

1774.84

read that story back and now you have

1777.2

somebody thinking through that actions

1780.32

and then you can have these all those

1782.039

little things that you know maybe you're

1783.64

like oh okay this is a story and they'll

1785.039

be like well wait a minute there's this

1787.08

other point and next thing you know you

1788.6

may have another story or you may have

1790.12

some sort of missed requirement things

1792.08

like that for example a requirement to

1795.88

all of you is to sooner or later shoot

1797.799

usn't an email at info develop and.com

1800

because that's just who we are we are

1802.279

demanding like that we have poured all

1804.32

of this time we haven't asked for a dime

1806.24

from you I want to hear it from you like

1808.399

I would love to get emails from all you

1809.919

guys so that we can and particularly not

1812

just hey this is my email what up dude

1814.48

or something like that but give us some

1816.159

of that say what are your thoughts where

1817.799

where would you like us to go what are

1819.2

topics you would like us to cover what

1820.919

are some of the things that are

1822

challenging you in your developer

1823.6

Journey or this is one of those things

1826.44

we're coming up to is like things we

1828.2

could have in a future season I almost

1831.64

let slip but I forgot we haven't let

1833.64

that slip here what the next season is

1835.159

going to be but if you keep if you check

1838.039

us in all the different places there are

1839.72

Easter eggs that are actually not even

1841.84

Easter eggs it's just blatantly us

1843.12

saying hey here's what's going on that

1845.64

being said I'm gonna wrap this one up

1847.96

because obviously we've gone a little

1849.08

too far getting a little slap happy as

1851.799

always go out there and have yourself a

1853.32

great day a great week and we will talk

1855.639

to you next time

1859.72

and that little bonus thing that little

1862.039

Easter egg is yeah we're going to talk

1863.88

about the things that we can do to be a

1866.559

better developer and that's one of the

1867.799

things I would love to get from you guys

1869.2

that's like the bonus material this time

1870.76

is contribute to this there are a lot of

1873.24

little things that we can do there's a

1875.039

lot of things that we do to help us be

1877.88

better developers I almost all of us

1880.08

every developer I know Works beyond

1883.399

their you know their day job whether

1885.519

they're their specific uh side hustle

1888.799

things they do or Hobby Habit hobbies

1892.039

and habits that they have

1894.559

to you read technical books or listen to

1897.84

podcasts or do all there's so many

1900.639

things out there that we could spend

1904

another 800 episodes just going through

1906.519

those things very similar to like the

1908.84

getting things done podcast where he has

1910.76

just sometime he's got the big ones but

1912.519

he's got just like the little hits after

1914.679

hit after hit after hit we could do the

1916.32

same thing so we would love to hear from

1918.2

you guys because I'm sure there's a ton

1919.96

of stuff out there that we haven't

1922.24

thought of I will let you sort of wrap

1924.84

that up and then we'll we'll wrap this

1926.919

one up because obviously I'm getting a

1928.039

little slap happy I'm ready to go grab

1929.919

some food chill for the end of the day

1933.48

thoughts so the only bonus I'll throw

1937.159

out this time is if you are new to user

1939.76

stories if you are not familiar with

1942.919

writing

1944.399

requirements literally start with things

1946.639

like Vio draw I diagram. any type of

1949.919

flowcharting application and literally

1952.2

start with an actor or start with I have

1956.679

someone that wants to do this what is

1959.36

they want and then walk through the

1962.48

diagram to get to the end how do you get

1965.12

from A to B sometimes just doing that

1969.6

triggers a whole slew of ideas and

1972

requirements that you never

1973.76

thought all right so I'm going to

1975.44

retract your air quotes for your bonus

1978

because that was actually an actual

1979.76

bonus kind of thing that was that was

1982

not a bonus that was a bonus

1985.24

so uh because that is that's very key

1987.48

it's like just if you struggle with it

1989.96

find any kind of tool that is a way for

1992.279

you to capture thoughts as you go

1994.799

through this because those kinds of

1996.44

things often will lead to those gaps

1998.519

they will point you to the gaps as soon

1999.799

as you put it in a way a format whatever

2001.72

it is that works for you that you can

2003.72

visualize it that is where it helps and

2005.96

then if you can take that and make that

2007.48

something you can give to your customers

2009.12

your clients whoever's the decision

2011.72

makers so they can visualize it that's

2014.76

going to help them as

2016.519

well you as I already alluded to can

2020.2

give us something we can visualize by

2022.559

you know leaving us a comment leave us

2023.919

some feedback send us a form uh use a

2026.559

contact form out on develop andure uh

2028.72

check out school. develop or.com we've

2030.6

got some classes out there we're trying

2031.96

to figure out what we're going to do in

2033.2

the in the near future with some of that

2034.96

so there may be some new stuff or it may

2036.6

just go disappear if we decide to go a

2038.679

different path so you should grabb it

2040.279

while it's out there that being said I'm

2043.399

gonna grab the rest of the day while

2044.6

it's out there you go do the same have a

2046.559

great one and we will talk to you next

2049.44

time

2051.51

[Music]