πŸ“Ί Develpreneur YouTube Episode

Video + transcript

Building Better Foundations: The Power of Strong Requirements

2025-10-30 β€’Youtube

Detailed Notes

In this episode of Building Better Developers, hosts Rob Broadhead and Michael Meloche revisit one of the most important topics in software development β€” strong requirements.

Learn why clear, detailed, and testable requirements form the foundation of every great software project. Rob and Michael share practical techniques β€” like asking the right questions, clarifying assumptions, and planning for scalability β€” to help developers and teams avoid costly mistakes and build systems that last.

Whether you’re a new developer or an experienced engineer, this episode will help you think before you code and build on a solid foundation.

πŸ‘‰ Listen to the full episode:https://develpreneur.com/building-better-foundations-strong-requirements/

*Follow-us on:*

* [email protected] * https://develpreneur.com/ * https://www.youtube.com/@develpreneur * https://facebook.com/Develpreneur * https://x.com/develpreneur * https://www.linkedin.com/company/develpreneur/

#BuildingBetterDevelopers #StrongRequirements #SoftwareFoundations #RequirementsGathering #Develpreneur

Transcript Text
like all the buttons. because I need to
turn recording on. Um, yeah, I think we
should do requirements. I think we've
done this before, but I think
requirements gathering and going back
into that is always it's one of the
things you just can't talk about it too
often. I think there and there, who
knows, we may get some extra little uh
fun things that come out of this
discussion uh particularly from a
foundational point of view because I
think uh I want to talk a little bit
about how you grow your ability to
gather requirements. uh how you start
and it comes actually from a
conversation I had um in another
interview just recently um about sort of
like how do you how do you get into this
path in the first place. So three two
uno well hello and welcome back. We are
continuing our season of building better
developers the developer podcast. This
season is actually titled building
better foundations. uh we have mixed in
some interviews but this episode is not
going to be an interview. We're going to
talk about the foundations of gathering
requirements. It is that is like the
mother of all foundations for software
projects. And so hang out because we're
going to dive right into that in a
little bit. But first I'm going to
introduce myself. My name is Rob
Broadhead, one of the founders of Del
Developer, also the founder of RB
Consulting where we help you do
technology and your business better.
Think about it like a a doctor coming in
or a financial analysis or any of those
kinds of things. Anybody that would be
like say a financial or medical health
care consultant, uh we are technology
consultant. We're going to sit down with
you. We're going to talk about how you
feeling, how you doing, what are you
looking for? Uh how's your days going
right now? And then what are your days
looking like in the future? Because with
that, we're going to get a the ability
to understand who you are, your company,
uh where you're at, where you want to
go. So we can craft a recipe for success
for you. We're going to call that a road
map. We will give you a technology
roadmap that says, "Hey, based on where
you are and where you want to be, these
are the things you should do." Uh it's
going to be technology agnostic. We're
not coming in there and selling you
Oracle products or Microsoft products or
Netswuite or blah blah blah blah. We're
not going to sell you that. We're going
to talk to you about what matters for
you, what matters for your budget, what
matters for your staff, what matters for
your line of business, and we're going
to help you with a custombuilt roadmap
that is just for you. You can check us
out at rb-sns.com.
If you go to rb-sns.com.php,
you can dive in right away and you can
have a technology assessment roadmap
within a few days. Uh there's also a lot
of other products and services we have
there. Not to mention you can reach out
if you have questions. Uh there's a
contact. I would love to have a
conversation for with you about that.
Good things and bad things.
Um good thing is it is getting into the
the later months of the year starting to
cool down a little bit, things like
that, which makes like these are some of
my favorite nights. I love it when you
have like a moderately warm day, you get
a cooler night. It's perfect for like,
you know, kicking back and having a
little adult beverage and stuff like
that. Uh the bad thing is that it gets
dark early and me being I'm now being
older and older than I am. By the time
it's dark, part of my body is like,
"Okay, it's bedtime." And then also
getting up in the morning sometimes is a
little bit off of my normal schedule,
which makes it a tad of a challenge. Uh
but I was able to get up today and get
going just like my co-host is going to
go ahead and introduce himself.
>> Hey everyone, my name is Mike Malashsh.
I'm one of the co-founders of building
better developers, also known as
developer. I'm also the founder of
Envision QA where we help businesses
take back control of their system. We
It's e we will either build you a custom
software or help you find something over
the counter that meets your needs. Our
focus is simple, great service, smart
solutions, and rockolid quality. We
build tools that replace frustrating
systems, streamline your operations, and
are fully tested to work right the first
time. At Envision QA, we combine
development and quality assurance to
give you software you can trust and
support you can count on. Check us out
at envisionqa.com.
Good things and bad things. So, similar
to Rob, it's fall. I'm really enjoying
this season. Halloween's right around
the corner. I'm really looking forward
to it. It's one of my favorite holidays.
Uh downside, it just means that we're
slowly moving into winter and it's going
to be getting colder and I'm not looking
forward to snow.
Sometimes I have to hit my mute button a
little faster. So, we're going to talk
about requirements gathering. Now, we
have talked about in the prior couple
episodes where we were talking and not
doing interviews, um, talk about low
code and no code and we talked about AI
and we talked often about uh,
requirements. We got into that quite a
bit and user stories and some of those
things. I want to focus on the
foundational skills, the requirements
gathering and how to do better. Um,
particularly when you're starting out
and this is I think the biggest
challenge is that when you come out of
college school, whatever it is, you
know, even a boot camp, what what you've
originally come out of, how you learned
your skills was based on being given
requirements.
You had a a homework assignment or a lab
and it said, "Well, this is what you're
supposed to do." You didn't you probably
unless you had a software engineering
class or something like that, you
probably did not have a situation where
the you know the there was an open-ended
solution, an open-ended problem where
you would have to actually go, you know,
find a problem, figure out the
requirements, and then go build the
solution. It was always spoonfed to you.
And even as junior developers, we were
often given that. It's like, here's your
task, go do it. here's what you need to
do, go do it. Now, that means that we
usually don't get into the point where
we're part of a requirements gathering
effort until we actually, you know, have
moved along a little bit and now we have
a habits that have nothing to do with
requiring GA uh gathering requirements
and we're being asked to do something
that technically probably we have never
done or not done enough of it. So I want
to talk about the foundational skills of
gathering requirements all the time is
making that part of your process, making
it part of your building software. So
even if you're brand new, if you're into
you've got a task assigned to you and it
says, I need you to build a function
that you know adds these two numbers and
kicks out the result.
Get in the habit of asking questions
about it. ask find some like take an
extra step to get either to clarify the
requirements or to get more
requirements. So for things like this
like let's say you are given a task it
just says I'm going to be we're going to
give you two numbers and you need to put
the you you know add them and kick out
the sum the summation. Cool. Ask them
well are these numbers always going to
be you know are they going to be
individual? Uh should we ever worry
about maybe we're going to send them as
a commaepparated values of one and two
or is it always going to be two numbers
or do these numbers need to be positive?
Could it be negative or are they always
positive? Are they integers or are they
maybe decimals? Uh, does the output need
to be a number or should it be a string?
Should there be some sort of a user
friendly message? Is there some
additional formatting we need? I mean,
there's I know it feels like because I
just did this, it feels like belaboring
a point, but I think you can pick a
couple of key questions like that and
ask those to and maybe you don't even
have to ask them. Honestly, if you just
go through the exercise of what are all
the things I need to know, then now what
you're doing is you're gathering
requirements and you may be able to
answer all of those questions based on
what was provided. So, you don't have to
gather more. But the whole idea of
saying, okay, well, what do I think
might be the requirements or what are
some clarifications that I need for
this? doing that process and either
going back to the original the source
material you know maybe it's the task
that you were assigned or whoever
assigned you that task or whoever owns
it so that you can ask those questions
uh will help you build those skills.
It's really about analyzing the problem
and then saying okay where are there
gaps where are there holes where are
there things that are uh that are cloudy
and they need to be clarified. So those
are my thoughts at the start le and your
thoughts u requirement foundations.
>> So requirement foundations to me so I
liked how you kind of laid it out but to
me when I think about requirements like
you were talking about how you're
getting an assignment in school. I look
at cooking cooking is a great example
for requirements gathering. You can't
cook something unless you have a recipe
to follow. So, you go to a cookbook, you
go to your, you know, post-it cards from
your grandparents. Usually, you have
some step-by-step instructions on how to
do something right. If you deviate from
those requirements, you do not get the
desired result. You get something that
is different than the expected outcome
from what you were expecting. It's like
if you want chocolate chip cookies,
don't add raisins. You're not going to
get chocolate chip cookies. you deviated
from the requirements.
And when you go to getting requirements
or trying to define the requirements for
a project you're working on or just
trying to understand what someone wants
for software, it's getting down to those
nitty-gritty details of the stepbystep
instructions you need to kind of build
the application. The problem a lot of
times with requirements gathering is
sometimes the people you're talking to
don't know everything that they need for
the system. They may have an idea of
what they want and as they're explaining
it to you, you're getting a small slice
of the picture. You're getting a very
narrow view of the requirements.
And if you're just starting out, you may
take that at face value and you go build
the application. And what you discover
by the end of the application, it's
like, oh, this little thinly slice is
not what they need. They need something
bigger than this or they need something
different than this. Uh, you gave a good
example of, you know, like an EMR or a
HR application for someone with no
employees.
When you go to talk to someone about
building software and you want to gather
the requirements,
ask them multiple questions about what
it is they want. Don't just assume that
they know what it is that they need or
what the steps are.
Sometimes they do, sometimes they don't.
And many times um we have been burned
and we burn many hours trying to build
an application because the requirements
are constantly changing because we never
quite nailed down what they were or what
we were told at the beginning is not
really the application that we're
building. So you have to be careful uh
and kind of roll that back at the
beginning and have checkpoints.
Not only start with the requirements
gathering what it is, what's the why and
why do we want to build it and how do we
want to build it, but keep checking in.
Okay, here's where we're going, here's
what we're building. You know, uh in
previous episode we talked about
building wireframes or building a
workable demo. That's one way to do it.
But the requirements is before all that.
You need to really understand the why.
And as you're going through those
requirements, if you are reading them
and you have an if then or a line item
on your requirement, your requirements
aren't defined. You have multiple paths.
You need to go back and figure out what
is the actual requirement. Requirement
should basically be true or false. If I
do this, it should be this or this
requirement is this. It should not be
open to interpretation. It should not
be, oh, um, the user wants them to enter
in some information. Well, is this
information alpha numeric? Is it
numeric? Is it password restrict? There
are many questions that could come up
from just that one open statement that
you don't want. The requirement should
be plain and simple. We need an input
box that takes a password that is hash
code that meets these requirements. If
it's not plain and simple like that, you
are missing something and you're going
to be running into problems.
>> I think yeah, I like the the idea of
trust but verify. uh particularly when
someone comes to me with a uh a I want
X. This is the solution I want. Um I
think the best way to start with that is
uh and granted we're getting a little
higher level with these, but it's it's
things like okay well what does that
look like to you? Tell me what like does
say I want a CRM. Well, what does a CRM
mean to you? What does that include?
Now, you can offer suggestions if they
if they need that, but a lot of times
it's like, well, what does that mean?
What does that include? What features
are involved in that? And sometimes you
can throw stuff out there like, well,
you know, a lot of people that have this
kind of system, this is a feature that
they use. And they'll find and you'll
hear those like, I don't need that.
Like, okay, well, cool. Then we won't we
won't build that. where so yeah there's
things that are assumed
and it's within any industry there is a
language and there are certain things
that their words mean different things
as specific things depending on where
you're at what your vertical is and
things like that those are the things
that you need to learn those are things
that you need to clarify because just as
somebody says they need you know this
kind of a system they need like I don't
like people say well we need full stack
developers okay what Does that mean why
why do you need full stack developers?
What do you need? They're like, well,
that's what I heard. And they'll say,
I've I have seen AI generated stuff all
over the place that says that we need,
you know, requirement for like a
developer position requirement must know
and it will say Java, PHP, uh, Python,
Ruby, Deli,
ADA, I don't know. It'll give you like
all these things. It's like you will see
requirements that are generated that's
like where did you get that? I like oh
well AI told me. It's like those are
contradictory. You need one. You don't
need all of those. And that so often is
the case that we run into with
requirements is that we have these
things where people say I want this and
this is how it needs to work. And what
they're doing is they're getting ahead
of the requirements. They're trying to
implement it. And a lot of times it's
like, wait, let's back this up because I
don't think you really need that. I
think you need this thing and that
actually solves that problem and solves
it better than the approach you're
taking. But to do that, before you can
have that conversation, you need to back
them up and say, why do you need that?
Explain to me why you need that specific
thing. Why do you need that feature? Why
do you need that function? What purpose
does it serve? What is the why? And then
we can figure out whether that makes
sense or not. It's like how are we going
to do that? We can put the requirements
into it and we can dig a little bit
deeper. Requirements gathering is always
about saying and then what? Okay, so you
want that. Great. And then how does that
look? And then what? And then what
happens after that? And then what is the
expected outcome? And then how do people
get notified?
And it's it really is trying to reset
yourself to the mind of a two-year-old
so that almost every question that is
asked, you're looking for questions
around it because you want to learn more
about that answer. That is how you're
going to get better requirements.
Thoughts on that?
Yeah, it I like the and then what. Um
the other thing I'll throw out is as
you're talking to your customer about
what they want, expand on what they
need. uh stick to what they want and
within that area. But be careful that
you're not just getting the nice to have
or the happy path because sometimes
there are edge cases and things that are
in their head that are automatic for
what they do and they don't think about
them and they're going to be missed from
the requirements. So you could get the
core like this is what I need, but
you're going to find out very quickly
that there are other components or other
pieces that need to be built around this
that could actually change the core
requirements. But unless you can figure
out how to kind of get that pull that
information out of them, you're going to
miss things. So as you're doing that and
then you know why are you doing this and
and why and and the next thing make sure
you also say okay you're doing this but
watch for those things. It's like oh
well what else can they do there and try
to expand their thoughts on what it is
that they're doing if this is an
existing system. Now, if it's something
new that it, you know, that they're
trying to build from their mind or, you
know, maybe they've written it down on a
notepad,
still get to the core requirements, but
make sure that you cover enough of the
features that you need to build the
application because
one of the things you run into a lot is
that the customer, the person wanting
the application built does not always
think in tech
and they may not be technical at all. So
they may not know the right questions to
ask or the right information to convey
and that's our job. We have to ask the
right questions and we have to pull that
information out from our customers. And
that's a lot of it is with your your
general requirements stuff when you're
starting out there's going to be you're
going to have this goes back to like you
know building your foundations. You're
going to be assigned certain tasks. um
you're going to have, you know, they may
say it may be big tasks, it may be small
tasks, but usually almost always
actually, I guess, when you're starting
out, those are going to be part of a
bigger thing. They fit into a bigger
solution. You're not building an entire
application. You're building something
that is going to fit in to an existing
application. You're probably working
with other developers or code that's
been, you know, created elsewhere.
And those requirements questions are
great to ask. then is like okay we have
this piece so I'm building this little
feature this function
is there already maybe like an
administrative because it's going to
take some administration is there an
administrative piece for this is there a
report that is going to utilize this uh
is there an a navigation uh menu item or
a button or something like that that's
going to trigger this u is this need to
be run as a micros service or is this
something that's going to be run without
any kind of UI is there if there's a
user interface
what are what sort of interfaces out
there? Those questions may not
may not be critical to you getting that
task done, but they may be very
informative. It may be things where
you're going to say, "All right, this is
going to be displayed on a phone or some
very small device. So, I can't have real
big lengthy messages are going to be
kicking out or, you know, the text
response that I get back. I've got to
limit that." Or maybe I've got to be
able to have a way to um you know have a
have two versions of it, a long and a
short version of it or things like that.
Um it may be things like what kind of a
system are we building this in? These
are getting used to the questions that
are parts of systems. Things like is
there logging? What sort of exception
handling is there? What sort of
messaging and notifying notification
system is there? Is there some sort of
authentication thing that I have to
verify or take a token or something like
that to make sure that there's an
authorized user of this feature or this
function or this data? Those questions
are the questions that a lot of times
are going to help you in requirements
gathering because people that are not
used to building software and even
sometimes people that are these
requirements are not going to come out
right away. And so you need to ask those
fundamental things is talk is learn what
is fundamental potentially in any
application and some of them you may not
need. They may say, you know, we don't
do unit tests. We don't do logging. We
don't do exception handling. We don't
have authenticated users or anything.
There's we don't have security. There's
all kinds of things that may or may need
not be a part of it. And there may be uh
variations of how much of that is a part
of the solution. All of that is what
your requirements are. And if you start
doing that sooner rather than later and
asking those kinds of questions, you're
going to get in the habit of sort of
having your own little mental checklist
of like these are all the like things
that are these are the properties of
software itself. So I'm going to ask
questions about that and then these are
properties of of features and then
you're going to start being able to ask
questions around those. Now, they may,
you know, they may be general in a
sense, so you can customize them to
every customer, but they're going to
give you that that to-do list of I need
to go through all these things if I'm
going to properly gather requirements.
Thoughts?
>> Yeah, I think you hit most of it,
most of the high points on that. One of
the other things as you're talking about
requirements a lot of people do not
think about especially early on in
projects is scalability. So unless
you're asking the right questions for
the requirements, you could pigeon your
pigeon hole yourself in such a way that
the requirements build you a system that
cannot scale to the needs of your
customer. And that is a death note. So
make sure that as you're asking the
requirements, you are thinking about the
type of systems and hardware that it
does need to go on and that you are
going to meet the needs for the customer
not just for today but for down the road
to make sure that you can the
application can grow as the company
grows and they don't have to throw it
out and start over.
>> That is that is an advertisement for us
basically. That's what it's why you have
technology road maps and things like
that is you need to look at not only
where you are today but where you going
to be in the future because otherwise
your requirements are they're not really
I guess they're correct they are you
know for today but they're really not as
useful as they could be. So when you're
gathering requirements you definitely
want to look at uh be you know looking
forward you don't want to paint yourself
into a corner. Uh, and a lot of times
that is that's a lot of times where I
have that conversation with customers
where I say, "Look, I'm asking this not
because I need I want to build this for
you today, but I need to know so that we
can have the hooks in place or whatever
we need to do so that when you grow and
if you do want to do this in the future,
then we're not having to rewrite, you
know, strip everything out and rewrite
it, we're going to be able to very
easily access it, enhance it, or
whatever needs to be done to give you
that feature." Now, that being said, I
think it's time for us to wrap this one
up. I think we've we've covered our
requirements. Uh, next episode, may or
may not be an interview. We'll see how
it goes. We definitely have some in the
works. Uh, we're going to continue doing
some of those as part of our uh talking
about some of these foundations and, uh,
just some of the things that are out
there that are, uh, some real world
examples on well, as well as the kinds
of things that we share on a regular
basis. As always, love to hear from you.
Shoot us an email at [email protected].
You can leave us feedback on the
developer.com site. Uh we have contact
forms. You can leave feedback on any of
the articles. Uh leave review on
anywhere that you are listening to
podcasts. You can check us out the
developer channel on Yahoo, not Yahoo,
YouTube. A very different why. Uh check
them check us out there and leave us uh
comments and feedback. We would love to
hear that, you know, pro positive,
negative, all of the above as we just
want to take that and build a better
podcast for you as we move forward. As
always, I appreciate you so much. Thank
you for your time. Have yourself a great
day, a great week, and we will talk to
you next time.
Bonus material. Uh because we didn't
have it much for the last episode, so I
guess we should make up for it this
time, right?
Yeah. So last episode we talked about
vibe coding. You know AI especially
today if if you don't know how to do
requirements gathering AI is a good
example of trial and error. Uh, if you
want to kind of play around with like
simulate a customer, open up a chat and
say, "Hey, um,
I want you to emulate a business that is
selling cookies and they need an
application. So, I'm going to ask you
questions about your business to build
an application." And just play around
with AI. Use it to train yourself on how
to ask questions. If AI is giving you
crap, you're not asking the right
questions. Um, or you're using the wrong
AI tool. But if you're starting out,
this is a good way to kind of train
yourself and learn how to use AI at the
same time.
>> That is uh an awesome little bit of
bonus material. I go back to from
requirements gathering. Um, I go back to
like the my tried andrue trusted one of
like build yourself an application. Find
a little side hustle project. Find
something some problem that you need to
solve and this is scratch your own itch
and go define, you know, say, "Oh, I
need to build an application to do X."
And ideally, at the very least, just
document it in some way. Just even if
it's just like a little checklist or
something like these are the
requirements, these are the things I
need to do. and make sure it's something
that you can uh whether it's a you know
a physical notebook if it's if it's
something digital make sure that you can
like track the history and then as you
add features because you're going to be
in there you're going to be coding most
likely and you're going to add features
put those back on the requirements
because you're like oh I needed this I
forgot it oh I needed this I forgot it
so that you instead of
I'm going to do this and then you just
go build it and you're constantly
adjusting the requirements in your head
as you're adding the features you're
actually tracking what were the what
should the requirements have been had I
completely built out all the
requirements for this when I started
because I think that is a great way for
you to very quickly realize that there's
going to be a lot of questions around
that and to give yourself a good list of
like you did it and so now if you go
back and look at that list it's going to
help you it's going to stir the right
questions in your mind when you're
talking to a customer when you're
looking at their requirements and you're
saying oh yeah I did this thing and I
forgot about this. So, I'm going to ask
them about it. Do they need it? How do
they want that to look? You know, things
of that nature is anytime it's I granted
I'm one of those people. I learn best by
doing and so this is my, you know, my
happy place as far as learning is
concerned. Go out and do it. And like I
said, if you are the customer and you're
building out the requirements, it's
really good because you know the only
reason that the requirements didn't come
out is you didn't ask the right question
at the start. It's not because you know
and yeah the and you're going to realize
too recognize and relate to empathize
with the customers when you realize that
yeah they're not going to know
everything. So you're not going to be
frustrated when
there's something that was missed or the
answer doesn't come back. You know you
don't get complete enough answers and
you go back and you you just do this.
The more you do it the better it's going
to be. Uh like everything else the more
you practice the better you get. Uh,
like I said, you can do little projects
all over the place and that will help
you quite a bit. That wraps this one up.
We have things to do, places to go, all
that code, divide, all that kind of good
stuff. Appreciate the time that you guys
have spent with us. We are not even
close to done with this season. We've
got plenty ahead. Lot more foundations,
lot more interviews, uh, lots to learn
for us and for you. So, as always, leave
us fed feedback and all the ways that
you can do feedback. Uh, we'd happy to
hear from you and to see where you guys
would like to see us go next. That being
said, it is time for us to wrap this one
up. So, go out there and have yourself a
good one and we'll talk to you next
time.
Transcript Segments
28.96

