📺 Develpreneur YouTube Episode

Video + transcript

User Stories Unveiled: A Developer’s Guide to Capturing the Full Narrative

2024-08-15 •Youtube

Detailed Notes

In this episode of the developer podcast, the hosts explore user stories, a crucial tool in gathering effective software requirements. Using a creative analogy comparing user stories to movie ratings, the episode explains how to create detailed and valuable user stories that go beyond the basics.

Read More... https://develpreneur.com/user-stories-unveiled-a-developers-guide-to-capturing-the-full-narrative

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

* How to write effective user stories in agile development? (https://develpreneur.com/how-to-write-effective-user-stories-in-agile-development/)

* The Importance of Properly Defining Requirements (https://develpreneur.com/the-importance-of-properly-defining-requirements/)

* Changing Requirements – Welcome Them For Competitive Advantage (https://develpreneur.com/changing-requirements-welcome-them-for-competitive-advantage/)

* Creating Your Product Requirements (https://develpreneur.com/product-requirements/)

* Creating Use Cases and Gathering Requirements (https://develpreneur.com/creating-use-cases-and-gathering-requirements/)

Transcript Text
[Music]
so this gets me to
am I muted oh that's to mute me um I
think I want to do user stories next
because you had like while you're were
talking I had this great
little thought around user storage I
think that's one we that
um one
second I like the going into user
stories after that that's good um I also
think we should Circle
back down the road later about agile
again but also this time um like do like
discuss the points like how points
should work because everywhere I work
all the scrum Masters are like it should
be this way but all the managers are
like no it's this way it's and there's
that balance between that's yeah that's
a good conversation but it also falls
into oh by the way hi hi everybody um
that
also that also goes into the
whole yeah that's like there's a I've
seen seen several times where it's a
scrum Master manager sort of like battle
of wills there but it really comes down
to it's like whatever you decide that's
like the worst I know it's the worst
possible answer but it's like what you
pick is the right one to do and don't
change it from scrum to scrum just pick
it go with it that's your metric and
then go there um yeah I've seen that and
I've like seen all kinds of different
ways to do points and it's just I have
my own way I like to do it that's but
it's all built on sort of my estimates
even with people I've worked with
developers that are in the same roughly
the same point system it's fun talking
to them because they will Point things
differently they will assign values a
little differently from how I do it even
within the um the overall approach that
we use so that's a pretty cool one that
I think agile scrum Sprints stuff like
that itself may be a good little one to
get into at some point is you just give
like a do an agile special or maybe a
twofer on that yeah and then with that
follow with like de definition of done
and when code goes out when when is code
ready what really becomes interesting in
the agile approach yeah because what is
what makes Deployable useful software at
the end of each Sprint that you're
supposed to
do so yep so we're GNA do user stories
is that good
okay well hello and welcome back we are
continuing our developer journey and we
are going to story time today we are
going to talk about user stories I'm
hoping I've got something that I just
came up with it's an analogy that sticks
with you with user stories but it also
follows up well with our prior episode
where we're talking about requirements
Gathering those and user stories are a
huge portion of that before we get into
that my user story is I am one of the
founders of developer or I'm not it's
not really user story but we're hey go
with it my name is Rob Broadhead I
happen to be one of the founders I'm
also a founder of RB Consulting where we
use Simple ification integration and
automation to take all of your code all
your systems all that stuff that has
grown into this big technology sprawl
and we bring it down into a nice little
nutshell so that you can use it maintain
it and scale it on the other side who
needs no scaling is Michael go ahead and
introduce yourself hey everyone my name
is Michael Mage and my story is I'm one
of the co-founders of developer ner and
I'm the founder of Envision QA where we
help small midsize companies and
Healthcare
uh doctors and clinicians build software
and automate their systems in a way that
makes the job easier gets a job done and
improves patient care or customer U
performance so user stories I this is an
analogy I just came up with and so
pardon me if it goes off the rails at
one point but I was thinking about this
and I think this is a good um layer of
the layers of the onion approach to
getting your user stories into getting
good requirements now user stories in
general what you the the most General
way to start if you've never done one is
who are the users of the system and then
what among those users it's what are
they doing how do they use the system
what is the story so if it's a let's say
it's a system that's a back office
system that the office manager uses on a
daily basis they're going to have
multiple stories because they may go in
there to uh to enter a customer customer
information to look up a customer to
provide support to go maybe to go enter
uh bills that have come in to enter
payments that have come in
to uh look up somebody in the HR System
because they need to call them all of
these are user stories that it is the
path that you're going on to achieve a
goal within that system now what we've
we've talked before there's this thing
called happy path which is basically I'm
going to go from point A to point B I'm
going to get on the system I have this
problem I want to solve or this task I
want to complete and these are the steps
to get it done now here's my analogy
let's think about that that's your
G-rated movie right there that is like
everything goes right that is the happy
path everything's good the data is
correct the data is clean the data is
consistent the system works the way it's
supposed to and the answer you get is
exactly the answer you get now ideally
most of the time that's what happens I
don't know if that's true just like in
the movie world there's not a lot of
G-rated movies your next step is your PG
there's a lot more of those that's more
common and this is where we've built the
happy path now we've talked about that
with our user and said okay well if
everything goes right what does it look
like now we start looking a little bit
at it we start picking at a little bit
it's like well okay what if it may be
things like what if this data is outside
of normal range or what if there is a
typo you know what if this phone number
they put an A in there instead of
numbers you things like what are these
things that go can go wrong and then how
do we handle them do we let the user
know do we just push it through the
system what do we do and it's this is
getting them thinking through you know
as you're building the user story and as
your customer you're working with them
what are the essentially sort of the
exceptions or what are the messages and
some of this is even within the happy
path because it's things like okay you
get all the way to the end does anybody
need to know it do you need to send an
email do you need to pop a little you
were successful message things like that
and so PG is where we you go into that
next step is we start picking at the
happy path a little bit and we're adding
to it and saying okay this assume
everybody is on the same page and
everything's awesome well but now we're
not so let's do we have to notify people
do we have some side effects and things
like that and then you start mov moving
into now like the R-rated stuff which is
where things are not good and this is
where people have like for example what
happens if you're entering a person a
user's name and you misspell the name we
don't know that you've misspelled the
name necessarily but what happens there
do you do validation checks if they're
entering a city and a state and a zip
code what happens if they put the
incorrect zip code what if they put a
try to put a three-digit number in there
for us it's going to be at least a
five-digit zip code
what is it if they don't put a value in
are there things that are required are
there things that aren't required are
there things that are in the
requirements that must connect to other
things for example if you have a zip
code and you have a state and that zip
code doesn't exist in that state do we
need to verify that do we need to stop
that from moving forward if you're doing
like a bank account Transaction what
happens if you try to withdraw money and
they don't have funds in the
account what happens if somebody's going
through and entering data and they just
put you know a AAA bbbb
CCC what is that what if they enter an
email address that you know is like
a.com or something like that this is
where you're getting into the stuff
where it's like what about these
situations where
somebody is just aept or is trying to
just like fly through the system and
just get stuff slammed in as opposed to
doing it the right way or maybe even
intentionally which is where we get into
like the rated X stuff they're
intentionally trying to crash or screw
with the system so this is where you
talk about like sequel injection and
things like that it's like what happens
if somebody tries to shove something in
here that's effectively code that the
system decides it's going to try to
execute so you can go from the happy
path and sunshine and rainbows to rated
X Jason versus Michael Myers thing and
all those kind of stuff me it's like you
can go into the horror movie side of it
when you're going through those
that's when you're going to get really
full featured user stories yes I did get
back to my original Point that's where
you get your really full featured user
stories because you're peeling that
onion off you're saying okay this is
good and then what what if this happens
what about this what if this isn't right
and as you start picking out what every
step is what every data item is as
you're examining each of those and what
can go wrong effectively now you are
fleshing out a true story it's not just
some little you know paragraph of this
is what it is now you've got like full
plot and character development in your
user story and that is where you're
going to have super detailed super
valuable
requirements and now I'm going to take a
breath and see what you thought about
that
one yeah I I really liked your approach
to that I would like to add a couple
things to it though so I like how you
kind of walk through the different
analogies of movies and ratings with
different stories and different levels
of chaos that potentially comes from
trying to Define these
stories however in addition to that some
of the things that come to my mind are
so you have the sto like you're writing
these stories but as
developers I've seen this more often
than not instead of listening for the
story they start injecting code or
methodologies into the stories which
don't need to be there it's like the
person needs an accounting software
system or a payroll system cool they
don't care that written in C Java they
don't care if there's a database behind
they just want a payroll system an
accounting system so stories don't
necessarily translate to Tech the story
is what we are saying it is a story
this is what I want this is the journey
from point A to point B you're going to
have a beginning a middle and an end how
do I get there tell me about it tell me
how the system is going to work tell me
how you want this feature to be
implemented and you go through that
process you're going to have to for lack
of a better term shut
up put on your hearing aids crank them
up and listen to the customer and from
developers when we're busy that can be
hard we can fall into that crutch where
yeah I I heard you say that but in
reality I didn't fully hear the story I
heard parts of the feature and only
parts of the feature get implemented so
you have to be very careful that the
story that you are being told or the
story that you are gathering that you
get the details of the story for the
full feature you may not get everything
so the the other thing to think about
too in addition to that is there's
different levels of stories not
necessarily ratings but levels you have
your feature
complete story which is what I need to
just get a working
system that complies with the basic of
this story okay I need a payroll system
I want to get paid so I need a system
that will pay me cool that is the
Baseline story now I start hiring people
oops my current system that's in then a
new feature a new story to be added on
to an existing application all right now
we have to add some additional
requirements okay now I have multiple
people who's are you know do I have to
worry about managing what type of
security constraints do I have who can
see what I don't want people seeing my
payroll information so these are stories
that have to be flushed
out and then you get in the bigger
systems where you hand this off to okay
so now I want to sell this system to
someone else well now there's other
features so you have at the
beginning what you need the basic story
to build the application the happy pack
they must have features of your
application then you have the nice to
have features or new features that get
implemented later these stories are
additions to the main story these could
be spin-offs these could be you know
book two book three book four which
would be version two three and four of
your
software or they could essentially be
integration pieces that just kind of tie
in to your
story so that are different layers and
different levels to story writing
listening to the stories and then
writing the applications or asking all
those what if questions to define the
story The Right
Way Rob that's that really adds to that
yeah wow my my analogy was awesome
because now I'm thinking about it is
like that's one of the other things is
are you building a documentary where
you're just like Michael said where it's
just about the features or is this a
summer blockbuster where you're not just
building features but you are putting a
wow factor in it that's going to like
draw people in regardless I mean there's
the feature but as well on top of the
feature because that's sometimes what
you're going to get it's not it's people
are saying hey I don't want just I don't
want something where just just going to
come and they're going to be able to
select a product from my store I want
them to want to sit on my store and play
around with selecting products because
that's how awesome the environment is
it's there is also as he said there's
like you think almost like there are
levels and there are different we even
say genres of stories and user stories
do the same way and this is where you
get into reading between the lines a
little bit and what as Michael mentioned
is like
really listening to the story as it is
not solving it while they're doing it
but letting them talk through that story
because you're going to want to get that
stuff like wait a minute you mentioned
this
feature it seems like you need more than
just that feature maybe you need to like
you know it's it's maybe it's something
as like you mentioned entering this data
this piece of data but what if it sounds
like it's hard to get that data so do we
need to also have as a feature a way to
look that up or to validate that or
something like that or a way to go jump
and view that and Shop it would be like
in a shopping
cart you can add products but if you
only know
SKS your shopping experience is going to
be very difficult what you want is a
catalog behind that you know shopping
cart and things like that and it's
things like okay and the checkout
process how does that look and there's
there's so many things around the user
stories that I think the more you
realize they are stories and not just
bullet point items
necessarily the more you're going to be
able to ask the right questions and this
is where you can really help your
customer take it to the next level
because instead of just regurgitating
what they give you you can help talk
them through and think through some of
these processes and say okay this is
what you've got this is where you want
to go how can we make adjustments to
that Journey how can we make it easier
how can we make it faster is there maybe
something that would mean we even need
to take that Journey because sometimes
you do that as you get into the stories
you're like wait a minute that story we
talked about last week is exactly the
story we're talking about this week
except for it's only a different user so
is that really just the same user story
and two people can access it there's
things like
that I don't want to run too long
because I got places to go and things to
do uh even though you may think that's
just virtually and we just live here all
the time we do have lives outside of the
yeah outside of this little box here
that we're in or your your your ear
holes if you're listening to us
basically we are not just you know
mindless or face or bodyless voices out
there fantasms that are just talking so
anyways I digress more than a little bit
as always reach out and just any
information that you have feedback
suggestions comments love it all we do
this partially for us partially for you
more so for you than us so we'd love to
do topics questions in areas that are
concerns for you as you are becoming
better developers maybe there's some
ways that we can we can sit down and
talk through some of the things that are
uh stying you or just challenges or your
own pain points or your own stories user
stories that we can help you with to
work through and get you to that point
where you are a better developer and
sometimes it just takes a couple of
different people a couple different
perspectives to get us over that hump
shoot us an email at info developer.com
check us out at developer.com send us
got a contact form we were out on
Twitter SL well X formerly Twitter at uh
develop anur you can check us out there
follow us you can see us wherever you
get podcasts we're there YouTube out on
developer Channel and there's other
stuff around that it's not just the
podcast but we also have a lot of uh
other content tutorials things of that
nature and then there's school.
developer.com where funny enough we have
tutorials and classes and things that
you can learn as well we're just trying
to we just spew all the this content out
there trying to help you guys out and
actually it helps us out as well it's
amazing how often we go to search
something and we end up going back to
our page to be like where we wrote the
steps to knock that out 10 years ago and
we haven't had to use it since don't
wait 10 years before you come back here
though go out there and have yourself a
great day great week and we will talk to
you next time bonus
material so I kept it out of the audio
but once you have find your stories
don't just go write the
code you can break down the
stories into the smaller chunks and then
because again this could be a feature
story this could be a full featured
story where you have to build everything
from scratch but typically what you can
do is you can take those stories down
you break it down into the individual
components and then these essentially
will
become at the end of the movie did I
check all these boxes this is going to
be your checklist these will become your
unit tests your integration tests your
user acceptance criteria hell it may
even be your regression or smoke testing
but your
story is where you get all the
checkpoints you need so at the beginning
of the story by the end did I touch all
the the touch points of the story if I
didn't then what did I miss I did not
tell a complete story so I need to go
back and figure out what I need to plug
back in to get the full
story yeah that is truly the those are
the stories are your requirements these
are things that you have to address they
are not as we talked about a little bit
there the they are not your design
there's not necessarily probably
shouldn't be anywhere in the stories
references to programming languages or
really even databases and things like
that now you may store data and stuff
like it's just say hey the system stores
X but whatever that is it may be in a
database it may be out in the cloud
somewhere it could be in a relational
database it could be in a nosql database
it could be on a flat file there's like
there's so many ways those things can be
done that gets into design side of it
you don't want to clutter your stories
with the implementation with the
technology you want to leave that open
as long as possible and then the design
is where you start picking apart those
stories and you start figuring out how
you're going to put those pieces
together and then of course as you flow
through there there's going to be you
should see all of the items that were
addressed in the stor should be
addressed by your design should be
addressed in implementation and then
those really lead you know make it
really easy for the testers because then
they just easily write a little test
script that walks through those items
and checks to make sure they
exist that I think will do it because I
got to run I got one of these fun
customers and I got crap to do so uh you
know hey busy people we got bills to pay
that being said as always we'd love to
get any feedback that you have leave us
comments U check us out twice a week
we're going to drop these out check out
the the developer North site we do
sometimes throw additional blog articles
and other stuff out there as well I
don't think we have have done as much
now but as usually we get little
seasonal we get times a year that things
settle down for us and we can knock out
more of that kind of information get
that stuff out there and of course we do
requests so if there's anything that you
that you would like us to talk about
maybe a tutorial You' like us to do a
technology you'd like us to to review
any of that kind of stuff more than
happy to do so again info@ developer.com
that's d v p r ne.com it's also all over
the place here on since you're watching
you can see the developer nor thing all
over the place use that leave us you
know comments however you want to get to
it that being said we're going to wrap
this one up let you guys get to it have
yourself a great night great evening
great week and we will talk to you next
time
[Music]
Transcript Segments
1.35

[Music]

27.24

so this gets me to

30.16

am I muted oh that's to mute me um I

33.28

think I want to do user stories next

35.079

because you had like while you're were

36.52

talking I had this great

38.8

little thought around user storage I

41.32

think that's one we that

44.12

um one

46.399

second I like the going into user

49.559

stories after that that's good um I also

53.12

think we should Circle

56.12

back down the road later about agile

60.6

again but also this time um like do like

65.04

discuss the points like how points

68.04

should work because everywhere I work

69.96

all the scrum Masters are like it should

71.4

be this way but all the managers are

72.72

like no it's this way it's and there's

75.28

that balance between that's yeah that's

77.08

a good conversation but it also falls

78.88

into oh by the way hi hi everybody um

82.56

that

83.52

also that also goes into the

87.36

whole yeah that's like there's a I've

89.72

seen seen several times where it's a

90.68

scrum Master manager sort of like battle

92.84

of wills there but it really comes down

94.56

to it's like whatever you decide that's

96.24

like the worst I know it's the worst

98.079

possible answer but it's like what you

100

pick is the right one to do and don't

102.479

change it from scrum to scrum just pick

105.119

it go with it that's your metric and

107.96

then go there um yeah I've seen that and

111.52

I've like seen all kinds of different

112.759

ways to do points and it's just I have

115.119

my own way I like to do it that's but

117.439

it's all built on sort of my estimates

119.28

even with people I've worked with

120.6

developers that are in the same roughly

123.759

the same point system it's fun talking

126.52

to them because they will Point things

128.36

differently they will assign values a

129.8

little differently from how I do it even

131.8

within the um the overall approach that

135.319

we use so that's a pretty cool one that

137.879

I think agile scrum Sprints stuff like

141.08

that itself may be a good little one to

142.959

get into at some point is you just give

144.599

like a do an agile special or maybe a

146.92

twofer on that yeah and then with that

149.48

follow with like de definition of done

153.12

and when code goes out when when is code

157.04

ready what really becomes interesting in

159.2

the agile approach yeah because what is

162.239

what makes Deployable useful software at

164.56

the end of each Sprint that you're

165.72

supposed to

166.92

do so yep so we're GNA do user stories

170.76

is that good

172.48

okay well hello and welcome back we are

175.28

continuing our developer journey and we

177.28

are going to story time today we are

179.599

going to talk about user stories I'm

181.599

hoping I've got something that I just

183

came up with it's an analogy that sticks

185

with you with user stories but it also

188.599

follows up well with our prior episode

191.04

where we're talking about requirements

192.959

Gathering those and user stories are a

194.92

huge portion of that before we get into

197.36

that my user story is I am one of the

199.84

founders of developer or I'm not it's

201.879

not really user story but we're hey go

203.959

with it my name is Rob Broadhead I

205.4

happen to be one of the founders I'm

206.599

also a founder of RB Consulting where we

208.56

use Simple ification integration and

210.879

automation to take all of your code all

212.799

your systems all that stuff that has

214.239

grown into this big technology sprawl

217.159

and we bring it down into a nice little

218.68

nutshell so that you can use it maintain

220.76

it and scale it on the other side who

223.92

needs no scaling is Michael go ahead and

226.56

introduce yourself hey everyone my name

229.04

is Michael Mage and my story is I'm one

232.2

of the co-founders of developer ner and

234.239

I'm the founder of Envision QA where we

236.92

help small midsize companies and

239.319

Healthcare

240.439

uh doctors and clinicians build software

243.64

and automate their systems in a way that

246.12

makes the job easier gets a job done and

249.519

improves patient care or customer U

253.239

performance so user stories I this is an

256.88

analogy I just came up with and so

258.72

pardon me if it goes off the rails at

260.72

one point but I was thinking about this

262.44

and I think this is a good um layer of

267

the layers of the onion approach to

269.4

getting your user stories into getting

271.12

good requirements now user stories in

273.72

general what you the the most General

276.199

way to start if you've never done one is

278.919

who are the users of the system and then

281.919

what among those users it's what are

284.44

they doing how do they use the system

286.8

what is the story so if it's a let's say

289.4

it's a system that's a back office

291.08

system that the office manager uses on a

294

daily basis they're going to have

295.68

multiple stories because they may go in

297.4

there to uh to enter a customer customer

299.96

information to look up a customer to

302

provide support to go maybe to go enter

305.8

uh bills that have come in to enter

307.68

payments that have come in

309.759

to uh look up somebody in the HR System

312.479

because they need to call them all of

314.6

these are user stories that it is the

317.8

path that you're going on to achieve a

319.72

goal within that system now what we've

323.56

we've talked before there's this thing

325.039

called happy path which is basically I'm

328.24

going to go from point A to point B I'm

330.039

going to get on the system I have this

332.4

problem I want to solve or this task I

334.199

want to complete and these are the steps

336.4

to get it done now here's my analogy

338.56

let's think about that that's your

340.319

G-rated movie right there that is like

343.039

everything goes right that is the happy

346.24

path everything's good the data is

349.08

correct the data is clean the data is

351.639

consistent the system works the way it's

354.6

supposed to and the answer you get is

356.72

exactly the answer you get now ideally

359.68

most of the time that's what happens I

362

don't know if that's true just like in

363.96

the movie world there's not a lot of

365.479

G-rated movies your next step is your PG

368.479

there's a lot more of those that's more

370.759

common and this is where we've built the

373.8

happy path now we've talked about that

375.68

with our user and said okay well if

377.319

everything goes right what does it look

378.639

like now we start looking a little bit

381.4

at it we start picking at a little bit

382.759

it's like well okay what if it may be

386

things like what if this data is outside

389.28

of normal range or what if there is a

392.16

typo you know what if this phone number

395.4

they put an A in there instead of

397.68

numbers you things like what are these

399.919

things that go can go wrong and then how

402.479

do we handle them do we let the user

404.24

know do we just push it through the

406.319

system what do we do and it's this is

409.639

getting them thinking through you know

411.56

as you're building the user story and as

413.12

your customer you're working with them

414.88

what are the essentially sort of the

417.36

exceptions or what are the messages and

419.319

some of this is even within the happy

421.12

path because it's things like okay you

422.639

get all the way to the end does anybody

425.4

need to know it do you need to send an

427.08

email do you need to pop a little you

428.599

were successful message things like that

432.24

and so PG is where we you go into that

434.44

next step is we start picking at the

436.24

happy path a little bit and we're adding

437.96

to it and saying okay this assume

440.12

everybody is on the same page and

441.52

everything's awesome well but now we're

443.44

not so let's do we have to notify people

446.319

do we have some side effects and things

448

like that and then you start mov moving

449.8

into now like the R-rated stuff which is

452.96

where things are not good and this is

456.039

where people have like for example what

459.44

happens if you're entering a person a

460.879

user's name and you misspell the name we

462.919

don't know that you've misspelled the

464.199

name necessarily but what happens there

466.8

do you do validation checks if they're

468.479

entering a city and a state and a zip

470.28

code what happens if they put the

472.56

incorrect zip code what if they put a

474.599

try to put a three-digit number in there

476.919

for us it's going to be at least a

478.479

five-digit zip code

480.08

what is it if they don't put a value in

482.199

are there things that are required are

483.96

there things that aren't required are

485.639

there things that are in the

486.84

requirements that must connect to other

489.08

things for example if you have a zip

492.28

code and you have a state and that zip

494.4

code doesn't exist in that state do we

496.4

need to verify that do we need to stop

498.639

that from moving forward if you're doing

500.84

like a bank account Transaction what

502.96

happens if you try to withdraw money and

504.52

they don't have funds in the

506.199

account what happens if somebody's going

509.599

through and entering data and they just

511.44

put you know a AAA bbbb

513.919

CCC what is that what if they enter an

516.12

email address that you know is like

518

a.com or something like that this is

520.519

where you're getting into the stuff

521.599

where it's like what about these

523.08

situations where

524.56

somebody is just aept or is trying to

528.6

just like fly through the system and

530.08

just get stuff slammed in as opposed to

532.399

doing it the right way or maybe even

534.959

intentionally which is where we get into

536.6

like the rated X stuff they're

538.56

intentionally trying to crash or screw

541.279

with the system so this is where you

543.2

talk about like sequel injection and

545.72

things like that it's like what happens

548.2

if somebody tries to shove something in

550.12

here that's effectively code that the

552.32

system decides it's going to try to

554.2

execute so you can go from the happy

557.48

path and sunshine and rainbows to rated

561

X Jason versus Michael Myers thing and

563.44

all those kind of stuff me it's like you

564.76

can go into the horror movie side of it

567.88

when you're going through those

570.079

that's when you're going to get really

571.6

full featured user stories yes I did get

574.8

back to my original Point that's where

576.6

you get your really full featured user

578.279

stories because you're peeling that

580.36

onion off you're saying okay this is

582.279

good and then what what if this happens

585.399

what about this what if this isn't right

587.2

and as you start picking out what every

589.48

step is what every data item is as

592.04

you're examining each of those and what

593.839

can go wrong effectively now you are

596.44

fleshing out a true story it's not just

599.44

some little you know paragraph of this

602.519

is what it is now you've got like full

604.8

plot and character development in your

606.44

user story and that is where you're

608.68

going to have super detailed super

610.88

valuable

612

requirements and now I'm going to take a

614.2

breath and see what you thought about

615.24

that

616.36

one yeah I I really liked your approach

619.279

to that I would like to add a couple

622.04

things to it though so I like how you

625.72

kind of walk through the different

626.92

analogies of movies and ratings with

630.32

different stories and different levels

633.04

of chaos that potentially comes from

637.36

trying to Define these

639.44

stories however in addition to that some

642.639

of the things that come to my mind are

646.079

so you have the sto like you're writing

648.76

these stories but as

650.959

developers I've seen this more often

653.16

than not instead of listening for the

656.639

story they start injecting code or

660.32

methodologies into the stories which

663.839

don't need to be there it's like the

665.839

person needs an accounting software

667.76

system or a payroll system cool they

670.959

don't care that written in C Java they

673.36

don't care if there's a database behind

675.04

they just want a payroll system an

678.92

accounting system so stories don't

682.24

necessarily translate to Tech the story

686.56

is what we are saying it is a story

690

this is what I want this is the journey

692.68

from point A to point B you're going to

695

have a beginning a middle and an end how

697.44

do I get there tell me about it tell me

701.2

how the system is going to work tell me

704.24

how you want this feature to be

706.2

implemented and you go through that

708.839

process you're going to have to for lack

712.6

of a better term shut

714.44

up put on your hearing aids crank them

718.959

up and listen to the customer and from

723.48

developers when we're busy that can be

726.04

hard we can fall into that crutch where

729.32

yeah I I heard you say that but in

731.48

reality I didn't fully hear the story I

733.959

heard parts of the feature and only

736.16

parts of the feature get implemented so

737.959

you have to be very careful that the

740.92

story that you are being told or the

743.399

story that you are gathering that you

746.04

get the details of the story for the

749.56

full feature you may not get everything

753.36

so the the other thing to think about

755.68

too in addition to that is there's

758.959

different levels of stories not

761.72

necessarily ratings but levels you have

764.72

your feature

766.839

complete story which is what I need to

770.36

just get a working

772.36

system that complies with the basic of

775.959

this story okay I need a payroll system

778.639

I want to get paid so I need a system

781.24

that will pay me cool that is the

785.32

Baseline story now I start hiring people

788.8

oops my current system that's in then a

791.839

new feature a new story to be added on

796.68

to an existing application all right now

800

we have to add some additional

801.6

requirements okay now I have multiple

803.16

people who's are you know do I have to

805.48

worry about managing what type of

807

security constraints do I have who can

808.76

see what I don't want people seeing my

810.76

payroll information so these are stories

813.079

that have to be flushed

815.04

out and then you get in the bigger

817.36

systems where you hand this off to okay

820.04

so now I want to sell this system to

823.279

someone else well now there's other

825.279

features so you have at the

828.56

beginning what you need the basic story

833.199

to build the application the happy pack

836.16

they must have features of your

839.48

application then you have the nice to

842

have features or new features that get

844.8

implemented later these stories are

847.639

additions to the main story these could

851.12

be spin-offs these could be you know

853.8

book two book three book four which

855.92

would be version two three and four of

857.639

your

858.399

software or they could essentially be

861.079

integration pieces that just kind of tie

864.759

in to your

867.68

story so that are different layers and

871.6

different levels to story writing

874.48

listening to the stories and then

876.759

writing the applications or asking all

879.36

those what if questions to define the

881.959

story The Right

883.839

Way Rob that's that really adds to that

887.68

yeah wow my my analogy was awesome

890.44

because now I'm thinking about it is

891.8

like that's one of the other things is

894.32

are you building a documentary where

897.279

you're just like Michael said where it's

898.72

just about the features or is this a

902.72

summer blockbuster where you're not just

906.32

building features but you are putting a

909.399

wow factor in it that's going to like

911.079

draw people in regardless I mean there's

914

the feature but as well on top of the

917.279

feature because that's sometimes what

918.839

you're going to get it's not it's people

920.759

are saying hey I don't want just I don't

923.759

want something where just just going to

925.04

come and they're going to be able to

926.16

select a product from my store I want

928.519

them to want to sit on my store and play

931.16

around with selecting products because

933.36

that's how awesome the environment is

934.839

it's there is also as he said there's

937.959

like you think almost like there are

939.199

levels and there are different we even

940.839

say genres of stories and user stories

944.079

do the same way and this is where you

946.399

get into reading between the lines a

949.279

little bit and what as Michael mentioned

950.759

is like

952.48

really listening to the story as it is

956.88

not solving it while they're doing it

959.639

but letting them talk through that story

961.56

because you're going to want to get that

962.639

stuff like wait a minute you mentioned

964.399

this

966.24

feature it seems like you need more than

969.04

just that feature maybe you need to like

972.199

you know it's it's maybe it's something

974.639

as like you mentioned entering this data

977.839

this piece of data but what if it sounds

981.759

like it's hard to get that data so do we

984.36

need to also have as a feature a way to

987.04

look that up or to validate that or

989.36

something like that or a way to go jump

990.6

and view that and Shop it would be like

992

in a shopping

993.16

cart you can add products but if you

997.199

only know

998.16

SKS your shopping experience is going to

1000.279

be very difficult what you want is a

1002.399

catalog behind that you know shopping

1004.48

cart and things like that and it's

1006.36

things like okay and the checkout

1007.68

process how does that look and there's

1009.639

there's so many things around the user

1012.56

stories that I think the more you

1014.68

realize they are stories and not just

1018.079

bullet point items

1020.12

necessarily the more you're going to be

1021.839

able to ask the right questions and this

1024.28

is where you can really help your

1025.88

customer take it to the next level

1028.039

because instead of just regurgitating

1031.039

what they give you you can help talk

1033.16

them through and think through some of

1035.16

these processes and say okay this is

1039

what you've got this is where you want

1040.36

to go how can we make adjustments to

1044.079

that Journey how can we make it easier

1046.079

how can we make it faster is there maybe

1047.76

something that would mean we even need

1049.36

to take that Journey because sometimes

1051.28

you do that as you get into the stories

1052.559

you're like wait a minute that story we

1054.16

talked about last week is exactly the

1055.72

story we're talking about this week

1057.08

except for it's only a different user so

1059.36

is that really just the same user story

1061.6

and two people can access it there's

1063.72

things like

1065.2

that I don't want to run too long

1067.6

because I got places to go and things to

1069.72

do uh even though you may think that's

1071.919

just virtually and we just live here all

1073.559

the time we do have lives outside of the

1075.76

yeah outside of this little box here

1077.799

that we're in or your your your ear

1080.52

holes if you're listening to us

1081.88

basically we are not just you know

1084.36

mindless or face or bodyless voices out

1087.6

there fantasms that are just talking so

1091.039

anyways I digress more than a little bit

1094.52

as always reach out and just any

1096.559

information that you have feedback

1098.919

suggestions comments love it all we do

1101.96

this partially for us partially for you

1104.2

more so for you than us so we'd love to

1107.559

do topics questions in areas that are

1110.6

concerns for you as you are becoming

1112.159

better developers maybe there's some

1113.64

ways that we can we can sit down and

1115.64

talk through some of the things that are

1117.679

uh stying you or just challenges or your

1120.12

own pain points or your own stories user

1122.84

stories that we can help you with to

1125.08

work through and get you to that point

1126.64

where you are a better developer and

1128.919

sometimes it just takes a couple of

1130.24

different people a couple different

1131.559

perspectives to get us over that hump

1134.32

shoot us an email at info developer.com

1136.4

check us out at developer.com send us

1138.84

got a contact form we were out on

1140.64

Twitter SL well X formerly Twitter at uh

1144.24

develop anur you can check us out there

1146.36

follow us you can see us wherever you

1147.96

get podcasts we're there YouTube out on

1150.24

developer Channel and there's other

1151.84

stuff around that it's not just the

1154.28

podcast but we also have a lot of uh

1156.6

other content tutorials things of that

1159.96

nature and then there's school.

1161.159

developer.com where funny enough we have

1163.44

tutorials and classes and things that

1165.4

you can learn as well we're just trying

1167.24

to we just spew all the this content out

1169.52

there trying to help you guys out and

1171.08

actually it helps us out as well it's

1172.48

amazing how often we go to search

1173.88

something and we end up going back to

1175.36

our page to be like where we wrote the

1176.919

steps to knock that out 10 years ago and

1178.96

we haven't had to use it since don't

1181.36

wait 10 years before you come back here

1183.159

though go out there and have yourself a

1185.28

great day great week and we will talk to

1187.919

you next time bonus

1192.32

material so I kept it out of the audio

1196.76

but once you have find your stories

1200.799

don't just go write the

1203.12

code you can break down the

1206.52

stories into the smaller chunks and then

1210.36

because again this could be a feature

1213.72

story this could be a full featured

1216.64

story where you have to build everything

1217.96

from scratch but typically what you can

1220.72

do is you can take those stories down

1223.08

you break it down into the individual

1225.96

components and then these essentially

1228.88

will

1230.2

become at the end of the movie did I

1233.76

check all these boxes this is going to

1236.28

be your checklist these will become your

1238.52

unit tests your integration tests your

1240.84

user acceptance criteria hell it may

1243.84

even be your regression or smoke testing

1246.159

but your

1247.96

story is where you get all the

1250.52

checkpoints you need so at the beginning

1252.159

of the story by the end did I touch all

1255.159

the the touch points of the story if I

1258.88

didn't then what did I miss I did not

1260.88

tell a complete story so I need to go

1262.96

back and figure out what I need to plug

1265.2

back in to get the full

1267.64

story yeah that is truly the those are

1270.84

the stories are your requirements these

1273.039

are things that you have to address they

1274.64

are not as we talked about a little bit

1276.159

there the they are not your design

1278.48

there's not necessarily probably

1280.24

shouldn't be anywhere in the stories

1281.919

references to programming languages or

1284.32

really even databases and things like

1286.2

that now you may store data and stuff

1288.159

like it's just say hey the system stores

1290.6

X but whatever that is it may be in a

1294.48

database it may be out in the cloud

1296.32

somewhere it could be in a relational

1297.559

database it could be in a nosql database

1299.159

it could be on a flat file there's like

1300.919

there's so many ways those things can be

1302.76

done that gets into design side of it

1305.44

you don't want to clutter your stories

1307.44

with the implementation with the

1309.6

technology you want to leave that open

1311.6

as long as possible and then the design

1314.12

is where you start picking apart those

1315.799

stories and you start figuring out how

1317.2

you're going to put those pieces

1318.88

together and then of course as you flow

1321

through there there's going to be you

1322.88

should see all of the items that were

1325.279

addressed in the stor should be

1326.88

addressed by your design should be

1328.48

addressed in implementation and then

1330.72

those really lead you know make it

1332.52

really easy for the testers because then

1333.96

they just easily write a little test

1335.2

script that walks through those items

1337.08

and checks to make sure they

1339.36

exist that I think will do it because I

1342.76

got to run I got one of these fun

1344.039

customers and I got crap to do so uh you

1347.72

know hey busy people we got bills to pay

1351.4

that being said as always we'd love to

1353.84

get any feedback that you have leave us

1355.799

comments U check us out twice a week

1358.2

we're going to drop these out check out

1360.32

the the developer North site we do

1362.44

sometimes throw additional blog articles

1364.36

and other stuff out there as well I

1366.44

don't think we have have done as much

1368

now but as usually we get little

1369.96

seasonal we get times a year that things

1371.559

settle down for us and we can knock out

1373.32

more of that kind of information get

1374.679

that stuff out there and of course we do

1376.88

requests so if there's anything that you

1378.72

that you would like us to talk about

1380.32

maybe a tutorial You' like us to do a

1381.919

technology you'd like us to to review

1384.52

any of that kind of stuff more than

1386.279

happy to do so again info@ developer.com

1389.84

that's d v p r ne.com it's also all over

1395.36

the place here on since you're watching

1397.24

you can see the developer nor thing all

1399.36

over the place use that leave us you

1401.919

know comments however you want to get to

1403.6

it that being said we're going to wrap

1405.72

this one up let you guys get to it have

1407.72

yourself a great night great evening

1409.44

great week and we will talk to you next

1412.44

time

1414.79

[Music]