📺 Develpreneur YouTube Episode

Video + transcript

How to Build a Minimal Viable Product Without Blowing Your Budget | Building Better Developers

2025-04-29 •Youtube

Detailed Notes

In this episode of Building Better Developers, Rob Broadhead and Michael Meloche share how to create a minimal viable product that wins customers — without breaking your budget. Learn how to launch faster, prioritize smarter, and avoid costly mistakes. Subscribe for more strategies on building better businesses!

00:00 - Introduction: Building Better Businesses 02:15 - What is a Minimal Viable Product (MVP)? 04:30 - The Importance of Solving the Core Problem 06:00 - Budget Constraints and MVP Development 08:00 - Building Backward From Deadlines 10:00 - How to Save Projects When Behind Schedule 13:00 - Prioritizing Features for a Minimal Viable Product 16:00 - Launching MVPs: Real-World Tips and Strategies 19:00 - Episode Challenge: Trim Your Feature List 21:00 - Importance of Testing Early and Often 24:00 - Continuous Improvement After MVP Launch 26:00 - Final Thoughts: Focus on Value and Stay Agile 28:00 - Outro and How to Connect with Us

#MinimalViableProduct #StartupTips #BuildingBetterDevelopers

Transcript Text
[Music]
and I clicked record. So, here we are.
Um, first off, apologies if the last
couple episodes were a little too much
because we we changed up our beverages a
little bit. That doesn't mean it won't
happen again, though. So, just uh keep
an eye out. They might be fun in the
future.
Um, also, uh, if you don't know,
Remastered Oblivion dropped the other
day, like yesterday, depending on when
you do it. So, it's probably, you
probably have already solved it if
you're an Oblivion person. If you
haven't, take a look. Pretty cool, old
school game. It's now 20 years old,
basically. It's just almost, it's crazy.
Um, and I probably have 23 years of play
time on that.
Um, so topics, uh, there's a couple that
we threw out. I think one I think I want
to
do I think I want to tackle first the
like an MVP. How do you provide a
customer with a solid MVP? And then and
actually it's as much about that as it
is about let me put in my
notes as it is about the budget is about
making sure that you can get a MVP that
meets their budget including you know
that's money time all that other good
stuff. So you got they've got resources
are in place for an MVP and making sure
that we can do that because that's
something we do very regularly and I
think that's a pretty good topic for
like how to do that better. It's a
little bit more of a developer kind of
thing but I think it's definitely a
business. It's like really figure out
how to meet your your customers needs
when you have a you know a service or an
open-ended kind of contract like
that. And then I like the other one.
It's sort of like how to avoid chasing
your tail, but I think it's like a I
think it's going to be a don't panic
kind of a topic is like what do you do
when things are going off the rails is
how do you like bring it back on because
I think that is something that we have
to deal with and it's um it's helpful to
do it for ourselves and it's helpful to
do it for our teammates, our bosses and
people like that as well.
So without any further ado other than
I'm going to adjust my camera a little
bit. We will get into the Oops. Do I
have water? I do have
water. Good, good, good. And we'll do a
little three, two, one. Hello and
welcome back. We are continuing a season
of building better businesses. Even
though we are building better
developers, the podcast also known as
developer. Actually, it was developer
first and then now known as building
better developers. That's a story from
another distant podcast episode way, way
back there. I happen to be Rob
Broadhead, one of the founders of
Development, also a founder of RB
Consulting, where we are what they call
boutique consulting. We basically sit
down with you and craft a custom recipe
for your business. How to move forward,
leverage technology through
simplification, integration, automation,
even innovation. We help you wrangle
that technology sprawl, give you a good
understanding of what's out there, what
will work for you, your budget, your
where you're at, not only today, but 6
months, six years down the road and
beyond. Putting together basically a
technology roadmap so you can make the
best use of your investment in
technology for as long as your business
exists basically because technology is
always going to be around. Good thing,
bad thing. H this is this is a different
way. I'm trying to like trying to think
cuz I've had a pretty good string of
good. So, the bad we'll have to see how
that one goes. Um, I'll give you I'll
give you a fun one. So, good thing is I
had a day that was going to be full of
driving. I was like, I'm going to be
spending the day driving. I'm probably
going to It wasn't, you know, it's
basically like I'm going to be chill.
I'm going to be able to just like hang
out and stuff like that. And it turned
into almost a better thing because I had
my daughter was going to go with me who
had to work and so we're like all right
we got to bail out on this. So now I
suddenly got a free day because I was
going to be driving. Now I'm going to be
driving at the middle of the night.
Foreshadowing of the bad thing
but managed to essentially be forced
into a free day. Now some unknown people
actually hijacked that day and I ended
up in like 18 hours of meetings. It felt
felt like uh but I did see a good movie
at the end of the day. If you haven't
seen the amateur, I highly recommend it.
It is a uh it's a slow burn movie if
there ever was one, but it's actually
really good. And uh Ramik, whatever his
name is that did Freddy Mercury in the
the movie, and he's done a couple of
these. Little oddl looking guy, but he's
he's like just right for this kind of
part. So really fun movie. And then of
course the bad thing, the really bad
thing was then we started our drive a
six-h hour drive. Well, what should have
been about a 4-hour drive, 5 hours once
you had the time zone change at about
midnight. So we got in about 5:00 a.m.
local time. And part of that was it took
longer than normal. Uh it was not a
quick trip because we had all kinds of
like flood issues and stuff like that.
So moral of the story is once you have a
free day, do not take any calls or texts
or anything else because they might just
blow you up. Especially if the person
sending those are Michael, who is now
going to introduce himself. Hey
everyone, my name is Mike Malashsh. I'm
one of the co-founders of developer
building better developers. I'm also the
founder of a company called Envision QA
where we help businesses really
understand if the software is working
for them. If you're having problems with
your software stack or just your
day-to-day processes, your your software
is just not helping you run your
business, we come in, we help you
analyze your systems, we help you define
your processes, and we will either build
you something custom or help you really
find the solution you need to really
improve your business and make your
customers happy. Good thing, bad thing.
Good thing, we survived the storms. Uh
it we've had some nice warmer weather.
It's been nice. I've been able to sit
outside. Uh bad side of that, my
allergies are back to killing me again
because a few more trees have not come
in yet. And so I figure I got about
another two to 3 weeks before I'm done
with the
pollen. Little other bad thing with that
because it's warmed up, the stupid bores
are back. And I have I I almost called
the pest company to come out and spray
this time, but I got some spray and I
actually sat outside uh the last few
evenings with a little uh flice water
and bminton and we've just been bashing
the heck out of these bores that are
driving us nuts. So, that's been good
and bad. All right, pro tip. Um whatever
you call them, uh also called like
carpenter bees and stuff like that. uh
Exterminator gave me this trick a while
back and it has turned out to be
phenomenal is what you do is you wait
until sundown till it gets like you know
so they because basically they they go
out during the day and they come back at
night so you wait till they're all home
and then you go find their little holes
that they've drilled in their little
nests and you take some WD40 and you
shoot it up in there and basically it
totally messes with them and ends up
they end up basically I don't know if
it's you know suffocating or whatever it
is but it eventually kills them and not
and mostly it'll kill them in there.
They don't come flying out and it will
screw it up enough that nobody's coming
back to that nest or anything like that.
And I have I had a lot of trouble with
that in my last house. I probably have
like if I had little uh tats I'd
probably have like 4,000 tats down my
arm of all the little bees with little
tears or whatever they would be that I
took out. But it does work. It's uh
there's a lot of stuff that doesn't kill
them, but that stuff will. And it's uh
it's it's sadistically fun to sit there
and watch them like try to you know
because they'll come out and try to get
after you but their their wings are shot
so there's nothing they can do and you
just like sorry bud you came to the
wrong house. All right but that makes
sense though. That's a good tip because
we've tried that but we've never done
that in the evening. We've always done
that during the day. So that that's a
good trick. Yeah. You got to wait. It's
sort of fun to sit there and have a
glass of wine while you watch them come
back saying this is your last trip home
buddy. So, the violent portion of this
now you can go get their kids and they
can watch the rest of the show because
we're going to move on from that
hopefully depending on because this
topic could actually introduce some
vulgar language along the way depending
on how we go with those stories. We're
going to talk about MVPs and I'm not
talking most valuable player. This is
not sports. I'm talking technology,
software, things like that. actually
producing any kind of physical product
even these days which is a minimally
viable product which is what is the
least you can do that creates a product
or service even I guess that you can
sell to customers and it brings them
value so they give you money and you
give them an equal or greater preferably
a greater value for their money based on
this now that doesn't mean that it's
like it's not necessarily version 1.0
it's not ne necessarily version 8.0 No,
it is literally give them something that
solves their
problem. Don't go nuts. No bells and
whistles basically or very very minimal
bells and whistles. And we'll talk about
that a little bit, but essentially
giving them something that solves their
problem. They say, "Yep, I take my money
that solves my problem." And then that
allows you to take in money. The whole
idea is then you can bootstrap it from
there because now you have revenue,
you've got a product, you've got
customers, you've got feedback from
those customers, you can build better
product, whatever that is, or you can
also go out and do things like, you
know, get funding and things of that
nature. MVPs are very nice to have
because it's basically saying, I now
have a product and I spent as little
time and money as possible to get to the
money-making portion of my of my
business plan. Now, a challenge for this
is when you are doing it for a customer,
when you are trying to get to a point
that that the customer has a a limited
budget. And this is honestly even if
it's not an MVP, sometimes you're going
to have a customer that needs to solve
their problem and they have budget
constraints of some sort. And that
budget may be money, it may be time. So
those limiting factors are the ones
they're usually not going to say don't
give me something you know too high a
quality because it's really it's time
you know especially it's resources time
and and quality are your three legs of
your
stool quality is sort of like always
going to have a that's one they're
always like ah I want a lot but do what
you can with the other things which is
the time and money time is the easiest
one to work with because basically if
you're like if it's a deadline we have
to have this by, you know, January 1st,
December 31st, something like that. Then
you know what the time is and you just
figure out as much as you can get done,
but you need to make sure, and this is a
trick with that one, need to make sure
that you are complete in a way that you
can deliver it on that date or before.
So it doesn't mean that you're going to
write code up until it's December 31st.
It does not mean you write code until
December 31st. It means that you need to
make sure that your code cut off is
sometime before that that allows you all
of the things that need to be done to
make sure that that thing can go in and
be production ready going on December
31st. And that's yes, sometimes testing,
but the harder things that are in there
as far as like a hard deadline or a hard
time frame are going to be things
probably like deployments. Uh there may
be some sort of uh fulfillment or
something like that. There may be
servers that you have to like spin up or
uh domains that you have to get going or
maybe there's mail-in lists that you
have to warm up. There's all kinds of
stuff like that that can go into these
things that you need to make sure that
those are taken into account. And what's
typically done is it's called backward
scheduling and contingency planning.
When you do that, which is essentially
you get you have your deadline date, you
know how far you've got to get there and
then you start basically building out
milestones saying okay well to get to
this end date I have to be at this point
at you know at this point have this much
done to be at this point and then you
roll that well then that means I have to
have this much done at this point and
you roll back say well I have to have
this much done at this point and you go
all the way back to basically right here
and now where you're at and go okay can
I do that or if now you had to have
start you started three weeks ago. Then
it's like, all right, I got to, you
know, I've got to cut some stuff out.
And the contingency planning thing is
you just did a happy path to get you
from here to completion, but now you've
got to be sitting there going, all
right, this is a very uh hard firm set
of milestones and deadlines. So, we need
to make sure that we have built in
whatever planning and whatever wiggle
room we need to ensure that we really
can hit that date. So, while it is in
some points easier because you have a
hard date, it's also in some points
harder because you have a hard date and
there's a lot of stuff that you can't
work with. So, quick question for you
there. Yeah. So, for those listening,
you've laid out kind of the way to back
the way to figure out that the road map,
the contingency planning. What happens
when you miss that or you did not plan
for that and you now are reaching a
point where it's like crap now we're
three we're supposed to be started 3
weeks ago but now
we're say two months from the end and
we're a month you know where how do you
handle when you reach a point where
you've missed the mark and things are
way off track
when you've missed the mark and they're
off track I like to think of like and I
can't think a movie where it's got it
specific, but there's there's probably
several movies you've seen where and
probably even in cartoons where, you
know, they're like in a boat and
something's chasing them and they're
trying to get away from it. So, they're
just throwing stuff off the boat to try
to get the boat light lighter and
faster. That's effectively what we're
doing at that point. And this actually
is going to occur possibly regardless
what your resource constraint is. So,
this could be in money too. It could be
that, and this happens a lot. So it may
be your fault or it could be for example
you've got a customer that thinks they
have a budget and they are sure they're
going to get to this certain point and
everything's funded and suddenly some of
the funding falls through and now
suddenly the six-month runway you have
turns into one month or it's like well
you can do more than a month's worth of
work but you're not getting paid after
that you know which is usually pretty
heavy incentive to get it right. So,
this actually goes to that whole idea of
minimally viable product. And honestly,
when you have something like that, when
it's like, we're off track, but we still
have a deadline. We cannot get all this
stuff done. Guess what? It's time to
make some potentially hard choices. Now,
there is usually, and before I throw
this to Michael, I'm going to throw a
couple ideas out here because I'm going
to see what your thoughts are on these.
There are usually
um I'm going to be like mean about these
and call them there's like fluff items
that are involved in projects. There are
things that we do and there are
processes and procedures and red tape
and all that kind of stuff that we do
have that definitely help us with
quality and communication and things
like that, but they also are things that
aren't actually necessarily getting the
work done. These are often meetings of
some sort. Uh sometimes there's certain
um there may be a flow or something like
that. For example, maybe we have our
we've set everything up with CI/CD
pipelines, but it takes six hours to do
a deployment because they have to go
through all these steps and hoops. So
maybe instead of that, we need to shut
that down for a little bit or turn those
things off. It could be constraints we
have on the system. For example, uh if
you're moving data or migrating data,
sometimes there's things where it's like
it's really slow, but if you drop all of
the indexes or all the constraints or
you reindex it differently just for the
migration, then you can make a world of
difference. Um those things can always
been cleaned up too. I've known several
times, including one I'm on right now,
where I create indexes on a regular
basis and even temporary columns and
some stuff like that to move the
migration very quickly through, knowing
that I can always come back after the
fact, blow those guys away, clean
everything back up, and make it pristine
when we get to production grade. So,
it's it's a little bit of a instead of
let's make everything do everything
exactly right, it's a little bit pushing
it, which I don't always recommend this,
but it's pushing it to say we're going
to worry about getting it right when it
goes to production, but before that,
we're going to like we're going to find
a way to streamline some of these
processes. And that means that we may
remove some of our normal barriers just
so we can do that. Now, I do want to say
be very careful when you do that because
you may end up putting yourself in a
worse situation than you would have been
otherwise. So, you need to be very
intentional about where you decide to
get rid of, you know, when you get rid
of guard rails, just make sure you're
driving a lot better so you don't go
over the
edge. Um, one other thing you can do is
the the obvious thing is do less. So
look at the tasks and if honestly if
you're off and you don't actually know
what all has to be done to get there,
the first thing is figure out what you
need to do to get there. Get yourself a
list and just bas say okay how do we
complete
this? Here's all the tasks and then look
at those tasks and say which of these
can we live without? And there may be
mitigating circumstances and stuff like
that. So you may look at and say, "Well,
these three tasks that would take a
week, we can deliver something that's a
little bit lower quality or maybe not as
good a user experience or, you know,
maybe there's a bell or whistle or
something like that, and we can take
those, we can roll them into one, get it
done in a day, and boom, we've saved
some time." It's literally like it's
like any other budgetary process is look
at what's there, figure out what you
have to have and then start figuring out
where you can say, "Well, we don't
really need this or we can save a little
money here, a little time there, we can
do this, we, you know, if you look hard
at it, I guarantee you you will find uh
opportunities that are in there." Now
going with those and then you know first
I guess a little bit your thoughts on
those and then what are some of your
additional thoughts on this? Yeah. So
when we're talking about you know
minimal viable product to me when you
think about taking on a project from the
beginning like starting of the project
how are what are you conceptually
thinking of the
MVP to me it is you know what is you
know how do we solve the customer's
problem right you know what is the end
product going to be to solve the
problem interestingly enough when I sit
down with customers and talk to them.
The first thing I think about
is what all is required
to build the system that is required for
the MVP.
I look at it like okay we need servers
we need backend you know what is the
minimum you need to put this application
together to build it for the customer
because that right there tells you do
you have the skill sets you need do you
need to go hire someone do you need uh
or do you have missing areas like
testing or are you building something
that requires a
um a content expert you know are you in
a area where you need someone with more
legal experience to cover backend stuff
because there's things that sometimes
when you build these systems or you hear
it, it's like, "Oh, this is easy. I can
build this." And then you get into it
and you find out, oh crap, you know,
there are way more things to think about
than what we initially thought about.
So MVP to me
is what is the to what? All right, let
me back up one sec. So when I think
MVP, I think what is the minimal, not
necessarily most viable product, but
what is the minimal requirements? What
is the minimal features I have to put in
place to get this working for the
customer? Then add all the bells and
whistles and UI and pretty it pretty it
up for them. So MVP to me could be
almost wireframe web applications. Like
you are getting the ugliest application.
It's functional. It works. But we need
to pretty it
up. To me, as long as you get an
application out that covers everything
the customer needs and it is usable, it
is user friendly enough, you have an
MVP. Then you can add all the
prettiness.
you can go get a UI expert to say hey
you really need to be doing all this or
oh here's uh quality some quality of
life improvements you can make to the
application. Typically when we take on
projects we are not thinking quality of
life. We are thinking we have a image in
our head based on what the customer said
and we have
conceptually figured out how we can go
from A to
B. But there might be one 100 steps
between A and B, but we only need 30 of
them to get from A to B to be an
MVP. You it is an art and is something
none of us get right the first time, the
second time, the third time, or possibly
ever. MVPs are very hard to get right on
a deadline because there's always that
little wiggly thing in the background
called the unknown, right? Those are the
things we don't know. It could
be government regulations. It could be
system features that the user doesn't
understand that their current system
does or that they need to do to be
compliant. So you have to be very
careful when you think about these
MVPs and you may give a deadline or a
hey we can do this in 6 months but you
run across one of these and you
immediately have to say okay we are
cutting the fat nice user interface gone
you are getting the bare minimum to get
what you can have just so we can get
everything in some it's it's very
hard especially for for me and I think
it is for you too, Rob, because we
always want to deliver something to our
customers that our customers will enjoy.
It gives them quality. It gives them it
improves their lives. We don't just want
to give them the barebones application
to meet their needs. We kind of want to
make it a little more polished, but
sometimes when we're dealing with an
MVP, the polish goes out the window. You
have to literally get it done. So, you
are going to duct
tape WD40. You are going to do whatever
it takes to get it to the bare minimum
application. And like Rob said, you
know, sometimes budgetary constraints
happen. Oh, customer suddenly loses
funding. How can you still get them from
where you're at to deliverance to
delivery without breaking your budget
too bad? You know, at the end of the
day, we all have to get paid. You know
that we don't do this for free unless
you're a nonprofit, but even then,
you're still getting funding from
somewhere. The problem is there is
always a budgetary constraint to doing
these things. And that unfortunately is
one of the biggest struggles we have
because you may quote one thing but if
it's a fixed bid you're stuck. So
anytime after that you are losing money
or you are it's costing you money and
time to get this product out the door.
So, I like how you brought up the
contingency planning
because to me, I try to think about that
upfront, but it's one of those
where sometimes you don't have
everything up front. So, you can't quite
do the contingency planning up front.
And maybe as you're building the road
map or you're building out the project,
as you're going through stages, maybe
divide it up by four. Say you have a
16week project. You divide by four.
Every four weeks you have a pause. Okay.
At the end of this phase, where are we
at? Is the road map or what we perceive
as the road map on
track? The next four weeks at 16 weeks.
At the halfway point, you should be more
than halfway to completion on this. You
should be almost ready to put a product
in front of the customer or do some type
of user acceptance
testing, especially when you get to the
in between point after that because you
don't want to hit the end and be like,
"Oh, we have no testing. User hasn't
seen this. There's no training." So, you
got to make sure that somewhere between
the beginning and the end of the project
that you go through the process of
including the customer, doing user
acceptance testing. You know, I always
talk about testing, but the problem is
when we get into these
projects, any project I've worked on,
testing is
always there is some form of testing,
but the full testing is unfortunately
limited or thrown out to the very end
because we're too busy trying to meet
the constraints or the deadlines that we
have within budget. Every company has
this. It It's hard. I it's that's
why if budget permits or you can add to
the budget get that tester in at the
beginning because you really need to be
building that as you go so that by the
midpoint you have all these testing
point where the developers can say okay
I've made code changes I push a button
boom oh something broke I can go fix it
so you don't waste time on manual
testing or tracking down bugs later
which is more expensive
What do you think, Rob?
Now, I want to give a I guess a a little
secret that you can use uh when you to
help you with some of these things. Um
sometimes you're going to know up front
that you're going to have a you're going
to know what the limits are. Often
you're not. There's going to be a point
where you and this is this is where
honestly this is where agile and sprints
actually comes into focus is it's the
whole goal of this is that we are going
to periodically in very short period you
know two three four week sprints however
it is we're going to have something that
is deliverable it's not necessarily an
MVP but it
is moving towards an MVP something that
they can use the whole point if you look
at the if you go back and read the agile
manifesto is It's like we want to
deliver working software. So there
should be testing in there. There should
be something that provides some use to
your users. The use may be, and we've
talked about this before, but the use
may be that it's
just exposing them to what you're
building so that the UAT process can
start. So they can do things like say I
hate that color or I can't stand buttons
like that or I don't know how to work a
drop down or whatever it is that will
help you sort of pull the UAT process
forward. Now, if you go into the project
saying, "I want to no matter what their
budget is, I want to get them to a
solution as fast as possible with
quality and all of the things that make
a that make so I'll be proud of what I
put in front of them." That does help
because what you're going to do is
you're going to say, "Oh yeah, you can
give me a billion dollars in a year, but
I know I'm going to underpromise and
overd deliver and I'm going to be able
to get this done maybe in six months for
$100,000 or you know, whatever it
is." That's where you need to be going.
I think too often there's this whole
like let's get this budget and then
let's build something to the budget as
opposed to let's get the requirements
and let's build a solution that meets
the requirements because if you build a
solution that meets the requirements
you're honestly looking at the MVP all
along because somewhere along the way
you're going to give them an MVP and
then since you still have room then
you're going to be adding bells and
whistles and improvements and all of
those other things. But somewhere along
the way, before the inline, you have
already delivered an MVP. Now you're
doing a uh a more valuable product
instead of a minimally viable product or
something along those lines. And so that
is the little secret that I'm going to
give you. We're not you don't even have
to listen to the YouTube side this time
to get this bonus material. Now, the
challenge for this one gets to that
point. Whatever project you're on,
whether you're on track, ahead of
schedule, behind schedule, take a look
at what is on the backlog or the to-do
list or the feature list and just take a
critical eye to them. This a lot of
times is something won't take you that
long, but to just sit down and look at a
critical eye and just say, "Do we really
need these things?"
Now, you might not be able to answer
that, but I think it is worth it,
especially if you're part way, you know,
even a quarter of the way or beyond into
a project is to go to the customer with
those or whoever the the end user is or
the product owner or whoever that is and
say, "Here's some things that I don't
think we really need and this is why."
And just see if you can reduce the scope
a little bit. So, you're basically
pretending like we've suddenly changed
the game and that we now don't have as
much, you know, runway and you're going
to adjust for that. Even if it doesn't
work at all and everything stays the
same, that's okay. The process of taking
a critical eye to what you're building
and sitting there and saying with each
feature essentially, is this really
important? Does this serve my customers
requirements or not? is a very useful
challenge for you to go through. It's a
very useful skill for you to pick up
just like writing emails. And to
practice that, you can send an email to
[email protected] and let us know
what you think. Where are you at? What
do you like? What don't you like? What
are some requirements that I would love
to hear? This would be a fun little
thread at some point. What are some
requirements that you had that you
suddenly realize we don't really need?
Because those are fun stories. Those are
the kinds of things that developers sit
around going, you would not believe what
these people wanted and we finally
talked them out of it. Or you would not
believe what these people said they
could do without and we finally
convinced them that no, you do need
that. So those are fun stories in and of
themselves. If you enjoy these stories
and even if you don't, you want to learn
some more, you can always check us out
at developer.com. You can leave us
feedback on any of that, any of the blog
posts or anything that's out there. ever
you get podcast love to hear review get
anything back from you there uh YouTube
there's a developer her channel so you
can check this out you can check out all
of the other stuff we've done over the
years there's lots and lots of of video
content out there as well as long as go
along with the and the bonus what and
the bonus material and the bonus
material that happens on almost every
podcast uh except for sometimes I just
spill the beans early or Michael I think
has once or twice and we've gotten the
bonuses in a little bit early But
usually you're going to get you will
always get something extra, even if it's
just looking at our pretty mugs a little
bit, you know, after the fact. Um, all
of that to be said, thank you for your
time. We appreciate you and all that
you're doing. Your customers appreciate
you, too, because you're getting better
as developers. And trust me, they they
like that. They love having a team that
they work with that is getting better.
you know, maybe it's not as fast as they
want it, but still getting better is
always good. Go out there with your
better self, and have a great day, a
great week, and we will talk to you next
time. All right, your turn for bonus
material since I already just like blew
that out. Sorry for no bonus for me. So
hopefully I'm just putting the pressure
on Michael now.
So one of the things we didn't really
talk about through the MVP is when
you're looking at a project or in your
project there's really a couple
categories musthaves what is the minimal
you know what is required to get the
project functioning to build the basic
infrastructure to get the application to
work. Then there is the um so that is
the uh must haves. Then you have the
need to haves. These are things that the
customer really wants. They really need
it to do their work but it is not the
must-haves. The must haves are what you
need to have the application working. If
you don't have the must haves, the
application won't work.
The need to haves could be things like,
oh, I need an additional screen to do
this or to do something extra outside of
the core functionality. So, must have
core functionality need to have things
that are a little that are still
required for the business but are a
little outside of the must-haves for the
core application. And then you have the
wish list or the nice to haves. These
are things like, oh, I would like this
to be very polished. Oh, I'd like this
to work on my mobile app. or oh I would
like this to work on multiple browsers.
These are things that can be pushed to
the very
end. 90% of what you need to have for
the MVP is in the musth have or I'll
even say 80%. The other 20% is the need
to have and I would say maybe well all
right so to keep this within 100%. So 80
19% 1%. 1% is
the like to have the, you know, would
like to have. Keep it in that core. Get
that core done. Make sure that is solid
within your requirements. If you don't
have that, your MVP is going to fail.
I think that's pretty good way to stop
to wrap this one up is yeah, you got to
look at it. Really does. MVP comes down
to requirements. It comes down what and
literally the definition of that word,
what is
required. And a lot of times you're
going to hear something is required, but
when you dig into it a little bit more,
you're going to find out that that's not
actually what's required, but something
else is. I I hearken back to a story
I've used a couple times where somebody
needed this really fast way to view this
millionpage report and they really
didn't. They just needed to know the
number of records in the page. So all of
this work that went into trying to do
this complex paging and caching actually
was not needed at all cuz the only thing
that they really wanted to do was run
this huge report jump to the last page
so they could see a total at the bottom
and almost killed a customer over that
one because we spent a lot of times
before we finally got to that was like
really that's all you need? It didn't
occur to
you didn't occur to you that maybe even
they didn't even occur to them like
maybe we put the total on the first page
so they don't have to page through all
the others.
But that's why we're here and that's why
sometimes we drink during episodes but
we haven't this time or at least not
anything other than water and caffeine.
And I had caffeine free tea so I'm
probably if I peel over at some point
now you know why. At any point thank you
guys as well. Thank you for your time
for hanging out with us. We'll be back
with another episode. We are just
cranking along. We got some more fun
stuff to deal with. So, go out and have
yourself a good one and we will talk to
you next time around.
[Music]
Transcript Segments
1.35