like all the buttons. because I need to

30.72

turn recording on. Um, yeah, I think we

34

should do requirements. I think we've

36.239

done this before, but I think

37.52

requirements gathering and going back

39.04

into that is always it's one of the

41.2

things you just can't talk about it too

42.64

often. I think there and there, who

44.079

knows, we may get some extra little uh

46.48

fun things that come out of this

47.84

discussion uh particularly from a

49.76

foundational point of view because I

51.12

think uh I want to talk a little bit

53.12

about how you grow your ability to

56.32

gather requirements. uh how you start

58.32

and it comes actually from a

59.359

conversation I had um in another

61.84

interview just recently um about sort of

65.36

like how do you how do you get into this

68

path in the first place. So three two

72.88

uno well hello and welcome back. We are

77.28

continuing our season of building better

79.119

developers the developer podcast. This

81.119

season is actually titled building

82.88

better foundations. uh we have mixed in

85.2

some interviews but this episode is not

87.52

going to be an interview. We're going to

89.04

talk about the foundations of gathering

92.72

requirements. It is that is like the

94.799

mother of all foundations for software

96.88

projects. And so hang out because we're

99.759

going to dive right into that in a

100.88

little bit. But first I'm going to

101.759

introduce myself. My name is Rob

103.119

Broadhead, one of the founders of Del

