📺 Develpreneur YouTube Episode

Video + transcript

Getting It Right: How Effective Requirements Gathering Leads to Successful Software P

2024-08-13 •Youtube

Detailed Notes

In the world of software development, the difference between a successful project and a frustrating one often boils down to one critical factor: effective requirements gathering. When teams fully understand what they need to build, how it functions, and what the end-user expects, they are much more likely to deliver a product that meets or exceeds expectations. However, when requirements are vague or misunderstood, the project can quickly veer off course. This blog explores the importance of gathering precise requirements, setting clear expectations, and establishing a solid foundation for successful software projects.

Read More... https://develpreneur.com/getting-it-right-how-effective-requirements-gathering-leads-to-successful-software-projects

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

* Software Development Requirements: Staying True to Specifications (https://develpreneur.com/software-development-requirements-staying-true-to-specifications/)

* 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 Use Cases and Gathering Requirements (https://develpreneur.com/creating-use-cases-and-gathering-requirements/)

Transcript Text
[Music]
hey I just hit record so we are live oh
hey there was my mic um so today gosh
there's like because we were just in the
Preamble venting a little bit and I just
did an article so one of the things I've
thought about is doing
a and I wonder have we' done this before
where it's the the famous I just want to
do X but as y like I just want to do
Uber for dog food or hey I just need a
site that is PayPal but it's you know
only for Euros or something like that
you know you get these people that it's
like and I I really think it's we've
talked about it from a I want to build a
business that is you know eBay but it's
for blah it's for
furniture um but I think there's also
one that I'm seeing and this actually
sort of follows up our prior one where
we talk about these situations where
people come in with a uh system that is
been there they know it it's theirs and
it's outdated
and now they need to upgrade it they
need to update it and walking through
that because I've walked I've seen a
couple different customers approaches to
that and I think you've I mean you've
got one right now is that
everybody's there are a couple different
ways to look at it some people are like
I love what we have I need it exactly
the same way and then some people I hate
what I have I have no idea but it's got
to be better and then there's those that
are like I hate what I
and here's where I need to go with it
but even in all of those cases there's
there are a lot of assumptions in there
and that's where I was thinking about is
as a developer it really gets in this
really gets into like and I think
there's one we had thrown out there sort
of it's like Gathering requirements
Gathering requirements in the situations
where one where there are some there but
they're not written and then those kinds
of conversations and how do we handle
them and how do we tackle those kinds of
things little more advanced in the
developer Journey but I think it is uh
it's one of those things that even early
on there are good questions around
requirements actually I think it fits
with the developer Journey especially
kind of where we're at
because we've kind of touched on
different things especially from
starting out you know going from coder
to developer to next
um and we've talked about like working
in teams and tools and things like that
and we have touched on
documentation but this is kind of one
that kind of fits between customer
expectations documentation and what
you're going to build so now we're at
that point where all right now you know
how to write code you've worked on a
couple different
projects you're maybe out on your own
you're you're you know you're building
apps but now you're getting into now I'm
servicing customers now I'm getting into
working on more complex systems how do I
you know how do I tackle that and I I
think that's a good one it kind of and
I've seen the the job postings like you
just explained where it's like oh hey I
want someone to go copy Twitter for me
for 50 bucks it on like freelance and
some of those it's like they have zero
expectation for what it takes to go into
code they just see the big bucks from
what comes out of it or what they
perceive to come out
um it's kind of one of those where this
is kind of a level setting for both the
developer and the customer and I think
if we kind of tackle it from that it
will fit perfectly within this journey
of this season well I like how you laid
it out so I think yeah so I think we'll
give that a shot and and see where it
goes I think that's a good little intro
and hello and welcome back we are here
cruising through the developer journey I
am Ron Broadhead one of the founders of
develop also known known as building
better developers also a founder of RB
Consulting where we simplify integrate
and automate and do our best to just
take the nightmare that technology can
become and turn it into a nice pretty
little fuzz ball that you can use to
help your business get done faster
better sharper and allow you to sleep at
night on the other side is someone who
actually never sleeps at night or close
to it Michael and I'm going to let you
introduce yourself hey everyone my name
is Michael Mage I'm also one of the
co-founders of building better
developers developer and I'm also the
founder of Invision QA if you are a
small to midsize business or a small
Healthcare clinician or doctor's office
we help
you identify what systems you have in
place what software uh that you're using
and we also build custom softwares so if
the tools you have aren't quite working
for you we can build you what you need
which actually kind of goes into the
conversation we're going to have today
yeah that's a nice little dove tapil
into we're going to talk a little bit
about it's it's sort of about
requirements and and expectation setting
and level setting and some things like
that and as we were talking about in the
pre-show that you can go watch out on
YouTube it's a little bit idea of like
first you first you're working at just
writing code and then you're sort of
becoming a developer so you're
developing Solutions now you're getting
into the point where you're you're not
maybe you've built your own Solutions
but now it's working with other people
to figure out what they need what is
their problem and how do you figure out
how to solve their problem and give them
a solution that works now there's a
couple ways that we step into this this
this topic I want to focus on which is
uh a disconnect we'll call it one is
it's the we've talked about this before
we've s thrown it out there and Michael
just example like somebody sees I want
to create uh
Twitter and I want to create something
just like Twitter but I'm going to call
it flitter and their you know their
budget is 50 bucks it's like okay you
have no idea aide what's involved it's
not just like changing three lines of
text and then giving it over to you you
have no idea what's involved in the
solution behind there this can also
happen with customers and this is really
where I want to focus little more
because instead of building new stuff
which is more likely to I think normally
draw Us in as far as like Gathering
requirements and walking through that
process with the customer even if they
have done some of that work beforehand
because sometimes you will get
you know a fairly solid list of
requirements but then you're still going
to you you're going through them you're
going to have questions and so it it
naturally progresses when you're dealing
with an existing system that a customer
has there's a two or three different
ways that people look at it one I think
I'll go into three there's the one where
it's an old system that we love it works
great we really don't want to you know
it's not broke don't fix it kind of
thing but we do need to upgrade it
because the technology is being
sunsetted or something like that then
you have the people that are on the
other end that are like we've got this
thing it was a piece of crap it doesn't
work we hate it we've been trying to get
off of it forever and it's now the
technology is sunsetting and we've just
we've waited too long and now we need to
and we want to build something
completely different and then you have
somewhere I guess we'll say in between
where people have something that we have
something not really what we want we've
learned something lessons from it and we
want to build something better now the
good thing is in all three of those
cases you when you come in not only
building better developers we want to
build better Solutions so whether they
love their solution or they hate it or
somewhere in between we want to talk to
them about that solution we want to
understand in this situation what is it
you have today what are the processes
how does it work how does it you know
how is it successful how is it failured
where your paying points it's really
talking before you get anywhere into
what we're going to build for you or
where we're going to go with it let's
really understand what you have now that
can be a challenge because sometimes
you're going to get stuff where they say
well just go work on the application or
here's you know rarely do you get here's
full documentation but they'll be like
here's a user's guide and you'll have an
application with 100 screens that's got
a you know two-page user guide or
something like that and there's all
points in between the thing is this goes
back to something we talk about a lot
it's the why why is that there why how
is it used and it is so easy for even
somebody we'll just say like I could be
an example of where you've done this a
bunch but you don't push on the I need
to understand the business side of it
and that can run you into problems
because now what you're doing is you're
making assumptions you're going to
assume that what the customer tells you
is exactly what's going on and while
sometimes that's correct sometimes it's
not particularly with systems there's a
lot of times that we have gone in and
done assessments and and evaluations and
things like that and you get into it and
you find that maybe you start let's say
you start with the CEO and maybe they're
they like built this from the ground up
so they talk like they know everything
and then you start talking to their team
and you find some people that are like
oh we have this other thing we use it's
not because the CEO is you know not
smart or it's just like people grow and
and move and they do these other things
and there's stuff that's not on their
radar and you'll find those kinds of
things and and even within their systems
they may use it all the time and it's
not and they think that this thing is
just you know a smooth integration and
then you find out that oh no behind the
scenes it's actually like multiple
Integrations they've got Al all these
licenses they've got to have maybe two
or three vendors involved and don't even
get me started if you've had multiple
teams of Developers individuals come in
over the years because this goes back to
some of our other conversations is it
always looks like it was written by 50
different people even if it was three
and so it gets really difficult to
understand what's there because you
can't look at the code unless it's super
super simp you can't look at the code
and know what it does if it's like add a
number subtract a number okay now we're
like then maybe you can look at the code
even a basic crud app where you're just
insert update delete records do some
listing there's probably some
validations in there and if you can't
crawl through all if you don't crawl
through all the code and make sure you
got every little piece of code reviewed
which is very timec consuming you're
probably going to miss something and
even if you do you're probably going to
miss something because it's you know
sometimes hundreds of thousands of lines
of
code so what do we do this goes to we
come back to the fundamentals one we
want to make sure that we are setting
expectations now sometimes your
expectations are going to have
assumptions and you're going to have to
step up when those assumptions are
proved incorrect so for example if you
step into an a project and they say we
really don't have to do anything but
copy these files from A to B and you're
good okay assuming that it's going to
take us x amount of time here's what
we're going to do cool and then you find
out well you can't just copy those
there's some other things that are going
on and there's some stuff over here that
you got to look at and oh these things
can't just be copied they've actually
got to be Rewritten at those points
you're like hold up
stop we made an assumption and now we
have to reset because now the project
has changed what we walked into as we
got further into it we realized that's
not it and you're going to feel bad
sometimes you're GNA have customers
you're going to say hey why didn't you
tell us that up front and you can say we
didn't spend the time walking through
all this code up front and if they
wanted you to or if they want you to
walk through all the code upfront then
you want to make sure you've got some
sort of an agreement or something so
you're getting paid because you don't
want to be in a situation where you
spend weeks of time crawling through
code putting together a nice
requirements document and they're like
ah sorry we're not going to do that and
they walk off and use your stuff
somewhere
else the other part of this is the the
real
fundamental when you're looking at that
application however you're looking at it
even if you can't see the code when
you're looking at the screens in that
ask questions how did I get here what is
this what does this data do where does
this data go where is it used don't be
afraid to just be like a two-year-old
ask questions ask questions ask
questions because that is how you're
going to get the requirements and that's
how you're going to find the things that
are in their head particularly when
they've used this application day in and
day out for years there is so much
knowledge that just they know and they
just know it like they breathe but they
to tell them give me that information
you have to find a way to extract it
you've got to write that ask the right
question and you're going to end up
having to ask a lot of questions because
you won't know that question until you
ask it so that's like a big long-winded
approach and I'm going to toss over
Michael and sort of get your your
feedback on those and what are your
thoughts when you run into these
situations so let me start with a little
bit of current events which kind of ties
into this nicely so the current
debacle that kind of shut down the US
recently uh with an operating system
failure it has been discovered that the
company that was working on the software
only tested their code using unit tests
and unit tests are a form of
requirements or tests built on the
requirements to test the code a certain
way as you're going through these
projects if you're not collecting the
requirements if you're not filling in
those assumptions and updating your
tests if all you're doing is making code
changes running your test good shipping
the software if you never do end to- end
testing or any other validation testing
to make sure that the system works as
the user wants it you're going to break
things so that's what happened which
literally shut down a lot of systems
within the
country flipping back to that so as
developers as we are working our way
through software through new software
integrating software working with a
customer I am very anal about how I go
about Gathering requirements because I
have worked on multiple sides of the
fence uh Rob has too a little bit but
I've decided at one point I need to step
out of development I wanted to be a
tester I wanted to learn more about
integration testing automation testing
and see how I could apply the test
driven development
approach as a developer working on
systems working with customers
especially today since a lot of our work
is done virtually we do a lot of work
through the computer so it's very
important to sit down with your end user
or your customer and have them walk
through the system with you do they have
a login screen well if you have a login
screen you have to ask yourself okay
sure they takes a username and password
but if you have some type of
authentication they probably are not
thinking in their minds that they
probably have role based permissions or
role-based uh interfaces where certain
things happen in the application for
certain people so this person may come
in they're an admin they see everything
in the system it's like cool this is how
it works you build it that way and you
roll it out and next thing you know hey
um why can my customers access payroll
um that shouldn't happen well you didn't
show it to me that way so there's a lot
of nuances with
software that your end user your
customer may not know so you're GNA want
to talk to more than one person if you
can about the
system Rob mentioned writing up software
requirements well sometimes you don't
have the time sometimes you're pitched
with hey we have this so you're going to
make a bid or an initial bid or
statement of work to say hey I can do it
for X based on these
assumptions however once you get in
there very quickly try to find out if
those assumptions are right don't wait
too long if you can catch this within
the first few days you usually have a
little more bandwidth to go back and say
hey we need to re-evaluate this contract
what you pitched us does not match what
we
have however sometimes what you are told
is fairly close to what you have within
the system so you get in there okay
things are going along as expected but
like Rob said there might be assumptions
or things that aren't seen from the end
users
perspective so as you're walking through
an application even even if it's for the
first time at the start of the contract
walk through the user stories so what is
a user story a user story is how a
person interacts with the system what is
the person doing on the keyboard what
are their objectives you know I am
coming to this page to do what what is
my expectation from the application and
what is the results so you're kind of
thinking that blackbox testing
information in information out but
there's stuff that happens there that
you have to break down so that you can
actually write the code or fix the code
or even understand what the code is
doing behind the scenes so this kind of
gets into that whole white box gray box
testing development you have to look at
things to gather this
information and as you're doing this
you're going to find that there are what
are called happy path or for simple user
stories for the basic implementations of
the
system most companies and most users
have that but what they don't have is
all the other things that are required
to keep that happy path working like for
instance with the
login can the user name is it an email
can is uh is it just numeric characters
is it alpha numeric does it have to have
special characters you know what
conditions are required just for the
username password same thing now if I'm
logging into the system okay sure I can
have a user
account but what happens if I you know
what happens if I try to log in three
times does my account get
locked does my account expire if I log
in am I logged in Forever do I never
have to log in again so just in that
scenario alone I've already thrown out
half a dozen scenarios that you need to
think about and account for just for a
login page for from the user's
perspective hey I log into this
application it lets me in if I put in
the right password it doesn't let me in
if I have the an incorrect user name or
password from the end user that's what
they see but from a developer we have to
think about all those nitty-gritty
details to make sure that the
application
works now I've kind of really dragged
down on that path
but it's one of those where attention to
detail from a developer mindset it's not
just about hey I have this feature no I
need to understand how this feature
works and works with the system as a
whole not just that piece because it
could work for me my unit test could
pass but when you get to the end user I
click here to get to this page whoops I
just broke that that doesn't work but my
page works but I've have now broken
other implementations or other features
within the system so you have to be
careful with what you do but you also um
have to think about these things from
the end user's perspective while
thinking about it as a developer so that
way even if you don't do the
requirements you have an idea
to start building the software and if
you do it from a test driven perspective
you're writing all these tests first all
these scenarios first and then you're
building the code that the test will
test so essentially if you're doing a
login okay I have a username I have a
password variable I pass it into this uh
method I should get logged in or I
should be rejected because it's not a
valid password and then you essentially
write those methods and then change your
test to call that method from the
hardcoded pass and test your
code so that's kind of my box on this
part of it uh Rob where some more are
your
thoughts I want to go I do want to say
that when we talk about setting
expectations and the and the whole like
I don't know how many times I've seen
stuff where it's like it's really a
simple project you just have to take
this thing and move it from point A to
pointb I think if you struggle with
getting your customer to understand the
complexities involved I think the login
is one of the most perfect examples to
work with because it is
literally dozens if not more of
decisions that are made with a login and
it is it's stuff like Michael talked
about it's like what's your it's and
some people think oh well it's how long
how complicated is your password and
then what is your you know is your login
a name or is it an email address well
this is where you go a lot deeper is
there's things like okay what characters
aren't allowed what characters aren't
allowed for the name is are you going to
have a display name that this user is
going to be seeing elsewhere in the
system is that their login and if so
that's a security risk because now
somebody at least knows what their login
is and so you don't necessarily want
that which is the same thing if it's
their email address then somebody could
guess their email address and use that
as a login do you want to do that what
happens if they forget their password
what happens if you want to add maybe
initially do or maybe later you want to
add some multiactor authentication how
does that work do you have the ability
which is a lot of systems now have are
you going to need the ability that is
the for admins to log in as a user which
goes a little bit to what Michael said
where you now get to see the system as
that user and not as you as a super user
maybe see a much different system and it
goes on and on it's like well do you log
out what happens when you log out when
you log in do you where do you go do you
go to your homepage does your homepage
change depending on what your role is
and then it just there's so many things
that can be involved there that alone
people are usually like well we just
need to log in and we need to log out
okay let's go into explore that and by
the time you've asked about the 10th
question you say okay that's just the
login we haven't gotten anywhere else
that's why this is complicated
that's why when we say we're trusting
you we're trusting you with a lot if
we're just going to say we trust you
that your login system currently works
fine we're trusting that you've answered
all those questions and that they all
make sense and this goes to a little bit
to the unit testing which is Michael's
idea is like okay let's say that same
login and your login Works flawlessly
but let's say that for example you don't
store a display name or you store
personal information for first and last
name and it's a system where that
shouldn't be displayed anywhere but
everybody else somewhere down the line
says well I just need a name so I'm just
going to take first last name put it
together and then that's that's how I
address them well yeah those both work
fine but when you put it into the system
you're not following a story and I think
that's probably where we're going to go
next but not right now because we have
gotten a little long on this one as we
sometimes do and we are going to wrap
this one up and go work on our
requirements because that's what we do
as always we can gather requirements
from you by sending us emails at info
developer.com you can check us out on
developer nerd.com we've got a form
there you can sign up you can leave us
comments you can see tons and tons of
com of content you can check us out at
school. developer.com and see some of
the like the really short less than an
hour up to
multi-day tutorials and and lessons and
classes that we've got
there subscribe wherever you subscribe
to podcast and then three other places
as well just cuz and you can get this uh
we're going to drop we drop this twice a
week out on the YouTube channel you get
to see that twice a week if you're
listening you get bonus material
although you can I mean you can always
color us out so you don't have to watch
us but there's extra content as well out
on the YouTube channel that's the
developer or Channel out on YouTube you
can go find us there plus pass
Mastermind Mentor sessions and things
like that as well so there's tons of
content and now I'm going to take a deep
breath and go grab a glass of water or
something like that but for you go out
there and have yourself a great day a
great week and we will talk to you next
time bonus
material so it's funny as you were
talking about the
school uh site um because remember I've
got that entire course out there on
software requirement documentation and
software test documentation so um that
that's a good source and we got lots of
content on the site about testing and
writing uh documentation things of that
nature one thing I would add to this
particular conversation though
is when you go into your conversations
with your
customer well we are giving them the
power because they are essentially The
Keeper of the keys they are The Keeper
of the knowledge of what the system is
doing or what they want it to do we have
to make the assumption that one we know
nothing we have assumptions but we know
nothing about what they have or what
they want unless we've been working on
so if you're coming in fresh assume
nothing assume everything's
wrong
two take anything someone gives you for
a requirement and pick the hell out of
it if there's anything that is a what if
or an if then in the requirements and
there is no distinction of what the then
is it's not a
requirement it needs to go back and be
clearly defined because your
requirements should be one task or
essentially how the feature Works should
be feature complete it should be if this
then this if this then this there should
not be if if I do this I might get this
oh wait we might also get this or wait
we might also get this if you get into
the code or you get into the requirement
and you read this and then you say well
wait what about this what about this
what about if there's any questions at
that point you need to stop and redefine
that
requirement uh because if you start
writing code to
that you may throw it all away because
it could be completely wrong so you have
to be very careful about that for your
time because if you do that the customer
may not pay you again to fix it you may
have to eat that cost because you made
the Assumption went off and did that
when the customer really wanted
something else done so you have to be
careful as you go out and start building
these
applications Rob one followup to that
and then we'll we'll wrap this one up is
I do want to talk a little about along
with setting expectations and
requirements in that is
making sure that there is along with all
this
what the easiest thing to say is what
done is is there's a lot of times that
we get to a point we do this with our
personal applications I know customers
do this all the time as you get towards
the end and then it's like oh can you do
this can you do that can you make this
little change can you do that little
change hey can we just do this can we do
that and it may be and it is
frustratingly simple sometimes it's like
yes I can change those three letters and
change that label or yes I can change a
number and it's going to change the
color of that button or whatever it
happens to be a lot of times they very
simple changes the moral of this story
is there's no such thing as a simple
change if you touch the code there is
potential particularly as you get later
into a project there is potential that
you are going to have a typo that you're
going to have something that didn't go
right that you're going to actually you
know that these days you got to watch
out AI stuff will insert code on on you
I don't know how many times that has
frustrated me I've had to go turn things
off because you go and it complete
autocomplete something incorrectly for
you and if you're not paying attention
you're like wait I would have never
typed that what was what kind of idiot
oh the AI idiot that's the one
so don't ever assume it like everything
this gets into like the whole idea of
like this is why with scrum you use
points instead of hours the minimum the
minimum thing you
do assume it's going to take half hour
an hour something like that maybe more
than that use that to focus them on what
gets us to done and the extra stuff we
will get there we can add that later
we'll do that in another
release what we're going to do in
another release is we'll step into
another topic but for now I think we've
gone long enough and we will get on our
way as always check us out at all of the
race places leave us some comments shoot
us an email at info develop or.com and
we will check you guys out
next time around
[Music]
Transcript Segments
1.35

[Music]

27.8

hey I just hit record so we are live oh

31.24

hey there was my mic um so today gosh

35.44

there's like because we were just in the

37.68

Preamble venting a little bit and I just

41.6

did an article so one of the things I've

43.079

thought about is doing

45.16

a and I wonder have we' done this before

48.399

where it's the the famous I just want to

51.16

do X but as y like I just want to do

55

Uber for dog food or hey I just need a

58.12

site that is PayPal but it's you know

61.8

only for Euros or something like that

63.559

you know you get these people that it's

64.879

like and I I really think it's we've

68.08

talked about it from a I want to build a

70.36

business that is you know eBay but it's

72.439

for blah it's for

74.439

furniture um but I think there's also

76.88

one that I'm seeing and this actually

78.28

sort of follows up our prior one where

80.479

we talk about these situations where

82.64

people come in with a uh system that is

86.4

been there they know it it's theirs and

89.2

it's outdated

90.84

and now they need to upgrade it they

93.439

need to update it and walking through

97.119

that because I've walked I've seen a

98.72

couple different customers approaches to

101.439

that and I think you've I mean you've

103.439

got one right now is that

105.159

everybody's there are a couple different

107.119

ways to look at it some people are like

109.799

I love what we have I need it exactly

112

the same way and then some people I hate

114.52

what I have I have no idea but it's got

117.719

to be better and then there's those that

119

are like I hate what I

120.36

and here's where I need to go with it

122.92

but even in all of those cases there's

126.079

there are a lot of assumptions in there

128.039

and that's where I was thinking about is

129.239

as a developer it really gets in this

131.239

really gets into like and I think

133.04

there's one we had thrown out there sort

134.44

of it's like Gathering requirements

136.599

Gathering requirements in the situations

139.12

where one where there are some there but

142.44

they're not written and then those kinds

145.44

of conversations and how do we handle

147.2

them and how do we tackle those kinds of

148.64

things little more advanced in the

149.879

developer Journey but I think it is uh

152.48

it's one of those things that even early

153.64

on there are good questions around

155.959

requirements actually I think it fits

158.16

with the developer Journey especially

159.599

kind of where we're at

161.68

because we've kind of touched on

165.72

different things especially from

167.159

starting out you know going from coder

170.159

to developer to next

174.64

um and we've talked about like working

177.519

in teams and tools and things like that

179.959

and we have touched on

182.48

documentation but this is kind of one

184.72

that kind of fits between customer

188.08

expectations documentation and what

190.799

you're going to build so now we're at

193.2

that point where all right now you know

195.959

how to write code you've worked on a

197.92

couple different

200.239

projects you're maybe out on your own

203.36

you're you're you know you're building

204.959

apps but now you're getting into now I'm

207.879

servicing customers now I'm getting into

210.319

working on more complex systems how do I

213.68

you know how do I tackle that and I I

216.159

think that's a good one it kind of and

218.72

I've seen the the job postings like you

222.28

just explained where it's like oh hey I

224.599

want someone to go copy Twitter for me

227.799

for 50 bucks it on like freelance and

230.84

some of those it's like they have zero

233.799

expectation for what it takes to go into

235.439

code they just see the big bucks from

237.12

what comes out of it or what they

239

perceive to come out

240.92

um it's kind of one of those where this

243.72

is kind of a level setting for both the

245.92

developer and the customer and I think

248.959

if we kind of tackle it from that it

250.319

will fit perfectly within this journey

252.64

of this season well I like how you laid

254.72

it out so I think yeah so I think we'll

256.68

give that a shot and and see where it

258.359

goes I think that's a good little intro

260.72

and hello and welcome back we are here

263.759

cruising through the developer journey I

267.08

am Ron Broadhead one of the founders of

268.72

develop also known known as building

270.36

better developers also a founder of RB

273.199

Consulting where we simplify integrate

275.08

and automate and do our best to just

277.08

take the nightmare that technology can

279.72

become and turn it into a nice pretty

281.639

little fuzz ball that you can use to

284.199

help your business get done faster

286

better sharper and allow you to sleep at

288.52

night on the other side is someone who

290.479

actually never sleeps at night or close

292.12

to it Michael and I'm going to let you

293.88

introduce yourself hey everyone my name

296.52

is Michael Mage I'm also one of the

298.56

co-founders of building better

300

developers developer and I'm also the

302.16

founder of Invision QA if you are a

304.639

small to midsize business or a small

306.96

Healthcare clinician or doctor's office

310.039

we help

311.24

you identify what systems you have in

313.919

place what software uh that you're using

316.96

and we also build custom softwares so if

320.12

the tools you have aren't quite working

321.96

for you we can build you what you need

324.639

which actually kind of goes into the

326.28

conversation we're going to have today

328.479

yeah that's a nice little dove tapil

329.919

into we're going to talk a little bit

331.919

about it's it's sort of about

333.72

requirements and and expectation setting

335.919

and level setting and some things like

337.52

that and as we were talking about in the

339.639

pre-show that you can go watch out on

341.24

YouTube it's a little bit idea of like

342.68

first you first you're working at just

344.6

writing code and then you're sort of

345.96

becoming a developer so you're

347

developing Solutions now you're getting

348.479

into the point where you're you're not

350.639

maybe you've built your own Solutions

352.28

but now it's working with other people

353.919

to figure out what they need what is

355.6

their problem and how do you figure out

357.039

how to solve their problem and give them

358.639

a solution that works now there's a

361.08

couple ways that we step into this this

363.96

this topic I want to focus on which is

366.88

uh a disconnect we'll call it one is

371.8

it's the we've talked about this before

373.56

we've s thrown it out there and Michael

374.919

just example like somebody sees I want

377.44

to create uh

379.039

Twitter and I want to create something

381.08

just like Twitter but I'm going to call

382.56

it flitter and their you know their

385.72

budget is 50 bucks it's like okay you

389.039

have no idea aide what's involved it's

391.28

not just like changing three lines of

393.24

text and then giving it over to you you

394.639

have no idea what's involved in the

396

solution behind there this can also

398.919

happen with customers and this is really

402.039

where I want to focus little more

403.24

because instead of building new stuff

405.039

which is more likely to I think normally

409.639

draw Us in as far as like Gathering

411.8

requirements and walking through that

413.319

process with the customer even if they

416

have done some of that work beforehand

418.319

because sometimes you will get

420.12

you know a fairly solid list of

422.919

requirements but then you're still going

424.72

to you you're going through them you're

426.319

going to have questions and so it it

428.56

naturally progresses when you're dealing

431.479

with an existing system that a customer

433.759

has there's a two or three different

436.08

ways that people look at it one I think

438.479

I'll go into three there's the one where

441.16

it's an old system that we love it works

444.039

great we really don't want to you know

446.199

it's not broke don't fix it kind of

447.8

thing but we do need to upgrade it

450.16

because the technology is being

451.879

sunsetted or something like that then

454.24

you have the people that are on the

455.52

other end that are like we've got this

457.4

thing it was a piece of crap it doesn't

459.56

work we hate it we've been trying to get

462.28

off of it forever and it's now the

465.039

technology is sunsetting and we've just

467.24

we've waited too long and now we need to

469.84

and we want to build something

471.039

completely different and then you have

473.12

somewhere I guess we'll say in between

474.8

where people have something that we have

476.8

something not really what we want we've

478.96

learned something lessons from it and we

480.919

want to build something better now the

483.96

good thing is in all three of those

486.36

cases you when you come in not only

488.639

building better developers we want to

490.08

build better Solutions so whether they

492.36

love their solution or they hate it or

494.52

somewhere in between we want to talk to

496.96

them about that solution we want to

500

understand in this situation what is it

503.159

you have today what are the processes

505.599

how does it work how does it you know

507.599

how is it successful how is it failured

509.8

where your paying points it's really

512.36

talking before you get anywhere into

514.399

what we're going to build for you or

515.839

where we're going to go with it let's

518.32

really understand what you have now that

521.159

can be a challenge because sometimes

522.519

you're going to get stuff where they say

524

well just go work on the application or

527.04

here's you know rarely do you get here's

529.08

full documentation but they'll be like

530.72

here's a user's guide and you'll have an

532.6

application with 100 screens that's got

534.44

a you know two-page user guide or

536.04

something like that and there's all

538.079

points in between the thing is this goes

540.76

back to something we talk about a lot

542.519

it's the why why is that there why how

545.2

is it used and it is so easy for even

549

somebody we'll just say like I could be

550.88

an example of where you've done this a

552.959

bunch but you don't push on the I need

556.44

to understand the business side of it

559.04

and that can run you into problems

560.48

because now what you're doing is you're

562.68

making assumptions you're going to

564.04

assume that what the customer tells you

566.56

is exactly what's going on and while

569.959

sometimes that's correct sometimes it's

572.16

not particularly with systems there's a

574.519

lot of times that we have gone in and

576.959

done assessments and and evaluations and

579.72

things like that and you get into it and

582.2

you find that maybe you start let's say

584.8

you start with the CEO and maybe they're

586.92

they like built this from the ground up

588.839

so they talk like they know everything

591.16

and then you start talking to their team

592.519

and you find some people that are like

594.279

oh we have this other thing we use it's

596.68

not because the CEO is you know not

598.8

smart or it's just like people grow and

601.2

and move and they do these other things

603.04

and there's stuff that's not on their

604.36

radar and you'll find those kinds of

606.6

things and and even within their systems

608.24

they may use it all the time and it's

609.839

not and they think that this thing is

613.56

just you know a smooth integration and

615.72

then you find out that oh no behind the

618.48

scenes it's actually like multiple

620.8

Integrations they've got Al all these

622.36

licenses they've got to have maybe two

624.32

or three vendors involved and don't even

626.44

get me started if you've had multiple

628.12

teams of Developers individuals come in

630.399

over the years because this goes back to

633.48

some of our other conversations is it

635.079

always looks like it was written by 50

636.8

different people even if it was three

638.68

and so it gets really difficult to

641.44

understand what's there because you

643.519

can't look at the code unless it's super

646.24

super simp you can't look at the code

647.56

and know what it does if it's like add a

650.68

number subtract a number okay now we're

653.519

like then maybe you can look at the code

655.72

even a basic crud app where you're just

658.639

insert update delete records do some

660.959

listing there's probably some

662.44

validations in there and if you can't

664.639

crawl through all if you don't crawl

666.24

through all the code and make sure you

667.76

got every little piece of code reviewed

670.36

which is very timec consuming you're

672.16

probably going to miss something and

673.68

even if you do you're probably going to

675.079

miss something because it's you know

676.6

sometimes hundreds of thousands of lines

678.519

of

679.839

code so what do we do this goes to we

683.68

come back to the fundamentals one we

685.399

want to make sure that we are setting

688.24

expectations now sometimes your

690.839

expectations are going to have

693.12

assumptions and you're going to have to

695.6

step up when those assumptions are

697.56

proved incorrect so for example if you

699.6

step into an a project and they say we

704.32

really don't have to do anything but

705.76

copy these files from A to B and you're

707.92

good okay assuming that it's going to

710.279

take us x amount of time here's what

712.56

we're going to do cool and then you find

715.36

out well you can't just copy those

717.279

there's some other things that are going

718.519

on and there's some stuff over here that

720

you got to look at and oh these things

721.44

can't just be copied they've actually

722.56

got to be Rewritten at those points

725

you're like hold up

726.839

stop we made an assumption and now we

729.24

have to reset because now the project

732

has changed what we walked into as we

735.199

got further into it we realized that's

737.48

not it and you're going to feel bad

739.639

sometimes you're GNA have customers

740.56

you're going to say hey why didn't you

741.88

tell us that up front and you can say we

744.92

didn't spend the time walking through

747.12

all this code up front and if they

749.32

wanted you to or if they want you to

750.92

walk through all the code upfront then

752.16

you want to make sure you've got some

753.24

sort of an agreement or something so

754.56

you're getting paid because you don't

756.36

want to be in a situation where you

757.8

spend weeks of time crawling through

760.639

code putting together a nice

761.839

requirements document and they're like

763.32

ah sorry we're not going to do that and

764.959

they walk off and use your stuff

766.32

somewhere

767.92

else the other part of this is the the

770.8

real

771.76

fundamental when you're looking at that

774.36

application however you're looking at it

776.199

even if you can't see the code when

778.48

you're looking at the screens in that

780.72

ask questions how did I get here what is

784

this what does this data do where does

785.48

this data go where is it used don't be

787.72

afraid to just be like a two-year-old

789.639

ask questions ask questions ask

791.56

questions because that is how you're

793.88

going to get the requirements and that's

795.48

how you're going to find the things that

796.639

are in their head particularly when

798.839

they've used this application day in and

800.56

day out for years there is so much

802.639

knowledge that just they know and they

805.76

just know it like they breathe but they

808.839

to tell them give me that information

811.88

you have to find a way to extract it

813.56

you've got to write that ask the right

815.079

question and you're going to end up

816.68

having to ask a lot of questions because

817.92

you won't know that question until you

820.36

ask it so that's like a big long-winded

824.12

approach and I'm going to toss over

825.279

Michael and sort of get your your

826.6

feedback on those and what are your

827.8

thoughts when you run into these

829.8

situations so let me start with a little

832.32

bit of current events which kind of ties

835.32

into this nicely so the current

839.639

debacle that kind of shut down the US

843

recently uh with an operating system

846

failure it has been discovered that the

848.839

company that was working on the software

851.639

only tested their code using unit tests

854.959

and unit tests are a form of

856.959

requirements or tests built on the

859.24

requirements to test the code a certain

861.519

way as you're going through these

863.6

projects if you're not collecting the

865.48

requirements if you're not filling in

867.72

those assumptions and updating your

870.48

tests if all you're doing is making code

872.839

changes running your test good shipping

875.48

the software if you never do end to- end

877.68

testing or any other validation testing

880.079

to make sure that the system works as

882.519

the user wants it you're going to break

884.56

things so that's what happened which

887.839

literally shut down a lot of systems

890.12

within the

891.6

country flipping back to that so as

894.199

developers as we are working our way

897.399

through software through new software

900.24

integrating software working with a

905.399

customer I am very anal about how I go

909.8

about Gathering requirements because I

911.639

have worked on multiple sides of the

913.68

fence uh Rob has too a little bit but

917.56

I've decided at one point I need to step

920.56

out of development I wanted to be a

922.88

tester I wanted to learn more about

924.839

integration testing automation testing

927.72

and see how I could apply the test

929.8

driven development

931.8

approach as a developer working on

935.519

systems working with customers

937.6

especially today since a lot of our work

940.48

is done virtually we do a lot of work

943.199

through the computer so it's very

945.759

important to sit down with your end user

949.16

or your customer and have them walk

951.8

through the system with you do they have

955.12

a login screen well if you have a login

957.56

screen you have to ask yourself okay

960.959

sure they takes a username and password

963.639

but if you have some type of

965.8

authentication they probably are not

967.8

thinking in their minds that they

969.839

probably have role based permissions or

972.56

role-based uh interfaces where certain

975.639

things happen in the application for

977.88

certain people so this person may come

980.079

in they're an admin they see everything

981.72

in the system it's like cool this is how

983.56

it works you build it that way and you

986.48

roll it out and next thing you know hey

988.72

um why can my customers access payroll

992.92

um that shouldn't happen well you didn't

995.24

show it to me that way so there's a lot

998.759

of nuances with

1002.12

software that your end user your

1004.72

customer may not know so you're GNA want

1008.399

to talk to more than one person if you

1011

can about the

1013.199

system Rob mentioned writing up software

1016.639

requirements well sometimes you don't

1018.959

have the time sometimes you're pitched

1021.279

with hey we have this so you're going to

1023.399

make a bid or an initial bid or

1026.919

statement of work to say hey I can do it

1029.559

for X based on these

1033.199

assumptions however once you get in

1036.12

there very quickly try to find out if

1038.679

those assumptions are right don't wait

1040.88

too long if you can catch this within

1043.52

the first few days you usually have a

1047.48

little more bandwidth to go back and say

1049.679

hey we need to re-evaluate this contract

1052.84

what you pitched us does not match what

1055.76

we

1058

have however sometimes what you are told

1062.12

is fairly close to what you have within

1064.24

the system so you get in there okay

1066.96

things are going along as expected but

1069.559

like Rob said there might be assumptions

1071.52

or things that aren't seen from the end

1073.64

users

1075.28

perspective so as you're walking through

1077.84

an application even even if it's for the

1079.64

first time at the start of the contract

1083.039

walk through the user stories so what is

1086.52

a user story a user story is how a

1090.32

person interacts with the system what is

1094.919

the person doing on the keyboard what

1097.159

are their objectives you know I am

1099.799

coming to this page to do what what is

1102.88

my expectation from the application and

1105.159

what is the results so you're kind of

1106.64

thinking that blackbox testing

1108.36

information in information out but

1110.6

there's stuff that happens there that

1112.6

you have to break down so that you can

1115.12

actually write the code or fix the code

1117.76

or even understand what the code is

1119.32

doing behind the scenes so this kind of

1122.36

gets into that whole white box gray box

1124.88

testing development you have to look at

1127.52

things to gather this

1130.039

information and as you're doing this

1132.52

you're going to find that there are what

1136.76

are called happy path or for simple user

1140.039

stories for the basic implementations of

1143.6

the

1144.44

system most companies and most users

1149.159

have that but what they don't have is

1153.039

all the other things that are required

1156.48

to keep that happy path working like for

1159.48

instance with the

1161.08

login can the user name is it an email

1165.32

can is uh is it just numeric characters

1169.64

is it alpha numeric does it have to have

1171.28

special characters you know what

1173.559

conditions are required just for the

1178.24

username password same thing now if I'm

1181.96

logging into the system okay sure I can

1184.799

have a user

1187.36

account but what happens if I you know

1191.159

what happens if I try to log in three

1193.2

times does my account get

1195.2

locked does my account expire if I log

1199

in am I logged in Forever do I never

1201.72

have to log in again so just in that

1204.679

scenario alone I've already thrown out

1206.88

half a dozen scenarios that you need to

1209.64

think about and account for just for a

1212.919

login page for from the user's

1215.159

perspective hey I log into this

1216.84

application it lets me in if I put in

1218.799

the right password it doesn't let me in

1220.88

if I have the an incorrect user name or

1223.6

password from the end user that's what

1226.4

they see but from a developer we have to

1229.28

think about all those nitty-gritty

1231.08

details to make sure that the

1232.72

application

1233.88

works now I've kind of really dragged

1236.4

down on that path

1238.24

but it's one of those where attention to

1242.6

detail from a developer mindset it's not

1246.799

just about hey I have this feature no I

1249.919

need to understand how this feature

1251.76

works and works with the system as a

1254.679

whole not just that piece because it

1257.64

could work for me my unit test could

1259.52

pass but when you get to the end user I

1262.44

click here to get to this page whoops I

1264.24

just broke that that doesn't work but my

1265.88

page works but I've have now broken

1268.12

other implementations or other features

1270.559

within the system so you have to be

1272.64

careful with what you do but you also um

1276.24

have to think about these things from

1278.2

the end user's perspective while

1280.24

thinking about it as a developer so that

1283.279

way even if you don't do the

1286.039

requirements you have an idea

1289.4

to start building the software and if

1292.88

you do it from a test driven perspective

1294.679

you're writing all these tests first all

1297.039

these scenarios first and then you're

1298.919

building the code that the test will

1301.96

test so essentially if you're doing a

1304.08

login okay I have a username I have a

1306.12

password variable I pass it into this uh

1308.96

method I should get logged in or I

1311.279

should be rejected because it's not a

1314.12

valid password and then you essentially

1316.08

write those methods and then change your

1317.88

test to call that method from the

1319.24

hardcoded pass and test your

1322.2

code so that's kind of my box on this

1326.039

part of it uh Rob where some more are

1328.279

your

1329.4

thoughts I want to go I do want to say

1332.36

that when we talk about setting

1334.08

expectations and the and the whole like

1336.799

I don't know how many times I've seen

1338.08

stuff where it's like it's really a

1339.4

simple project you just have to take

1340.84

this thing and move it from point A to

1342.72

pointb I think if you struggle with

1346.88

getting your customer to understand the

1348.84

complexities involved I think the login

1352.559

is one of the most perfect examples to

1355.64

work with because it is

1358.2

literally dozens if not more of

1362.2

decisions that are made with a login and

1365.2

it is it's stuff like Michael talked

1366.799

about it's like what's your it's and

1368.919

some people think oh well it's how long

1370.72

how complicated is your password and

1372.76

then what is your you know is your login

1375

a name or is it an email address well

1377.48

this is where you go a lot deeper is

1379.72

there's things like okay what characters

1382.279

aren't allowed what characters aren't

1384.4

allowed for the name is are you going to

1387.4

have a display name that this user is

1389.08

going to be seeing elsewhere in the

1390.96

system is that their login and if so

1393.72

that's a security risk because now

1395.36

somebody at least knows what their login

1397.2

is and so you don't necessarily want

1399.279

that which is the same thing if it's

1400.64

their email address then somebody could

1402.559

guess their email address and use that

1403.88

as a login do you want to do that what

1406

happens if they forget their password

1407.919

what happens if you want to add maybe

1410.96

initially do or maybe later you want to

1413.12

add some multiactor authentication how

1415.64

does that work do you have the ability

1417.96

which is a lot of systems now have are

1419.559

you going to need the ability that is

1421

the for admins to log in as a user which

1424.08

goes a little bit to what Michael said

1425.6

where you now get to see the system as

1428.36

that user and not as you as a super user

1430.96

maybe see a much different system and it

1434.799

goes on and on it's like well do you log

1437.159

out what happens when you log out when

1438.799

you log in do you where do you go do you

1441.44

go to your homepage does your homepage

1443.12

change depending on what your role is

1446

and then it just there's so many things

1447.96

that can be involved there that alone

1450.679

people are usually like well we just

1451.76

need to log in and we need to log out

1454.12

okay let's go into explore that and by

1458.52

the time you've asked about the 10th

1459.96

question you say okay that's just the

1462.799

login we haven't gotten anywhere else

1466.6

that's why this is complicated

1468.96

that's why when we say we're trusting

1471.96

you we're trusting you with a lot if

1474.52

we're just going to say we trust you

1475.84

that your login system currently works

1477.72

fine we're trusting that you've answered

1479.84

all those questions and that they all

1481.84

make sense and this goes to a little bit

1484.88

to the unit testing which is Michael's

1486.72

idea is like okay let's say that same

1488.96

login and your login Works flawlessly

1491.32

but let's say that for example you don't

1494.279

store a display name or you store

1497.36

personal information for first and last

1498.919

name and it's a system where that

1500.159

shouldn't be displayed anywhere but

1502.32

everybody else somewhere down the line

1504.2

says well I just need a name so I'm just

1505.6

going to take first last name put it

1507

together and then that's that's how I

1508.399

address them well yeah those both work

1510.72

fine but when you put it into the system

1513.24

you're not following a story and I think

1515.799

that's probably where we're going to go

1517.039

next but not right now because we have

1519.52

gotten a little long on this one as we

1521.44

sometimes do and we are going to wrap

1524.2

this one up and go work on our

1525.679

requirements because that's what we do

1529.32

as always we can gather requirements

1531.44

from you by sending us emails at info

1533.919

developer.com you can check us out on

1535.76

developer nerd.com we've got a form

1537.72

there you can sign up you can leave us

1539.679

comments you can see tons and tons of

1541.48

com of content you can check us out at

1544.08

school. developer.com and see some of

1546.039

the like the really short less than an

1548.24

hour up to

1550

multi-day tutorials and and lessons and

1552.799

classes that we've got

1554.44

there subscribe wherever you subscribe

1557.279

to podcast and then three other places

1559.039

as well just cuz and you can get this uh

1562.039

we're going to drop we drop this twice a

1563.52

week out on the YouTube channel you get

1565.32

to see that twice a week if you're

1566.64

listening you get bonus material

1568.799

although you can I mean you can always

1570.2

color us out so you don't have to watch

1571.48

us but there's extra content as well out

1573.96

on the YouTube channel that's the

1575.32

developer or Channel out on YouTube you

1577.52

can go find us there plus pass

1579.72

Mastermind Mentor sessions and things

1581.52

like that as well so there's tons of

1583.76

content and now I'm going to take a deep

1585.919

breath and go grab a glass of water or

1588.08

something like that but for you go out

1590.2

there and have yourself a great day a

1592

great week and we will talk to you next

1595.72

time bonus

1598.52

material so it's funny as you were

1600.52

talking about the

1601.76

school uh site um because remember I've

1605.88

got that entire course out there on

1609.08

software requirement documentation and

1611.799

software test documentation so um that

1615.52

that's a good source and we got lots of

1617.08

content on the site about testing and

1619.76

writing uh documentation things of that

1622.44

nature one thing I would add to this

1626.48

particular conversation though

1629

is when you go into your conversations

1632.08

with your

1635.32

customer well we are giving them the

1637.799

power because they are essentially The

1640.24

Keeper of the keys they are The Keeper

1641.96

of the knowledge of what the system is

1645

doing or what they want it to do we have

1648.6

to make the assumption that one we know

1652.039

nothing we have assumptions but we know

1654.72

nothing about what they have or what

1657.24

they want unless we've been working on

1659.32

so if you're coming in fresh assume

1661.64

nothing assume everything's

1664.519

wrong

1666.32

two take anything someone gives you for

1670

a requirement and pick the hell out of

1672.72

it if there's anything that is a what if

1679.039

or an if then in the requirements and

1683.039

there is no distinction of what the then

1687.96

is it's not a

1690.76

requirement it needs to go back and be

1693.44

clearly defined because your

1695.88

requirements should be one task or

1699.519

essentially how the feature Works should

1702

be feature complete it should be if this

1704.919

then this if this then this there should

1707.159

not be if if I do this I might get this

1710.6

oh wait we might also get this or wait

1712.48

we might also get this if you get into

1714.919

the code or you get into the requirement

1716.799

and you read this and then you say well

1719.36

wait what about this what about this

1721

what about if there's any questions at

1722.88

that point you need to stop and redefine

1725.2

that

1726.12

requirement uh because if you start

1728.159

writing code to

1730.24

that you may throw it all away because

1732.44

it could be completely wrong so you have

1735.12

to be very careful about that for your

1737.32

time because if you do that the customer

1740.44

may not pay you again to fix it you may

1743.76

have to eat that cost because you made

1746.559

the Assumption went off and did that

1749.519

when the customer really wanted

1750.84

something else done so you have to be

1752.36

careful as you go out and start building

1755.159

these

1756.039

applications Rob one followup to that

1758.88

and then we'll we'll wrap this one up is

1762.08

I do want to talk a little about along

1764.159

with setting expectations and

1765.96

requirements in that is

1768.96

making sure that there is along with all

1771.76

this

1772.919

what the easiest thing to say is what

1775.559

done is is there's a lot of times that

1778.559

we get to a point we do this with our

1781.48

personal applications I know customers

1783.279

do this all the time as you get towards

1784.76

the end and then it's like oh can you do

1787.039

this can you do that can you make this

1788.44

little change can you do that little

1789.399

change hey can we just do this can we do

1790.76

that and it may be and it is

1793.64

frustratingly simple sometimes it's like

1795.84

yes I can change those three letters and

1798.32

change that label or yes I can change a

1800.64

number and it's going to change the

1801.72

color of that button or whatever it

1804.6

happens to be a lot of times they very

1806.32

simple changes the moral of this story

1808.84

is there's no such thing as a simple

1810.72

change if you touch the code there is

1813.88

potential particularly as you get later

1815.919

into a project there is potential that

1818.44

you are going to have a typo that you're

1820.76

going to have something that didn't go

1821.919

right that you're going to actually you

1823.24

know that these days you got to watch

1825.08

out AI stuff will insert code on on you

1828.559

I don't know how many times that has

1829.72

frustrated me I've had to go turn things

1831.32

off because you go and it complete

1832.72

autocomplete something incorrectly for

1834.6

you and if you're not paying attention

1836.159

you're like wait I would have never

1838.36

typed that what was what kind of idiot

1840.679

oh the AI idiot that's the one

1844.44

so don't ever assume it like everything

1848.08

this gets into like the whole idea of

1849.6

like this is why with scrum you use

1851.2

points instead of hours the minimum the

1854.559

minimum thing you

1856.039

do assume it's going to take half hour

1858.36

an hour something like that maybe more

1859.799

than that use that to focus them on what

1863.84

gets us to done and the extra stuff we

1868

will get there we can add that later

1869.559

we'll do that in another

1871.2

release what we're going to do in

1873.039

another release is we'll step into

1874.48

another topic but for now I think we've

1877.12

gone long enough and we will get on our

1879.399

way as always check us out at all of the

1881.76

race places leave us some comments shoot

1883.639

us an email at info develop or.com and

1886.6

we will check you guys out

1888.48

next time around

1890.99

[Music]