[Music]

28.8

and I clicked record. So, here we are.

32.28

Um, first off, apologies if the last

36.079

couple episodes were a little too much

37.68

because we we changed up our beverages a

40.079

little bit. That doesn't mean it won't

41.44

happen again, though. So, just uh keep

43.68

an eye out. They might be fun in the

45.28

future.

46.68

Um, also, uh, if you don't know,

50.559

Remastered Oblivion dropped the other

52.32

day, like yesterday, depending on when

53.84

you do it. So, it's probably, you

55.12

probably have already solved it if

56.16

you're an Oblivion person. If you

57.68

haven't, take a look. Pretty cool, old

60

school game. It's now 20 years old,

62.48

basically. It's just almost, it's crazy.

65.519

Um, and I probably have 23 years of play

68.08

time on that.

69.88

Um, so topics, uh, there's a couple that

73.119

we threw out. I think one I think I want

76.24

to

77.159

do I think I want to tackle first the

79.799

like an MVP. How do you provide a

82.32

customer with a solid MVP? And then and

84.96

actually it's as much about that as it

86.72

is about let me put in my

89.64

notes as it is about the budget is about

92.479

making sure that you can get a MVP that

94.56

meets their budget including you know

96.079

that's money time all that other good

98.479

stuff. So you got they've got resources