105.119

Developer, also the founder of RB

107.36

Consulting where we help you do

110.079

technology and your business better.

112.56

Think about it like a a doctor coming in

115.04

or a financial analysis or any of those

117.36

kinds of things. Anybody that would be

118.719

like say a financial or medical health

120.96

care consultant, uh we are technology

123.6

consultant. We're going to sit down with

124.719

you. We're going to talk about how you

126.079

feeling, how you doing, what are you

127.84

looking for? Uh how's your days going

130.16

right now? And then what are your days

131.599

looking like in the future? Because with

133.84

that, we're going to get a the ability

136.72

to understand who you are, your company,

138.959

uh where you're at, where you want to

140.319

go. So we can craft a recipe for success

143.92

for you. We're going to call that a road

145.52

map. We will give you a technology

147.12

roadmap that says, "Hey, based on where

148.8

you are and where you want to be, these

150.4

are the things you should do." Uh it's

152.16

going to be technology agnostic. We're

153.599

not coming in there and selling you

154.64

Oracle products or Microsoft products or

156.64

Netswuite or blah blah blah blah. We're

158.72

not going to sell you that. We're going

160.239

to talk to you about what matters for

162.319

you, what matters for your budget, what

164.319

matters for your staff, what matters for

166.319

your line of business, and we're going

