Hey! This is the Daily Overpass. My name
is Eric and I make apps. Now, today, I want
to talk a little bit more about Scope Creep.
Okay, so a few days ago, I did a
video where I talked about adding a
margin to your quote for those of you
who work with clients, right? A lot of
you have asked a lot of questions about
that, to talk a little bit more about
Scope Creep because it's such an
important thing. So I thought I would
talk about a little bit more today. And
if there's anything else you want to
know then we'll talk about that in the
future. I'm not an expert and I've been
burned so many times before. I mean Scope
Creep is something that's so important
that it can completely... Well, it could ruin
the project but can also really hurt
your confidence as a developer or as a
developer who works with clients, right?
Because it's easy if you, if you're in a
software development company and you
have a manager that could say no, yes and
no and all that kind of stuff. But
sometimes when it's just you in the
client, it could be a little bit more
difficult. Especially, if you're the kind
of person who doesn't like to say no,
right? And I'm definitely the kind of
person who doesn't like to say no, right?
So today, what I want to do is I
want to answer a question from the
other days' video from a, from iOS
Development, he said "Interesting comments
on scope creep. It's the thing that stops
me of being a freelancer. Eric, can you
tell us how many times you terminated an
agreement because the specs got out of
control?" Now actually I've never
terminated an agreement. I never stopped a
project halfway through, right? And the
reason for that is, I always ask for like
a deposit up front. So we always ask for
25% of the project
upfront. And that's not because we need
the money, it's mainly because I don't
feel comfortable doing a project unless
the, unless there's been an investment by
both sides. Because basically, if you're
doing a project for a client your ex... It's
strange to think of it this way but
you're actually extending them a line of
credit. You're doing work for them on
credit, you know, until they pay you. So you
have to minimize the amount of risk
that's involved. So if they put down a
like a 25% deposit on the project,
then at that point they've invested
enough that they can't just walk away
from it. But then again, neither can you.
So you kind of, you're both
in there. And I've been, I've been burned
by scope creep and actually not
properly quoting so or not managing the
client well enough. Because it's easy to
blame the client on a lot of this stuff.
And sometimes, they really are to blame.
But most of the time, I find it's me, it's
me, not wanting to say no and not putting
my foot down on a lot of things. So it's,
you know, trying to keep the client happy
and everything like that. And this is why,
it's important to add a margin. It's
something I did not do in the early days,
right? And I have... I have one
or two clients who, that I always think
of whenever we take on another client
project. Because I think, that was a bad
experience and I don't want to do that
again. So while I won't stop a project
part way through or at least I haven't
yet, I do always, I am very very careful
about the projects we take on now. And
this is one of the things where I won't,
I won't give up a quote over the phone.
Or why, I mean, I will over the phone
especially if we just get talking my
phone. If you know, sometimes they're far
away. Some of our clients are in the
States and in other places. So, but I
won't do it like through an email. So
like a lot of times I'll get an email
with two or three sentences saying "So
how much would that cost?" Now I will give
a ballpark, right? And now, a ballpark is
easy because you could just say "Based on
what you've told me, I would say, I'd
probably between, you know, 5000
to 7000 or something like that,
right? And that's, don't, I'm not telling
you how much I charged by the way. That's
just a figure I'm putting out there. And
sometimes, I will go on the high side
because what you want to do is, is just
let them know that what they're looking
at, you don't want to, you're not trying
to lowball estimates at this point.
You're just trying to say give them a
range. It could be between this and this
but we would need to know, we need to sit
down and go through the requirements
first, right? So then once we do that,
we'll sit down and go through
requirements. And we'll put the other
specification and try to say what will
be included in the project and what
won't be included in the project. Now,
this is what everybody will tell you.
Make sure you include what's not going
to be in there but it really depends on
the client. So one of the things that was,
so one of the times,
I really had trouble with a client is a
client was not... technically... They didn't
have a lot of technical skills. Which is
fine because that's, you know, the reason
they hired me is because they don't have
technical skills. I don't expect you to
be a software developer. But there were
little things, like this project included
a lot of data and they were sending me
like text files with notes off to the
side and things like that. Like I was
supposed to transcribe them or something.
And I said "What, could you, you know what,
I would like is if you put this in Excel
or some sort of CSV format" And they
didn't understand what that was and I
would try to explain it. And it was just,
it was really hard because they just, it
was the technical literacy was so
low. I mean it's hard, it's hard to
imagine now. It's, but I talked about it's,
you know, it's like I
got a call once on a Sunday from a
client. I was just out shopping with my
kids and stuff like that and I get a call,
this looks this might be
urgent. And I answered the
phone and he says "Eric, you could, you
gotta help me out here. I know this isn't,
this isn't anything related to the
app but you know I just, I just restarted
my computer, now all my programs are gone."
And I said "What kind of computer do you
have?" "It's a Mac" and I said "Have you
Iever rebooted it before?" "I don't, I
don't know, I don't know what that means."
And I said "Well," I said "Probably what
happened was when you restarted it you
probably went into a different user
account. So if you restarted again and go,
you should see two icons. Choose the one
that has your picture on it." He goes "Uh,
never mind Eric I figured it out."
and he left. I'm just standing there in
the mall kind of like shell-shocked like
this is what my life has become,
right? So anyway, I hadn't have a chat
with him after that, you know. I was
willing to help out but, you know, it's just
not, I'm not the 24-hour tech guy, right?
So one of the things I'm really
careful about choosing the right person
or the right clients to begin with.
And a lot of times it, so while I won't
stop a project part way through I will
say in the, in the early stages, I don't
think we're a very good fit. And that's
usually after having a few conversations.
So to give you an example, I did this
just last week with a, with a client or
prospect, whatever, right? And they
call me up. It was this company. someone
had called me up and I, we had a nice
conversation for like an hour. Actually, I
was in my underwear when we had this conversation
because I, the weekend before I had
changed my taps on my sink because one
was leaking and it kept leaking you even
after I changed the washers. So I thought
I would just go buy some, some new taps
and it just changed him out because my
man and all that kind of stuff. And then
it just leaked everywhere, right? and then,
I just, I finally got a fixed while with
like lots of putty and stuff like that,
really bad craftsmanship. And then you
know, during the day just started
spraying out all over the place. And I
had to go home and fix it. And I didn't
want to get my clothes dirty so I
stripped down to my underpants. So and
then I, then I started getting loads of
phone calls. So I'm sitting there,
sounding very professional with my iPad
covered in grime with the water turned
off in the house. Anyway, just to put that
thought in your head. But it was, it was a
very nice conversation. And he said "We
are making a decision on this today. So
if you could get us something today, that
would be great." Now this is just before I
was going off to Oslo. So it was like, I
just had a few hours to do this. So I
fixed the tap at least you know, good enough.
We ended up calling a plumber a few
days later, yeah. Don't ever call me, you
know, I could do apps but I can't do...
I can do apps but I can't do taps, right?
So as I gave them, you know, the same
thing I always do I, you know. I always
take a lot of care into do the first, the
first quote. I always do like some wire
frames, I'll do a flowchart... If
necessary, I'll do a flowchart. I always
do an architecture diagram. By the way,
always include an architecture diagram
in yours, when you send such to clients.
They always look the same, right? That's,
because it's really easy. You don't do it
because it really, it just impresses
people, you know. It's always the same. It's
database, server, API layer, cloud, app,
maybe the push notification, APNS, push
notification server over here, right? And
it doesn't really mean anything but it
really impresses the mere mortals, right?
So you send out to them.
Now it's fine and everything. And then, the
following Monday, when I got back from
from Oslo, I had a like, a message waiting
and it was somebody else saying "Eric, you
spoke to my colleague last week and
you sent through that thing. Thank you
very much for sending that. But the thing
is, it's all wrong. He was wrong about
that. So basically it's this, this
and this." So then I thought, okay so we had a
quick conversation and I changed the
document, send it off to them and then
they said "Hmm actually, we've been
thinking about it. And actually, it's
not that it's something else." And then,
then I just said "I just don't think
we're going to be a very good fit for
each other", right? Mainly because they
were proving to be what I call a
high-maintenance client, right? They were,
you know, some clients are just you
get, you get the feeling that they're
going to be high maintenance. Like
already, they've already in this short,
we hadn't started working for them and
already they've changed decision makers
which if you ever want to ruin a project,
bring in another decision maker that's
ruined so many project. And see you're
going along nicely, everybody's happy. And
then they said "Let's show it to Dave
because he's going to be using this too,
and then Dave comes in and said change
it, change it, change it, change it, right?
It always messes up and this happened
like in the spec stage. So in the end
I mean it. And I so I gave them a
ballpark figure that was on the high
side, I thought it was on the high side.
And then, in the end, I said "It's just not
going to be a good fit." And which is,
which was better to do that early on.
It's better, you know, because when you
take on a client you, you are
establishing a relationship and you are
going to be working closely with them.
And you're gonna have disagreements,
right? They're going to come up, and
they're going to come up with scope
creep. And you're gonna have to say "Yes
that's acceptable" "No that's not
acceptable", right? It's because it would
be nice if you had somebody working on
your behalf like if you're working a
software company and you have a project
manager that would go in there, whatever,
Or even better yet, if we had like we
could go on the people's court or
something like that. And we could be like,
they could be the prosecution and you
could be the defense. And the prosecution
says "Your Honor, I would like to
introduce GPS functionality into this
application. The defense says "Objection.
Scope creep." and then "Your honor, if it
may please the court, although this was
not mentioned in the spec, we do believe
this is expected functionality and it
does, it is implied in the specification."
And then the judge can say "Overruled",
right? So but you don't have that. So
you'd have to do that too because sometimes
they'll make very good points. As an
example, this is embarrassing to say but
every time I do a login screen, I always
forget the bit about "Forget Password". The
forget password link that, you know, if
you forgot your password and send the
password everything like that.
And sometimes we don't include it
because there's no mail server. And
that's one of the kind of things where
you wouldn't included in this, you know,
we won't include this because you assume
they know that. Sometimes they don't.
Ayway, I don't mean to keep rambling on
about this but I think if you, if you've
been burned by a scope creep or bad
client before, I mean, I can't tell you
how many times I've sworn off client
work, right? Is it, that's it. I'm not going
to do client work anymore we're just
going to focus on her own apps, right? And
then, and then I think well no it's
kind of fun to work on other people's
projects. It's kind of fun to keep
those skills active because sometimes
you use skills that you want to... what they
need. They'll come to you and say "Eric
I've got this idea. I've got this thing,
this component over here and this you
know, this API over here. What I'm trying
to do is mix this with this and anything.
Well, that sounds like funnel, I'll
work on that, but the only way you
need to have some power in the
relationship, and I don't mean...when
they come... if somebody comes to you and
they want you to work on their project,
what you don't want to do is have
this master-slave relationship where
you know they're just waving the
money and you're saying "I really need
the money!" you know and the way to keep
that keep from that is to have a full
pipeline, right? In the same way I
mentioned before when I quit my
job and I was looking for another job, I
was you know all the interviews, I was
doing badly until I had two or three
interviews lined up, and then I was just
confident and relaxed, right? So if you
have several clients in the pipeline or
even several client projects that you're
working on then you are more in a you
know I have the skills, you have the need
if we gel then we work together, and
don't worry if you have to tell them
that you can't work on it because it's
in the long run it's better for both of
you and you still add value because you
have a technical discussion with
them, you know, they're not quite
sure what to do and you could say you
know what I would do...Here's how I would
organize everything, you could use.... you
can use Firebase for this. You can push
notifications here. You can do this. We
would lay it out this way. Unfortunately,
I can't work on it, so you know and so
that's the way to do it and
when you're sitting you know when you're
sitting with them, it's the same as if
you go into a job. If you go into a job
interview and you're like "I need this
job! I need this job! I'm just going to,
you know I hope they have this for me."
then you know
then you're not going to do
well because the confidence is not there,
but if you go and there saying "They
have a need, I have a skill, you know,
I will trade my skill
for money and you know we'll see if we
work well together, right? because you
don't want to do is get in that
relationship where it's just, you know,
you'll do anything for money
because that never works
out and I've done that. I remember back
in the early days sending out a
specification to a company, this was a
web thing, it was like a long time ago
and sending aspect to a company or a
quote, and what they...I sent it
in five minutes later, I'm waiting to
hear back from them. Refresh, refresh
refresh, and then you know an hour later,
refresh, refresh, refresh, and I'm like
make sure the phones aren't there and
everything, I think they're gonna just call
me up right away, and I'm just really
desperate like a like a lovesick
teenager or whatever, and you know make
sure you know the next day wait for the
phone and sending that email going "Hey, I
just wanna make sure you got my quote.
Any thoughts?" and then yeah "I just
want to make sure." whatever and just nag
nag nag nag nag and they're not
interested and part of the reason is I'm
just too needy, right? So if you have a
full pipeline, you know, I think that you
have a lot more strength in the
relationship and that's what they're
looking for. They're looking for a
confident developer which is what
what you are in most
situations, but for some reason when you
get in that, you know, the negotiation
thing it doesn't work out so, but I think
you can get out of a contract but make
sure you have that clause in your
contract so. Anyway I hope that helps. I
know that's a bit rambling. Wow! This
video is really long. Sorry about that.
Hey I'll talk to you guys tomorrow.