100.159

are in place for an MVP and making sure

101.759

that we can do that because that's

104.479

something we do very regularly and I

106.56

think that's a pretty good topic for

108.799

like how to do that better. It's a

110.72

little bit more of a developer kind of

111.92

thing but I think it's definitely a

113.04

business. It's like really figure out

115.28

how to meet your your customers needs

117.04

when you have a you know a service or an

118.799

open-ended kind of contract like

121.159

that. And then I like the other one.

124.079

It's sort of like how to avoid chasing

125.439

your tail, but I think it's like a I

126.799

think it's going to be a don't panic

128

kind of a topic is like what do you do

131.4

when things are going off the rails is

133.84

how do you like bring it back on because

135.92

I think that is something that we have

137.2

to deal with and it's um it's helpful to

139.84

do it for ourselves and it's helpful to

141.28

do it for our teammates, our bosses and

143.36

people like that as well.

145.879

So without any further ado other than

149.52

I'm going to adjust my camera a little

151.56

bit. We will get into the Oops. Do I

154.56

have water? I do have

157.08

water. Good, good, good. And we'll do a

159.76

little three, two, one. Hello and

163.44

welcome back. We are continuing a season

166.16

of building better businesses. Even

167.68

though we are building better

169.04

developers, the podcast also known as

171.2