168

to help you with a custombuilt roadmap

171.519

that is just for you. You can check us

173.68

out at rb-sns.com.

175.68

If you go to rb-sns.com.php,

179.519

you can dive in right away and you can

181.28

have a technology assessment roadmap

182.8

within a few days. Uh there's also a lot

185.12

of other products and services we have

186.72

there. Not to mention you can reach out

188.72

if you have questions. Uh there's a

190.48

contact. I would love to have a

191.76

conversation for with you about that.

194.56

Good things and bad things.

197.68

Um good thing is it is getting into the

201.599

the later months of the year starting to

204.239

cool down a little bit, things like

205.84

that, which makes like these are some of

207.2

my favorite nights. I love it when you

208.48

have like a moderately warm day, you get

210.159

a cooler night. It's perfect for like,

212.319

you know, kicking back and having a

213.84

little adult beverage and stuff like

215.28

that. Uh the bad thing is that it gets

218.159

dark early and me being I'm now being

220.72

older and older than I am. By the time

222.64

it's dark, part of my body is like,

224.319

"Okay, it's bedtime." And then also

227.36

getting up in the morning sometimes is a

229.36

little bit off of my normal schedule,

231.12

which makes it a tad of a challenge. Uh

234.08

but I was able to get up today and get

236.319

going just like my co-host is going to

238.4

go ahead and introduce himself.

241.12

>> Hey everyone, my name is Mike Malashsh.

242.64

I'm one of the co-founders of building

244

better developers, also known as

245.519

developer. I'm also the founder of

247.28

Envision QA where we help businesses

249.439

take back control of their system. We

252.08

It's e we will either build you a custom

254.08

software or help you find something over

256.079

the counter that meets your needs. Our

258.479

focus is simple, great service, smart

260.639

solutions, and rockolid quality. We

263.04

build tools that replace frustrating

264.88

systems, streamline your operations, and

267.12

are fully tested to work right the first

269.6

time. At Envision QA, we combine

271.6

development and quality assurance to

272.96

give you software you can trust and

274.8

support you can count on. Check us out

276.639

at envisionqa.com.

278.72

Good things and bad things. So, similar

280.8

to Rob, it's fall. I'm really enjoying

283.6

this season. Halloween's right around

285.28

the corner. I'm really looking forward

287.199

to it. It's one of my favorite holidays.

289.04

Uh downside, it just means that we're

291.04

slowly moving into winter and it's going

292.8

to be getting colder and I'm not looking

294.88

forward to snow.

299.12

Sometimes I have to hit my mute button a

301.6

little faster. So, we're going to talk

304.16

about requirements gathering. Now, we

306.479

have talked about in the prior couple

308.16

episodes where we were talking and not

309.84

doing interviews, um, talk about low

312.8

code and no code and we talked about AI

314.8

and we talked often about uh,

317.759

requirements. We got into that quite a

319.759

bit and user stories and some of those

321.68

things. I want to focus on the

324.32

foundational skills, the requirements

325.84

gathering and how to do better. Um,

329.36

particularly when you're starting out

331.6

and this is I think the biggest

333.28

challenge is that when you come out of

335.759

college school, whatever it is, you

337.6

know, even a boot camp, what what you've

339.759

originally come out of, how you learned

342.16

your skills was based on being given

345.68

requirements.

347.6

You had a a homework assignment or a lab

349.68

and it said, "Well, this is what you're

350.96

supposed to do." You didn't you probably

354.32

unless you had a software engineering

356.56

class or something like that, you

358.479

probably did not have a situation where

361.36

the you know the there was an open-ended

364.72

solution, an open-ended problem where

367.199

you would have to actually go, you know,

369.199

find a problem, figure out the

371.12

requirements, and then go build the

372.8

solution. It was always spoonfed to you.

375.28

And even as junior developers, we were

377.44

often given that. It's like, here's your

378.8

task, go do it. here's what you need to

380.639

do, go do it. Now, that means that we

384.24

usually don't get into the point where

386.88

we're part of a requirements gathering

389.44

effort until we actually, you know, have

392.72

moved along a little bit and now we have

394.4

a habits that have nothing to do with

396.319

requiring GA uh gathering requirements

398.639

and we're being asked to do something

400.24

that technically probably we have never

402.319

done or not done enough of it. So I want

405.44

to talk about the foundational skills of

407.919

gathering requirements all the time is

411.039

making that part of your process, making

414

it part of your building software. So

417.919

even if you're brand new, if you're into

420.72

you've got a task assigned to you and it

422.56

says, I need you to build a function

424.4

that you know adds these two numbers and

426.319

kicks out the result.

428.479

Get in the habit of asking questions

431.199

about it. ask find some like take an

434.16

extra step to get either to clarify the

437.36

requirements or to get more

438.88

requirements. So for things like this

440.72

like let's say you are given a task it

442.639

just says I'm going to be we're going to

444.8

give you two numbers and you need to put

446.88

the you you know add them and kick out

449.039

the sum the summation. Cool. Ask them

452.72

well are these numbers always going to

454.4

be you know are they going to be

456.08

individual? Uh should we ever worry

458.56

about maybe we're going to send them as

459.84

a commaepparated values of one and two

462.319

or is it always going to be two numbers

464.639

or do these numbers need to be positive?

467.28

Could it be negative or are they always

468.72

positive? Are they integers or are they

470.639

maybe decimals? Uh, does the output need

473.039

to be a number or should it be a string?

474.96

Should there be some sort of a user

476.319

friendly message? Is there some

477.84

additional formatting we need? I mean,

479.52

there's I know it feels like because I

482.08

just did this, it feels like belaboring

485.28

a point, but I think you can pick a

488

couple of key questions like that and

492.08

ask those to and maybe you don't even

494.319

have to ask them. Honestly, if you just

495.759

go through the exercise of what are all

497.44

the things I need to know, then now what

500.56

you're doing is you're gathering

501.44

requirements and you may be able to

502.72

answer all of those questions based on

505.039

what was provided. So, you don't have to

506.8

gather more. But the whole idea of

509.12

saying, okay, well, what do I think

510.56

might be the requirements or what are

512.159

some clarifications that I need for

514

this? doing that process and either

516.88

going back to the original the source

518.479

material you know maybe it's the task

520

that you were assigned or whoever

521.919

assigned you that task or whoever owns

523.68

it so that you can ask those questions

526

uh will help you build those skills.

528.959

It's really about analyzing the problem

533.36

and then saying okay where are there

535.12

gaps where are there holes where are

536.88

there things that are uh that are cloudy

540.72

and they need to be clarified. So those

543.2

are my thoughts at the start le and your

545.36

thoughts u requirement foundations.

549.519

>> So requirement foundations to me so I

551.92

liked how you kind of laid it out but to

553.36

me when I think about requirements like

554.959

you were talking about how you're

556.16

getting an assignment in school. I look

559.44

at cooking cooking is a great example

561.839

for requirements gathering. You can't

564.8

cook something unless you have a recipe

567.6

to follow. So, you go to a cookbook, you

570.959

go to your, you know, post-it cards from

573.279

your grandparents. Usually, you have

575.44

some step-by-step instructions on how to

578.16

do something right. If you deviate from

581.519

those requirements, you do not get the

584.399

desired result. You get something that

586.16

is different than the expected outcome

588.88

from what you were expecting. It's like

591.44

if you want chocolate chip cookies,

592.959

don't add raisins. You're not going to

594.32

get chocolate chip cookies. you deviated

596.399

from the requirements.

598.88

And when you go to getting requirements

601.68

or trying to define the requirements for

604.88

a project you're working on or just

606.8

trying to understand what someone wants

608.32

for software, it's getting down to those

610.8

nitty-gritty details of the stepbystep

614.56

instructions you need to kind of build

616.8

the application. The problem a lot of