developer. Actually, it was developer

173.12

first and then now known as building

174.8

better developers. That's a story from

176.72

another distant podcast episode way, way

179.36

back there. I happen to be Rob

181.2

Broadhead, one of the founders of

182.92

Development, also a founder of RB

185.12

Consulting, where we are what they call

187.04

boutique consulting. We basically sit

190.159

down with you and craft a custom recipe

192.56

for your business. How to move forward,

195.599

leverage technology through

197.36

simplification, integration, automation,

199.36

even innovation. We help you wrangle

202.959

that technology sprawl, give you a good

206.08

understanding of what's out there, what

207.68

will work for you, your budget, your

209.68

where you're at, not only today, but 6

211.92

months, six years down the road and

213.959

beyond. Putting together basically a

216.319

technology roadmap so you can make the

218.72

best use of your investment in

220.36

technology for as long as your business

222.879

exists basically because technology is

224.799

always going to be around. Good thing,

226.72

bad thing. H this is this is a different

229.92

way. I'm trying to like trying to think

231.599

cuz I've had a pretty good string of

233.68

good. So, the bad we'll have to see how

236.64

that one goes. Um, I'll give you I'll

240.4

give you a fun one. So, good thing is I

243.92

had a day that was going to be full of

247.56

driving. I was like, I'm going to be

249.76

spending the day driving. I'm probably

251.28

going to It wasn't, you know, it's

252.4

basically like I'm going to be chill.

254.48

I'm going to be able to just like hang

255.92

out and stuff like that. And it turned

258.799

into almost a better thing because I had

262.639

my daughter was going to go with me who

264

had to work and so we're like all right

265.44

we got to bail out on this. So now I

266.96

suddenly got a free day because I was

268.639

going to be driving. Now I'm going to be

270.32

driving at the middle of the night.

272.24

Foreshadowing of the bad thing

275.16

but managed to essentially be forced

278

into a free day. Now some unknown people

281.36

actually hijacked that day and I ended

283.199

up in like 18 hours of meetings. It felt

286

felt like uh but I did see a good movie

288.72