620.079

times with requirements gathering is

623.279

sometimes the people you're talking to

625.76

don't know everything that they need for

628.56

the system. They may have an idea of

630.8

what they want and as they're explaining

633.36

it to you, you're getting a small slice

637.839

of the picture. You're getting a very

639.76

narrow view of the requirements.

642.64

And if you're just starting out, you may

645.6

take that at face value and you go build

647.68

the application. And what you discover

649.68

by the end of the application, it's

651.04

like, oh, this little thinly slice is

653.04

not what they need. They need something

654.56

bigger than this or they need something

656.399

different than this. Uh, you gave a good

658.64

example of, you know, like an EMR or a

661.6

HR application for someone with no

663.6

employees.

666.64

When you go to talk to someone about

668.959

building software and you want to gather

670.72

the requirements,

672.8

ask them multiple questions about what

675.36

it is they want. Don't just assume that

677.68

they know what it is that they need or

680.16

what the steps are.

682.959

Sometimes they do, sometimes they don't.

685.68

And many times um we have been burned

689.519

and we burn many hours trying to build

691.519

an application because the requirements

693.68

are constantly changing because we never

696

quite nailed down what they were or what

698.32

we were told at the beginning is not

700.48

really the application that we're

702

building. So you have to be careful uh

705.36

and kind of roll that back at the

707.36

beginning and have checkpoints.

710.32

Not only start with the requirements

712.16

gathering what it is, what's the why and

714.64

why do we want to build it and how do we

716.399

want to build it, but keep checking in.

719.76

Okay, here's where we're going, here's

721.68

what we're building. You know, uh in

724.24

previous episode we talked about

725.76

building wireframes or building a

727.68

workable demo. That's one way to do it.

730.399

But the requirements is before all that.

732.639

You need to really understand the why.

735.12

And as you're going through those

736.56

requirements, if you are reading them

738.88

and you have an if then or a line item

742.48

on your requirement, your requirements

744.16

aren't defined. You have multiple paths.

746.24

You need to go back and figure out what

748.639

is the actual requirement. Requirement

750.639

should basically be true or false. If I

752.8

do this, it should be this or this

755.12

requirement is this. It should not be

757.519

open to interpretation. It should not

759.279

be, oh, um, the user wants them to enter

762.959

in some information. Well, is this

765.04

information alpha numeric? Is it

766.48

numeric? Is it password restrict? There

768.72

are many questions that could come up

770.959

from just that one open statement that

773.279

you don't want. The requirement should

774.639

be plain and simple. We need an input

776.639

box that takes a password that is hash

779.04

code that meets these requirements. If

782.16

it's not plain and simple like that, you

784.24

are missing something and you're going

786

to be running into problems.

788.48

>> I think yeah, I like the the idea of

790.8

trust but verify. uh particularly when

793.519

someone comes to me with a uh a I want

797.92

X. This is the solution I want. Um I

801.519

think the best way to start with that is

803.76

uh and granted we're getting a little

805.12

higher level with these, but it's it's

806.639

things like okay well what does that

807.839

look like to you? Tell me what like does

810.32

say I want a CRM. Well, what does a CRM

813.36

mean to you? What does that include?

815.76

Now, you can offer suggestions if they

817.839

if they need that, but a lot of times

819.6

it's like, well, what does that mean?

822.32

What does that include? What features

824

are involved in that? And sometimes you

826.24

can throw stuff out there like, well,

827.6

you know, a lot of people that have this

830

kind of system, this is a feature that

832.079

they use. And they'll find and you'll

833.6

hear those like, I don't need that.

835.279

Like, okay, well, cool. Then we won't we

837.12

won't build that. where so yeah there's

839.76

things that are assumed

842.56

and it's within any industry there is a

845.68

language and there are certain things

847.199

that their words mean different things

849.36

as specific things depending on where

850.959

you're at what your vertical is and

852.72

things like that those are the things

854.399

that you need to learn those are things

855.68

that you need to clarify because just as

857.68

somebody says they need you know this

860.48

kind of a system they need like I don't

863.36

like people say well we need full stack

865.68

developers okay what Does that mean why

868.639

why do you need full stack developers?

870.32

What do you need? They're like, well,

871.6

that's what I heard. And they'll say,

872.72

I've I have seen AI generated stuff all

875.12

over the place that says that we need,

877.76

you know, requirement for like a

880.079

developer position requirement must know

884

and it will say Java, PHP, uh, Python,

889.76

Ruby, Deli,

892.24

ADA, I don't know. It'll give you like

893.519

all these things. It's like you will see

896.079

requirements that are generated that's

897.76

like where did you get that? I like oh

899.6

well AI told me. It's like those are

901.839

contradictory. You need one. You don't

903.68

need all of those. And that so often is

905.92

the case that we run into with

907.199

requirements is that we have these

908.88

things where people say I want this and

912.56

this is how it needs to work. And what

915.36

they're doing is they're getting ahead

916.88

of the requirements. They're trying to

919.36

implement it. And a lot of times it's

921.12

like, wait, let's back this up because I

923.44

don't think you really need that. I

925.279

think you need this thing and that

926.639

actually solves that problem and solves

928.24

it better than the approach you're

929.6

taking. But to do that, before you can

932.24

have that conversation, you need to back

934

them up and say, why do you need that?

936.8

Explain to me why you need that specific

939.6

thing. Why do you need that feature? Why

941.36

do you need that function? What purpose

943.199

does it serve? What is the why? And then

947.279

we can figure out whether that makes

949.519

sense or not. It's like how are we going

951.12

to do that? We can put the requirements

952.72

into it and we can dig a little bit

954.16

deeper. Requirements gathering is always

957.839

about saying and then what? Okay, so you

961.12

want that. Great. And then how does that

963.04

look? And then what? And then what

965.199

happens after that? And then what is the

967.6

expected outcome? And then how do people

970.24

get notified?

972.079

And it's it really is trying to reset

975.199

yourself to the mind of a two-year-old

976.8

so that almost every question that is

978.88

asked, you're looking for questions

981.12

around it because you want to learn more

983.759

about that answer. That is how you're

986.56

going to get better requirements.

987.839

Thoughts on that?

990.959

Yeah, it I like the and then what. Um

996

the other thing I'll throw out is as

998.88

you're talking to your customer about

1002.88

what they want, expand on what they

1006.88

need. uh stick to what they want and

1010.959

within that area. But be careful that

1013.519

you're not just getting the nice to have

1015.839

or the happy path because sometimes

1018.72

there are edge cases and things that are

1022.079

in their head that are automatic for

1024.079

what they do and they don't think about

1025.919

them and they're going to be missed from

1027.36

the requirements. So you could get the

1029.6

core like this is what I need, but

1032.4

you're going to find out very quickly

1033.6

that there are other components or other

1035.52

pieces that need to be built around this

1037.679

that could actually change the core

1039.28

requirements. But unless you can figure

1041.919

out how to kind of get that pull that

1044.48

information out of them, you're going to

1047.36

miss things. So as you're doing that and

1050.08

then you know why are you doing this and

1052.08

and why and and the next thing make sure

1055.76

you also say okay you're doing this but

1059.36

watch for those things. It's like oh

1061.28

well what else can they do there and try

1063.919

to expand their thoughts on what it is

1067.2

that they're doing if this is an

1068.48

existing system. Now, if it's something

1070.4

new that it, you know, that they're

1072.32

trying to build from their mind or, you

1075.36

know, maybe they've written it down on a

1076.799

notepad,

1078.559

still get to the core requirements, but

1081.44

make sure that you cover enough of the

1084.08

features that you need to build the

1085.84

application because

1088.48

one of the things you run into a lot is

1090.96

that the customer, the person wanting

1094.72

the application built does not always

1097.76

think in tech

1100.08

and they may not be technical at all. So

1101.76

they may not know the right questions to

1103.28

ask or the right information to convey

1105.36

and that's our job. We have to ask the

1107.44

right questions and we have to pull that

1108.88

information out from our customers. And

1111.2

that's a lot of it is with your your

1114.72

general requirements stuff when you're

1116.559

starting out there's going to be you're

1119.2

going to have this goes back to like you

1120.64

know building your foundations. You're

1122.16

going to be assigned certain tasks. um

1124.24

you're going to have, you know, they may

1125.52

say it may be big tasks, it may be small

1127.44

tasks, but usually almost always

1130.4

actually, I guess, when you're starting

1131.44

out, those are going to be part of a

1133.36

bigger thing. They fit into a bigger

1135.76

solution. You're not building an entire

1137.28

application. You're building something

1139.52

that is going to fit in to an existing

1142.96

application. You're probably working

1144.08

with other developers or code that's

1146

been, you know, created elsewhere.

1148.559

And those requirements questions are

1151.76

great to ask. then is like okay we have

1154.64

this piece so I'm building this little

1156.24

feature this function

1158.88

is there already maybe like an

1160.559

administrative because it's going to

1161.679

take some administration is there an

1163.12

administrative piece for this is there a

1165.36

report that is going to utilize this uh

1167.919

is there an a navigation uh menu item or

1171.039

a button or something like that that's

1172.48

going to trigger this u is this need to

1175.039

be run as a micros service or is this

1177.44

something that's going to be run without

1178.559

any kind of UI is there if there's a

1180.88

user interface

1182

what are what sort of interfaces out

1184.08

there? Those questions may not

1187.52

may not be critical to you getting that

1189.2

task done, but they may be very

1190.88

informative. It may be things where

1192.32

you're going to say, "All right, this is

1194

going to be displayed on a phone or some

1196.16

very small device. So, I can't have real

1198.88

big lengthy messages are going to be

1201.2

kicking out or, you know, the text

1202.799

response that I get back. I've got to

1204.48

limit that." Or maybe I've got to be

1206.559

able to have a way to um you know have a

1209.44

have two versions of it, a long and a

1211.36

short version of it or things like that.

1214.16

Um it may be things like what kind of a

1216.559

system are we building this in? These

1218.08

are getting used to the questions that

1220.16

are parts of systems. Things like is

1222.24

there logging? What sort of exception

1223.919

handling is there? What sort of

1225.44

messaging and notifying notification

1227.36

system is there? Is there some sort of

1228.88

authentication thing that I have to

1230.4

verify or take a token or something like

1232.72

that to make sure that there's an

1234.48

authorized user of this feature or this

1236.24

function or this data? Those questions

1239.039

are the questions that a lot of times

1240.64

are going to help you in requirements

1241.919

gathering because people that are not

1244.4

used to building software and even

1246.48

sometimes people that are these

1248.88

requirements are not going to come out

1250.24

right away. And so you need to ask those

1252.48

fundamental things is talk is learn what

1255.919

is fundamental potentially in any

1258.24

application and some of them you may not

1259.76

need. They may say, you know, we don't

1262.159

do unit tests. We don't do logging. We

1264.4

don't do exception handling. We don't

1267.039

have authenticated users or anything.

1268.88

There's we don't have security. There's

1270.48

all kinds of things that may or may need

1272.559

not be a part of it. And there may be uh

1276.88

variations of how much of that is a part

1279.36

of the solution. All of that is what

1282.32

your requirements are. And if you start

1283.919

doing that sooner rather than later and

1285.919

asking those kinds of questions, you're

1287.679

going to get in the habit of sort of

1289.76

having your own little mental checklist

1291.28

of like these are all the like things

1293.28

that are these are the properties of

1295.2

software itself. So I'm going to ask

1297.919

questions about that and then these are

1300.159

properties of of features and then

1303.52

you're going to start being able to ask

1304.72

questions around those. Now, they may,

1306.32

you know, they may be general in a

1308.64

sense, so you can customize them to

1310.159

every customer, but they're going to

1313.36

give you that that to-do list of I need

1316.64

to go through all these things if I'm

1318

going to properly gather requirements.

1320.4

Thoughts?

1323.039

>> Yeah, I think you hit most of it,

1327.28

most of the high points on that. One of

1328.88

the other things as you're talking about

1330.48

requirements a lot of people do not

1332.08

think about especially early on in

1333.6

projects is scalability. So unless

1336.24

you're asking the right questions for

1338.32

the requirements, you could pigeon your

1340.799

pigeon hole yourself in such a way that

1342.88

the requirements build you a system that

1345.2

cannot scale to the needs of your

1346.88

customer. And that is a death note. So

1349.76

make sure that as you're asking the

1351.44

requirements, you are thinking about the

1353.039

type of systems and hardware that it

1356.32

does need to go on and that you are

1358.88

going to meet the needs for the customer

1361.6

not just for today but for down the road

1364

to make sure that you can the

1365.679

application can grow as the company

1368.08

grows and they don't have to throw it

1369.36

out and start over.

1371.2

>> That is that is an advertisement for us

1374.24

basically. That's what it's why you have

1376.48

technology road maps and things like

1377.919

that is you need to look at not only

1379.2

where you are today but where you going

1381.28

to be in the future because otherwise

1383.679

your requirements are they're not really

1386.4

I guess they're correct they are you

1388.48

know for today but they're really not as

1390.72

useful as they could be. So when you're

1392.24

gathering requirements you definitely

1393.919

want to look at uh be you know looking

1396.88

forward you don't want to paint yourself

1398.72

into a corner. Uh, and a lot of times

1400.72

that is that's a lot of times where I

1403.2

have that conversation with customers