at the end of the day. If you haven't

289.919

seen the amateur, I highly recommend it.

291.84

It is a uh it's a slow burn movie if

294.639

there ever was one, but it's actually

296.24

really good. And uh Ramik, whatever his

299.04

name is that did Freddy Mercury in the

301.6

the movie, and he's done a couple of

303.12

these. Little oddl looking guy, but he's

305.44

he's like just right for this kind of

307.199

part. So really fun movie. And then of

310.32

course the bad thing, the really bad

311.84

thing was then we started our drive a

315.12

six-h hour drive. Well, what should have

316.88

been about a 4-hour drive, 5 hours once

319.919

you had the time zone change at about

321.84

midnight. So we got in about 5:00 a.m.

323.84

local time. And part of that was it took

326.24

longer than normal. Uh it was not a

328.16

quick trip because we had all kinds of

330.16

like flood issues and stuff like that.

331.68

So moral of the story is once you have a

335.36

free day, do not take any calls or texts

337.84

or anything else because they might just

339.919

blow you up. Especially if the person

343.199

sending those are Michael, who is now

345.28

going to introduce himself. Hey

347.28

everyone, my name is Mike Malashsh. I'm

348.88

one of the co-founders of developer

350.479

building better developers. I'm also the

352.4

founder of a company called Envision QA

354.32

where we help businesses really

356.8

understand if the software is working

358.56

for them. If you're having problems with

360.479

your software stack or just your

363.039

day-to-day processes, your your software

364.88

is just not helping you run your

367.039

business, we come in, we help you

369.52

analyze your systems, we help you define

372.319

your processes, and we will either build

374.479

you something custom or help you really

376.479

find the solution you need to really

378.96

improve your business and make your

380.8

customers happy. Good thing, bad thing.

384.319

Good thing, we survived the storms. Uh

388.24

it we've had some nice warmer weather.

390.639

It's been nice. I've been able to sit

392.08

outside. Uh bad side of that, my

394.8

allergies are back to killing me again

396.88

because a few more trees have not come

399.36

in yet. And so I figure I got about

401.6

another two to 3 weeks before I'm done

404.479

with the

405.4

pollen. Little other bad thing with that

408

because it's warmed up, the stupid bores

410.4

are back. And I have I I almost called

415.12

the pest company to come out and spray

417.199

this time, but I got some spray and I

420.16

actually sat outside uh the last few

422.4

evenings with a little uh flice water

425.36

and bminton and we've just been bashing

427.599

the heck out of these bores that are

429.599

driving us nuts. So, that's been good

432.24

and bad. All right, pro tip. Um whatever

436.96

you call them, uh also called like

438.72

carpenter bees and stuff like that. uh

442.4

Exterminator gave me this trick a while

444.16

back and it has turned out to be

445.759

phenomenal is what you do is you wait

448.08

until sundown till it gets like you know

450.8

so they because basically they they go

452.24

out during the day and they come back at

453.599

night so you wait till they're all home

455.599

and then you go find their little holes

457.12

that they've drilled in their little

458.24

nests and you take some WD40 and you

461.039

shoot it up in there and basically it

464.16

totally messes with them and ends up

466.72

they end up basically I don't know if

468.4

it's you know suffocating or whatever it

470.479

is but it eventually kills them and not

472.479

and mostly it'll kill them in there.

474.16

They don't come flying out and it will

476.479

screw it up enough that nobody's coming

478.16

back to that nest or anything like that.

480.08

And I have I had a lot of trouble with

482

that in my last house. I probably have

484.319

like if I had little uh tats I'd

486.879

probably have like 4,000 tats down my

488.639

arm of all the little bees with little

490.639

tears or whatever they would be that I

492.479

took out. But it does work. It's uh

495.84

there's a lot of stuff that doesn't kill

497.12

them, but that stuff will. And it's uh

499.52

it's it's sadistically fun to sit there

502.08

and watch them like try to you know

503.52

because they'll come out and try to get

504.639

after you but their their wings are shot

506.639

so there's nothing they can do and you

508.16

just like sorry bud you came to the

510.56

wrong house. All right but that makes

512.88

sense though. That's a good tip because

514.479

we've tried that but we've never done

516.56

that in the evening. We've always done

518.32

that during the day. So that that's a

520.64

good trick. Yeah. You got to wait. It's

522.24

sort of fun to sit there and have a

523.279

glass of wine while you watch them come

524.56

back saying this is your last trip home

526.56

buddy. So, the violent portion of this

528.959

now you can go get their kids and they

530.56

can watch the rest of the show because

532

we're going to move on from that

534.16

hopefully depending on because this

535.92

topic could actually introduce some

537.68

vulgar language along the way depending

539.279

on how we go with those stories. We're

541.279

going to talk about MVPs and I'm not

544.32

talking most valuable player. This is

545.839

not sports. I'm talking technology,

549.279

software, things like that. actually

551.279

producing any kind of physical product

553.12

even these days which is a minimally

554.959

viable product which is what is the

558.24

least you can do that creates a product

561.36

or service even I guess that you can

563.76

sell to customers and it brings them

565.44

value so they give you money and you

567.36

give them an equal or greater preferably

569.6

a greater value for their money based on

572.16

this now that doesn't mean that it's

574.24

like it's not necessarily version 1.0

576.8

it's not ne necessarily version 8.0 No,

579.44

it is literally give them something that

581.76

solves their

582.92

problem. Don't go nuts. No bells and

585.6

whistles basically or very very minimal

588.399

bells and whistles. And we'll talk about

589.839

that a little bit, but essentially

592.56

giving them something that solves their

593.92

problem. They say, "Yep, I take my money

596.72

that solves my problem." And then that

599.36

allows you to take in money. The whole

601.36

idea is then you can bootstrap it from

602.64

there because now you have revenue,

604.399

you've got a product, you've got

606.36

customers, you've got feedback from

608.64

those customers, you can build better

610.8

product, whatever that is, or you can

612.8

also go out and do things like, you

614.399

know, get funding and things of that

616.16

nature. MVPs are very nice to have

618.8

because it's basically saying, I now

620.64

have a product and I spent as little

623.12

time and money as possible to get to the

625.68

money-making portion of my of my

627.76

business plan. Now, a challenge for this

632.04

is when you are doing it for a customer,

635.12

when you are trying to get to a point

637.12

that that the customer has a a limited

639.839

budget. And this is honestly even if

642.16

it's not an MVP, sometimes you're going

643.68

to have a customer that needs to solve

645.36

their problem and they have budget

647.839

constraints of some sort. And that

649.279

budget may be money, it may be time. So

652.079

those limiting factors are the ones

654.48

they're usually not going to say don't

655.839

give me something you know too high a

657.839

quality because it's really it's time

660.32

you know especially it's resources time

662.16

and and quality are your three legs of

665.6

your

666.68

stool quality is sort of like always

669.12

going to have a that's one they're

670.64

always like ah I want a lot but do what

673.12

you can with the other things which is

675.2

the time and money time is the easiest

678.079

one to work with because basically if

679.68

you're like if it's a deadline we have

681.519

to have this by, you know, January 1st,

684.24

December 31st, something like that. Then

687.279

you know what the time is and you just

689.68

figure out as much as you can get done,

691.92

but you need to make sure, and this is a

694.16

trick with that one, need to make sure

696

that you are complete in a way that you

698.16

can deliver it on that date or before.

701.76

So it doesn't mean that you're going to

703.04

write code up until it's December 31st.

705.2

It does not mean you write code until

706.48

December 31st. It means that you need to

708.72

make sure that your code cut off is

711.44

sometime before that that allows you all

714.72

of the things that need to be done to

716.8

make sure that that thing can go in and

718.56

be production ready going on December

721.36

31st. And that's yes, sometimes testing,

725.839

but the harder things that are in there

727.44

as far as like a hard deadline or a hard

729.76

time frame are going to be things

731.04

probably like deployments. Uh there may

733.68

be some sort of uh fulfillment or

735.76

something like that. There may be

736.959

servers that you have to like spin up or

739.839

uh domains that you have to get going or

742.24

maybe there's mail-in lists that you

743.76

have to warm up. There's all kinds of

744.959

stuff like that that can go into these

746.72

things that you need to make sure that

749.279

those are taken into account. And what's

751.6

typically done is it's called backward

753.6

scheduling and contingency planning.

755.2

When you do that, which is essentially

757.519

you get you have your deadline date, you

759.44

know how far you've got to get there and

761.519

then you start basically building out

763.2

milestones saying okay well to get to

765.839

this end date I have to be at this point

767.76

at you know at this point have this much

770.8

done to be at this point and then you

772

roll that well then that means I have to

773.36

have this much done at this point and

774.48

you roll back say well I have to have

775.6

this much done at this point and you go

777.12

all the way back to basically right here

778.639

and now where you're at and go okay can

781.04

I do that or if now you had to have

784.16

start you started three weeks ago. Then

786

it's like, all right, I got to, you

787.36

know, I've got to cut some stuff out.

789.2

And the contingency planning thing is

791.44

you just did a happy path to get you

793.279

from here to completion, but now you've

795.44

got to be sitting there going, all

796.839

right, this is a very uh hard firm set

800.639

of milestones and deadlines. So, we need

802.8

to make sure that we have built in

804.959

whatever planning and whatever wiggle

807.36

room we need to ensure that we really

810

can hit that date. So, while it is in

813.2

some points easier because you have a

815.04

hard date, it's also in some points

816.48

harder because you have a hard date and

818.48

there's a lot of stuff that you can't

819.839

work with. So, quick question for you

821.92

there. Yeah. So, for those listening,

826.399

you've laid out kind of the way to back

830.32

the way to figure out that the road map,

832.56

the contingency planning. What happens

835.12

when you miss that or you did not plan

839.199

for that and you now are reaching a

841.199

point where it's like crap now we're

843.199

three we're supposed to be started 3

844.959

weeks ago but now

846.44

we're say two months from the end and

850.32

we're a month you know where how do you

854.079

handle when you reach a point where

856.56

you've missed the mark and things are

858.079

way off track

860.8

when you've missed the mark and they're

862.079

off track I like to think of like and I

863.839

can't think a movie where it's got it

865.519

specific, but there's there's probably

867.12

several movies you've seen where and

868.72

probably even in cartoons where, you

870.399

know, they're like in a boat and

871.92

something's chasing them and they're

873.519

trying to get away from it. So, they're

874.72

just throwing stuff off the boat to try

876.24

to get the boat light lighter and

877.76

faster. That's effectively what we're

880

doing at that point. And this actually

881.68

is going to occur possibly regardless

884.48

what your resource constraint is. So,

886.16

this could be in money too. It could be

887.6

that, and this happens a lot. So it may

889.839

be your fault or it could be for example

892

you've got a customer that thinks they

893.68

have a budget and they are sure they're

895.92

going to get to this certain point and

897.12

everything's funded and suddenly some of

898.48

the funding falls through and now

901.199

suddenly the six-month runway you have

903.76

turns into one month or it's like well

906.72

you can do more than a month's worth of

908

work but you're not getting paid after

909.279

that you know which is usually pretty

910.8

heavy incentive to get it right. So,

914

this actually goes to that whole idea of

916.72

minimally viable product. And honestly,

919.68

when you have something like that, when

920.959

it's like, we're off track, but we still

923.12

have a deadline. We cannot get all this

926.24

stuff done. Guess what? It's time to

928.8

make some potentially hard choices. Now,

932.32

there is usually, and before I throw

934.48

this to Michael, I'm going to throw a

935.76

couple ideas out here because I'm going

937.519

to see what your thoughts are on these.

938.88

There are usually

941.199

um I'm going to be like mean about these

944.32

and call them there's like fluff items

946.32

that are involved in projects. There are

948.48

things that we do and there are

950.88

processes and procedures and red tape

953.12

and all that kind of stuff that we do

954.88

have that definitely help us with

957.36

quality and communication and things

958.88

like that, but they also are things that

961.759

aren't actually necessarily getting the

964.32

work done. These are often meetings of

967.36

some sort. Uh sometimes there's certain

971.079

um there may be a flow or something like

973.44

that. For example, maybe we have our

975.12

we've set everything up with CI/CD

977.24

pipelines, but it takes six hours to do

980.72

a deployment because they have to go

982

through all these steps and hoops. So

983.839

maybe instead of that, we need to shut

986.399

that down for a little bit or turn those

987.92

things off. It could be constraints we

989.44

have on the system. For example, uh if

991.839

you're moving data or migrating data,

994

sometimes there's things where it's like

995.839

it's really slow, but if you drop all of

999.44

the indexes or all the constraints or

1001.36

you reindex it differently just for the

1003.44

migration, then you can make a world of

1005.44

difference. Um those things can always

1007.519

been cleaned up too. I've known several

1009.36

times, including one I'm on right now,

1010.959

where I create indexes on a regular

1014

basis and even temporary columns and

1016.079

some stuff like that to move the

1017.6

migration very quickly through, knowing

1019.92

that I can always come back after the

1021.639

fact, blow those guys away, clean

1024.4

everything back up, and make it pristine

1026.079

when we get to production grade. So,

1028.48

it's it's a little bit of a instead of

1031.679

let's make everything do everything

1033.52

exactly right, it's a little bit pushing

1035.679

it, which I don't always recommend this,

1038

but it's pushing it to say we're going

1039.6

to worry about getting it right when it

1040.88

goes to production, but before that,

1043.6

we're going to like we're going to find

1044.959

a way to streamline some of these

1046.319

processes. And that means that we may

1048

remove some of our normal barriers just

1050.48

so we can do that. Now, I do want to say

1052.48

be very careful when you do that because

1054.08

you may end up putting yourself in a

1056.24

worse situation than you would have been

1057.76

otherwise. So, you need to be very

1059.679

intentional about where you decide to

1061.52

get rid of, you know, when you get rid

1063.039

of guard rails, just make sure you're

1065.12

driving a lot better so you don't go

1066.96

over the

1068.2

edge. Um, one other thing you can do is

1071.76

the the obvious thing is do less. So

1075.12

look at the tasks and if honestly if

1077.44

you're off and you don't actually know

1080.08

what all has to be done to get there,

1081.919

the first thing is figure out what you

1084

need to do to get there. Get yourself a

1085.52

list and just bas say okay how do we

1087.6

complete

1088.84

this? Here's all the tasks and then look

1091.76

at those tasks and say which of these

1093.679

can we live without? And there may be

1095.84

mitigating circumstances and stuff like

1097.52

that. So you may look at and say, "Well,

1098.88

these three tasks that would take a

1100.48

week, we can deliver something that's a

1103.679

little bit lower quality or maybe not as

1105.12

good a user experience or, you know,

1106.72

maybe there's a bell or whistle or

1107.919

something like that, and we can take

1108.799

those, we can roll them into one, get it

1110.32

done in a day, and boom, we've saved

1112.16

some time." It's literally like it's

1115.44

like any other budgetary process is look

1118.24

at what's there, figure out what you

1120.16

have to have and then start figuring out

1122.64

where you can say, "Well, we don't

1124.64

really need this or we can save a little

1126.08

money here, a little time there, we can

1127.84

do this, we, you know, if you look hard

1130.32

at it, I guarantee you you will find uh

1133.679

opportunities that are in there." Now

1135.84

going with those and then you know first

1138.32

I guess a little bit your thoughts on

1139.84

those and then what are some of your

1141.039

additional thoughts on this? Yeah. So

1143.6

when we're talking about you know

1145.28

minimal viable product to me when you

1148.4

think about taking on a project from the

1150.24

beginning like starting of the project

1152.08

how are what are you conceptually

1153.84

thinking of the

1155.32

MVP to me it is you know what is you

1159.679

know how do we solve the customer's

1161.28

problem right you know what is the end

1164.32

product going to be to solve the

1168.039

problem interestingly enough when I sit

1172.4

down with customers and talk to them.

1174.96

The first thing I think about

1177.88

is what all is required

1183.08

to build the system that is required for

1186

the MVP.

1188.24

I look at it like okay we need servers

1191.679

we need backend you know what is the

1193.679

minimum you need to put this application

1195.44

together to build it for the customer

1197.36

because that right there tells you do

1200.72

you have the skill sets you need do you

1202.64

need to go hire someone do you need uh

1204.88

or do you have missing areas like

1207.679

testing or are you building something

1210.559

that requires a

1213.44

um a content expert you know are you in

1216.32

a area where you need someone with more

1218.72

legal experience to cover backend stuff

1221.28

because there's things that sometimes