1404.4

where I say, "Look, I'm asking this not

1407.2

because I need I want to build this for

1409.039

you today, but I need to know so that we

1411.6

can have the hooks in place or whatever

1413.12

we need to do so that when you grow and

1414.88

if you do want to do this in the future,

1417.28

then we're not having to rewrite, you

1419.44

know, strip everything out and rewrite

1421.12

it, we're going to be able to very

1422.159

easily access it, enhance it, or

1425.039

whatever needs to be done to give you

1426.799

that feature." Now, that being said, I

1430.72

think it's time for us to wrap this one

1432.48

up. I think we've we've covered our

1434.799

requirements. Uh, next episode, may or

1437.52

may not be an interview. We'll see how

1438.96

it goes. We definitely have some in the

1440.64

works. Uh, we're going to continue doing

1442.559

some of those as part of our uh talking

1444.4

about some of these foundations and, uh,

1446.64

just some of the things that are out

1447.84

there that are, uh, some real world

1449.679

examples on well, as well as the kinds

1452.08

of things that we share on a regular

1453.679

basis. As always, love to hear from you.

1456.799

Shoot us an email at [email protected].

1458.799

You can leave us feedback on the

1459.919

developer.com site. Uh we have contact

1462.4

forms. You can leave feedback on any of

1464.32

the articles. Uh leave review on

1466.64

anywhere that you are listening to

1468.159

podcasts. You can check us out the

1469.52

developer channel on Yahoo, not Yahoo,

1472.08

YouTube. A very different why. Uh check

1474.559

them check us out there and leave us uh

1476.799

comments and feedback. We would love to

1479.36

hear that, you know, pro positive,

1481.2

negative, all of the above as we just

1484.08

want to take that and build a better

1486.559

podcast for you as we move forward. As

1489.44

always, I appreciate you so much. Thank

1491.36

you for your time. Have yourself a great

1493.039

day, a great week, and we will talk to

1495.36

you next time.

1498.32

Bonus material. Uh because we didn't

1501.919

have it much for the last episode, so I

1503.84

guess we should make up for it this

1505.52

time, right?

1508.08

Yeah. So last episode we talked about

1510.159

vibe coding. You know AI especially

1512.96

today if if you don't know how to do

1515.919

requirements gathering AI is a good

1518.559

example of trial and error. Uh, if you

1523.039

want to kind of play around with like

1525.2

simulate a customer, open up a chat and

1528.08

say, "Hey, um,

1530.96

I want you to emulate a business that is

1535.6

selling cookies and they need an

1538.88

application. So, I'm going to ask you

1540.32

questions about your business to build

1542

an application." And just play around

1544.72

with AI. Use it to train yourself on how

1547.84

to ask questions. If AI is giving you

1549.6

crap, you're not asking the right

1550.799

questions. Um, or you're using the wrong

1553.279

AI tool. But if you're starting out,

1555.919

this is a good way to kind of train

1557.84

yourself and learn how to use AI at the

1560.4

same time.

1562.08

>> That is uh an awesome little bit of

1565.44

bonus material. I go back to from

1568.559

requirements gathering. Um, I go back to

1571.6

like the my tried andrue trusted one of

1574.64

like build yourself an application. Find

1577.2

a little side hustle project. Find

1579.039

something some problem that you need to

1581.44

solve and this is scratch your own itch

1583.919

and go define, you know, say, "Oh, I

1586.559

need to build an application to do X."

1589.36

And ideally, at the very least, just

1592

document it in some way. Just even if

1593.44

it's just like a little checklist or

1594.48

something like these are the

1595.44

requirements, these are the things I

1596.88

need to do. and make sure it's something

1598.64

that you can uh whether it's a you know

1601.039

a physical notebook if it's if it's

1603.279

something digital make sure that you can

1604.64

like track the history and then as you

1607.52

add features because you're going to be

1609.84

in there you're going to be coding most

1611.039

likely and you're going to add features

1612.88

put those back on the requirements

1614.24

because you're like oh I needed this I

1615.679

forgot it oh I needed this I forgot it

1617.84

so that you instead of

1620.64

I'm going to do this and then you just

1621.84

go build it and you're constantly

1623.36

adjusting the requirements in your head

1624.72

as you're adding the features you're

1626.4

actually tracking what were the what

1628.799

should the requirements have been had I

1631.44

completely built out all the

1633.12

requirements for this when I started

1635.36

because I think that is a great way for

1637.76

you to very quickly realize that there's

1639.44

going to be a lot of questions around

1640.559

that and to give yourself a good list of

1642.32

like you did it and so now if you go

1644.96

back and look at that list it's going to

1646.48

help you it's going to stir the right

1649.6

questions in your mind when you're

1650.88

talking to a customer when you're

1652.159

looking at their requirements and you're

1653.44

saying oh yeah I did this thing and I

1656.4

forgot about this. So, I'm going to ask

1658.08

them about it. Do they need it? How do

1659.52

they want that to look? You know, things

1660.799

of that nature is anytime it's I granted

1664.72

I'm one of those people. I learn best by

1666.48

doing and so this is my, you know, my

1670

happy place as far as learning is

1671.6

concerned. Go out and do it. And like I

1675.6

said, if you are the customer and you're

1677.6

building out the requirements, it's

1679.36

really good because you know the only

1681.44

reason that the requirements didn't come

1683.44

out is you didn't ask the right question

1684.72

at the start. It's not because you know

1686.72

and yeah the and you're going to realize

1689.039

too recognize and relate to empathize

1691.679

with the customers when you realize that

1694.24

yeah they're not going to know

1695.44

everything. So you're not going to be

1696.72

frustrated when

1699.2

there's something that was missed or the

1702.24

answer doesn't come back. You know you

1703.84

don't get complete enough answers and

1705.679

you go back and you you just do this.

1708.72

The more you do it the better it's going

1710.08

to be. Uh like everything else the more

1711.84

you practice the better you get. Uh,

1714.24

like I said, you can do little projects

1716.159

all over the place and that will help

1717.84

you quite a bit. That wraps this one up.

1720.96

We have things to do, places to go, all

1723.52

that code, divide, all that kind of good

1725.76

stuff. Appreciate the time that you guys

1728.08

have spent with us. We are not even

1730.08

close to done with this season. We've

1731.52

got plenty ahead. Lot more foundations,

1734.08

lot more interviews, uh, lots to learn

1736.559

for us and for you. So, as always, leave

1739.679

us fed feedback and all the ways that

1742.24

you can do feedback. Uh, we'd happy to

1744.48

hear from you and to see where you guys

1746.08

would like to see us go next. That being

1748.72

said, it is time for us to wrap this one

1750.96

up. So, go out there and have yourself a

1752.32

good one and we'll talk to you next

1754.64

time.