1223.52

when you build these systems or you hear

1225.44

it, it's like, "Oh, this is easy. I can

1226.96

build this." And then you get into it

1228.32

and you find out, oh crap, you know,

1231.36

there are way more things to think about

1233.919

than what we initially thought about.

1238.2

So MVP to me

1241.64

is what is the to what? All right, let

1246

me back up one sec. So when I think

1249

MVP, I think what is the minimal, not

1253.36

necessarily most viable product, but

1255.52

what is the minimal requirements? What

1258.559

is the minimal features I have to put in

1261.52

place to get this working for the

1265.72

customer? Then add all the bells and

1267.919

whistles and UI and pretty it pretty it

1270.88

up for them. So MVP to me could be

1274.96

almost wireframe web applications. Like

1278.159

you are getting the ugliest application.

1280.559

It's functional. It works. But we need

1283.039

to pretty it

1284.36

up. To me, as long as you get an

1287.2

application out that covers everything

1289.28

the customer needs and it is usable, it

1292.799

is user friendly enough, you have an

1297.08

MVP. Then you can add all the

1300.24

prettiness.

1301.84

you can go get a UI expert to say hey

1304.799

you really need to be doing all this or

1307.2

oh here's uh quality some quality of

1310.159

life improvements you can make to the

1313.159

application. Typically when we take on

1316.919

projects we are not thinking quality of

1319.679

life. We are thinking we have a image in

1322.4

our head based on what the customer said

1325.039

and we have

1328.039

conceptually figured out how we can go

1330.4

from A to

1331.72

B. But there might be one 100 steps

1335.039

between A and B, but we only need 30 of

1337.679

them to get from A to B to be an

1340.28

MVP. You it is an art and is something

1344.159

none of us get right the first time, the

1346.48

second time, the third time, or possibly

1348.4

ever. MVPs are very hard to get right on

1351.36

a deadline because there's always that

1355.28

little wiggly thing in the background

1356.799

called the unknown, right? Those are the

1358.799

things we don't know. It could

1360.919

be government regulations. It could be

1364.88

system features that the user doesn't

1368.039

understand that their current system

1370.64

does or that they need to do to be

1373.52

compliant. So you have to be very

1375.84

careful when you think about these

1379

MVPs and you may give a deadline or a

1383.12

hey we can do this in 6 months but you

1386

run across one of these and you

1387.76

immediately have to say okay we are

1389.919

cutting the fat nice user interface gone

1393.76

you are getting the bare minimum to get

1395.84

what you can have just so we can get

1397.679

everything in some it's it's very

1402.44

hard especially for for me and I think

1404.48

it is for you too, Rob, because we

1406.44

always want to deliver something to our

1409.12

customers that our customers will enjoy.

1412.799

It gives them quality. It gives them it

1415.36

improves their lives. We don't just want

1417.44

to give them the barebones application

1420.4

to meet their needs. We kind of want to

1422.159

make it a little more polished, but

1426.08

sometimes when we're dealing with an

1427.919

MVP, the polish goes out the window. You

1430.88

have to literally get it done. So, you

1434.32

are going to duct

1435.72

tape WD40. You are going to do whatever

1438.96

it takes to get it to the bare minimum

1443.32

application. And like Rob said, you

1445.76

know, sometimes budgetary constraints

1447.44

happen. Oh, customer suddenly loses

1449.6

funding. How can you still get them from

1452.559

where you're at to deliverance to

1455.679

delivery without breaking your budget

1459.2

too bad? You know, at the end of the

1462

day, we all have to get paid. You know

1464

that we don't do this for free unless

1466.32

you're a nonprofit, but even then,

1468

you're still getting funding from

1469.48

somewhere. The problem is there is

1473.039

always a budgetary constraint to doing

1475.52

these things. And that unfortunately is

1478.559

one of the biggest struggles we have

1481.799

because you may quote one thing but if

1485.279

it's a fixed bid you're stuck. So

1487.679

anytime after that you are losing money

1490.159

or you are it's costing you money and

1492.4

time to get this product out the door.

1495.799

So, I like how you brought up the

1498.64

contingency planning

1501.159

because to me, I try to think about that

1503.919

upfront, but it's one of those

1506.52

where sometimes you don't have

1508.72

everything up front. So, you can't quite

1510.48

do the contingency planning up front.

1513.559

And maybe as you're building the road

1516.4

map or you're building out the project,

1518.32

as you're going through stages, maybe

1520.559

divide it up by four. Say you have a

1523.76

16week project. You divide by four.

1525.76

Every four weeks you have a pause. Okay.

1530.72

At the end of this phase, where are we

1533.2

at? Is the road map or what we perceive

1536.32

as the road map on

1538.52

track? The next four weeks at 16 weeks.

1541.6

At the halfway point, you should be more

1544.88

than halfway to completion on this. You

1547.679

should be almost ready to put a product

1549.6

in front of the customer or do some type

1552.08

of user acceptance

1554.279

testing, especially when you get to the

1557.12

in between point after that because you

1560.08

don't want to hit the end and be like,

1562.159

"Oh, we have no testing. User hasn't

1564.4

seen this. There's no training." So, you

1566.48

got to make sure that somewhere between

1568.159

the beginning and the end of the project

1570.159

that you go through the process of

1573.039

including the customer, doing user

1575.12

acceptance testing. You know, I always

1577.36

talk about testing, but the problem is

1579.44

when we get into these

1582.36

projects, any project I've worked on,

1585

testing is

1587.08

always there is some form of testing,

1589.6

but the full testing is unfortunately

1592.159

limited or thrown out to the very end

1595.12

because we're too busy trying to meet

1597.039

the constraints or the deadlines that we

1599.44

have within budget. Every company has

1601.919

this. It It's hard. I it's that's

1606.679

why if budget permits or you can add to

1610.799

the budget get that tester in at the

1613.76

beginning because you really need to be

1615.679

building that as you go so that by the

1618.4

midpoint you have all these testing

1620.48

point where the developers can say okay

1622.4

I've made code changes I push a button

1624.48

boom oh something broke I can go fix it

1627.2

so you don't waste time on manual

1629.799

testing or tracking down bugs later

1632.559

which is more expensive

1634.48

What do you think, Rob?

1636.72

Now, I want to give a I guess a a little

1640.88

secret that you can use uh when you to

1643.6

help you with some of these things. Um

1646.72

sometimes you're going to know up front

1648

that you're going to have a you're going

1649.279

to know what the limits are. Often

1651.679

you're not. There's going to be a point

1653.039

where you and this is this is where

1655.36

honestly this is where agile and sprints

1657.36

actually comes into focus is it's the

1660.4

whole goal of this is that we are going

1662.32

to periodically in very short period you

1664.24

know two three four week sprints however

1666

it is we're going to have something that

1667.76

is deliverable it's not necessarily an

1669.72

MVP but it

1671.72

is moving towards an MVP something that

1675.12

they can use the whole point if you look

1677.76

at the if you go back and read the agile

1680.96

manifesto is It's like we want to

1682.88

deliver working software. So there

1685.919

should be testing in there. There should

1687.919

be something that provides some use to

1690.88

your users. The use may be, and we've

1693.84

talked about this before, but the use

1695.2

may be that it's

1696.6

just exposing them to what you're

1699.12

building so that the UAT process can

1702.24

start. So they can do things like say I

1704.64

hate that color or I can't stand buttons

1707.76

like that or I don't know how to work a

1709.6

drop down or whatever it is that will

1713.12

help you sort of pull the UAT process

1716.32

forward. Now, if you go into the project

1719.6

saying, "I want to no matter what their

1722.88

budget is, I want to get them to a

1725.559

solution as fast as possible with

1729.24

quality and all of the things that make

1732.48

a that make so I'll be proud of what I

1734.88

put in front of them." That does help

1737.6

because what you're going to do is

1738.799

you're going to say, "Oh yeah, you can

1741.44

give me a billion dollars in a year, but

1744.08

I know I'm going to underpromise and

1746.159

overd deliver and I'm going to be able

1747.52

to get this done maybe in six months for

1750

$100,000 or you know, whatever it

1752.2

is." That's where you need to be going.

1754.48

I think too often there's this whole

1756.48

like let's get this budget and then

1758.48

let's build something to the budget as

1761.12

opposed to let's get the requirements

1763.76

and let's build a solution that meets

1765.6

the requirements because if you build a

1767.52

solution that meets the requirements

1768.799

you're honestly looking at the MVP all

1771.2

along because somewhere along the way

1773.679

you're going to give them an MVP and

1776.799

then since you still have room then

1778.32

you're going to be adding bells and

1779.6

whistles and improvements and all of

1781.6

those other things. But somewhere along

1783.52

the way, before the inline, you have

1786.08

already delivered an MVP. Now you're

1788.32

doing a uh a more valuable product

1791.44

instead of a minimally viable product or

1793.36

something along those lines. And so that

1796.88

is the little secret that I'm going to

1798.159

give you. We're not you don't even have

1799.36

to listen to the YouTube side this time

1801.12

to get this bonus material. Now, the

1804

challenge for this one gets to that

1806.88

point. Whatever project you're on,

1809.6

whether you're on track, ahead of

1812

schedule, behind schedule, take a look

1814.559

at what is on the backlog or the to-do

1818

list or the feature list and just take a

1821.76

critical eye to them. This a lot of

1823.44

times is something won't take you that

1825.039

long, but to just sit down and look at a

1826.88

critical eye and just say, "Do we really

1828.96

need these things?"

1830.32

Now, you might not be able to answer

1831.679

that, but I think it is worth it,

1833.36

especially if you're part way, you know,

1835.76

even a quarter of the way or beyond into

1837.52

a project is to go to the customer with

1840.399

those or whoever the the end user is or

1842.799

the product owner or whoever that is and

1844.399

say, "Here's some things that I don't

1846.48

think we really need and this is why."

1849.52

And just see if you can reduce the scope

1851.919

a little bit. So, you're basically

1854.08

pretending like we've suddenly changed

1856

the game and that we now don't have as

1857.679

much, you know, runway and you're going

1860.399

to adjust for that. Even if it doesn't

1864.08

work at all and everything stays the

1865.679

same, that's okay. The process of taking

1869.12

a critical eye to what you're building

1871.44

and sitting there and saying with each

1873.36

feature essentially, is this really

1875.76

important? Does this serve my customers

1878.24

requirements or not? is a very useful

1881.52

challenge for you to go through. It's a

1882.96

very useful skill for you to pick up

1886

just like writing emails. And to

1888.88

practice that, you can send an email to

1891.72

[email protected] and let us know

1893.6

what you think. Where are you at? What

1895.44

do you like? What don't you like? What

1897.36

are some requirements that I would love

1899.039

to hear? This would be a fun little

1900.24

thread at some point. What are some

1901.6

requirements that you had that you

1902.96

suddenly realize we don't really need?

1904.799

Because those are fun stories. Those are

1906.96

the kinds of things that developers sit

1908.48

around going, you would not believe what

1910.399

these people wanted and we finally

1912.64

talked them out of it. Or you would not

1914.88

believe what these people said they

1916.08

could do without and we finally

1917.919

convinced them that no, you do need

1919.679

that. So those are fun stories in and of

1923.08

themselves. If you enjoy these stories

1925.36

and even if you don't, you want to learn

1926.88

some more, you can always check us out

1927.919

at developer.com. You can leave us

1929.6

feedback on any of that, any of the blog

1931.679

posts or anything that's out there. ever

1933.84

you get podcast love to hear review get

1935.919

anything back from you there uh YouTube

1938

there's a developer her channel so you

1939.519

can check this out you can check out all

1941.44

of the other stuff we've done over the

1943.279

years there's lots and lots of of video

1946.159

content out there as well as long as go

1948.32

along with the and the bonus what and

1951.44

the bonus material and the bonus

1953.279

material that happens on almost every

1955.64

podcast uh except for sometimes I just

1958

spill the beans early or Michael I think

1959.679

has once or twice and we've gotten the

1961.039

bonuses in a little bit early But

1963.44

usually you're going to get you will

1964.72

always get something extra, even if it's

1966.399

just looking at our pretty mugs a little

1968.24

bit, you know, after the fact. Um, all

1972.48

of that to be said, thank you for your

1974.48

time. We appreciate you and all that

1976.64

you're doing. Your customers appreciate

1978.88

you, too, because you're getting better

1980.399

as developers. And trust me, they they

1983.84

like that. They love having a team that

1986

they work with that is getting better.

1988.08

you know, maybe it's not as fast as they

1989.679

want it, but still getting better is

1991.2

always good. Go out there with your

1993.84

better self, and have a great day, a

1995.84

great week, and we will talk to you next

1999

time. All right, your turn for bonus

2001.12

material since I already just like blew

2003.039

that out. Sorry for no bonus for me. So

2006.08

hopefully I'm just putting the pressure

2007.44

on Michael now.

2009.2

So one of the things we didn't really

2010.96

talk about through the MVP is when

2013.279

you're looking at a project or in your

2015.32

project there's really a couple

2018.44

categories musthaves what is the minimal

2023.279

you know what is required to get the

2025.32

project functioning to build the basic

2029.24

infrastructure to get the application to

2031.519

work. Then there is the um so that is

2035.2

the uh must haves. Then you have the

2037.76

need to haves. These are things that the

2039.84

customer really wants. They really need

2042.08

it to do their work but it is not the

2046.72

must-haves. The must haves are what you

2049.2

need to have the application working. If

2050.879

you don't have the must haves, the

2052.079

application won't work.

2054

The need to haves could be things like,

2055.919

oh, I need an additional screen to do

2057.839

this or to do something extra outside of

2061.04

the core functionality. So, must have

2064.079

core functionality need to have things

2067.04

that are a little that are still

2069.28

required for the business but are a

2070.8

little outside of the must-haves for the

2072.96

core application. And then you have the

2075.52

wish list or the nice to haves. These

2078.24

are things like, oh, I would like this

2080

to be very polished. Oh, I'd like this

2081.679

to work on my mobile app. or oh I would

2083.44

like this to work on multiple browsers.

2085.919

These are things that can be pushed to

2089.52

the very

2091.159

end. 90% of what you need to have for

2094.24

the MVP is in the musth have or I'll

2099.04

even say 80%. The other 20% is the need

2101.599

to have and I would say maybe well all

2104.8

right so to keep this within 100%. So 80

2107.92

19% 1%. 1% is

2111.4

the like to have the, you know, would

2115.04

like to have. Keep it in that core. Get

2119.52

that core done. Make sure that is solid

2122.88

within your requirements. If you don't

2124.96

have that, your MVP is going to fail.

2130

I think that's pretty good way to stop

2131.92

to wrap this one up is yeah, you got to

2134.64

look at it. Really does. MVP comes down

2137.92

to requirements. It comes down what and

2140.64

literally the definition of that word,

2142.079

what is

2143.24

required. And a lot of times you're

2146.16

going to hear something is required, but

2147.76

when you dig into it a little bit more,

2149.76

you're going to find out that that's not

2151.28

actually what's required, but something

2152.72

else is. I I hearken back to a story

2156.72

I've used a couple times where somebody

2158.64

needed this really fast way to view this

2162.44

millionpage report and they really

2166

didn't. They just needed to know the

2167.599

number of records in the page. So all of

2169.599

this work that went into trying to do

2171.119

this complex paging and caching actually

2174.4

was not needed at all cuz the only thing

2176.079

that they really wanted to do was run

2177.76

this huge report jump to the last page

2180.16

so they could see a total at the bottom

2183

and almost killed a customer over that

2185.68

one because we spent a lot of times

2187.119

before we finally got to that was like

2188.8

really that's all you need? It didn't

2190.88

occur to

2191.96

you didn't occur to you that maybe even

2194.64

they didn't even occur to them like

2195.68

maybe we put the total on the first page

2197.28

so they don't have to page through all

2198.64

the others.

2200.76

But that's why we're here and that's why

2204.4

sometimes we drink during episodes but

2206.88

we haven't this time or at least not

2208.64

anything other than water and caffeine.

2210.88

And I had caffeine free tea so I'm

2212.64

probably if I peel over at some point

2214.56

now you know why. At any point thank you

2216.96

guys as well. Thank you for your time

2218.48

for hanging out with us. We'll be back

2220.4

with another episode. We are just

2222

cranking along. We got some more fun

2223.76

stuff to deal with. So, go out and have

2225.599

yourself a good one and we will talk to

2227.119

you next time around.

2230.39

[Music]