How To Avoid Being Held Hostage By Your Software Developers
Episode Stats
Words per minute
202.2753
Summary
In this episode, I teach you how to get your product built without feeling like you have been taken hostage by your development team. I talk about how to manage your team so that you don't feel like you are losing control over your development process, and how to ensure that your developers are actually executing on the features you need to get built.
Transcript
00:00:00.000
Hi there, I'm Dan Martell, technology entrepreneur,
00:00:08.600
like you've been taken hostage by your development team.
00:00:11.040
And be sure to stay to the end where I share a link
00:00:17.720
but also ensure that your developers are actually
00:00:19.720
executing on the features you need to get built.
00:00:30.000
So maybe you're feeling frustrated that you've hired an external dev team and they've been
00:00:38.080
working and the scope's got out of control and it's costing you more and more money or
00:00:42.480
you hired a developer off of Upwork and you can't really seem to get a hold of him.
00:00:51.080
You're kind of unsure if he's actually doing the work or if he's just taking his time.
00:00:55.840
Things are getting built fixed but it's not moving to your liking.
00:01:08.660
that you don't feel like if you had to swap out this developer,
00:01:14.400
that you wouldn't have to feel totally stranded,
00:01:18.220
or if you needed to bring somebody else to augment the team,
00:01:23.960
You know, I've started off my career as a programmer,
00:01:27.620
So, technically speaking, I've never had this challenge.
00:01:31.120
I've coached many entrepreneurs, non-technical founders on
00:01:34.100
how to deal with this and a lot of the strategy I'm going to
00:01:36.100
teach you with today came from that process but I will say
00:01:40.400
from a financial point of view and maybe you can relate to
00:01:48.200
All of my understanding of financials came through just
00:01:51.240
doing, building, buying, investing in companies but what
00:01:54.020
I did maps to the same process as your development team.
00:01:57.380
The first thing is I made sure that all of the financial
00:02:01.280
systems, and this is back, you know, going over 15 years ago,
00:02:05.480
Today you would use something like QuickBooks Online.
00:02:09.500
that I had multiple people involved in the process so no
00:02:12.420
one person could take me out and I ensured that I brought in
00:02:16.260
experts to help me understand and teach myself at a high
00:02:19.240
enough level how I can get through understanding the
00:02:23.200
reports and also ensure that no one person could cause me
00:02:26.700
challenges so that's what I'm gonna walk you through as it
00:02:30.300
Step number one, cloud-based source repository.
00:02:33.800
Now if you don't know, you should ask but all great
00:02:37.200
developers and really any development team should have the
00:02:40.220
code, the programming language that you built your product in
00:02:45.120
up in the internet, in the cloud, the cloud is such a weird
00:02:48.420
word and essentially up on a server and some of the tools
00:02:51.920
and I'll link them below are sites like GitHub that allows
00:03:00.000
You can deal with conflicts and as a business owner you can
00:03:03.500
actually see the change log of all the different changes that
00:03:08.720
Honestly, if every day you wanted to go check out the
00:03:10.540
change log and see what's being contributed or submitted to
00:03:15.560
So that's number one is you got to get your code up in the
00:03:17.920
cloud and monitor it ideally on a daily basis to make sure
00:03:21.220
your developers are actually pushing new changes to the
00:03:24.460
repository. Number two, centralized access control.
00:03:28.460
So when it comes to authentication or logins you need a place
00:03:33.760
You have your administrative accounts on your servers,
00:03:37.060
in your source repository, all the different developer tools
00:03:41.660
So the best way to do that is to use a product that allows you
00:03:45.260
to consolidate all those logins but then share them to
00:03:48.260
different people or roles or groups of people like your
00:03:51.520
development team so that they can use those logins especially
00:03:54.420
if you don't have the ability to sign new user access to it.
00:03:58.260
So tools like a 1Password Team Edition or many others,
00:04:13.980
If I found somebody else to actually help me out,
00:04:16.400
I wouldn't even tell them how to get access to the system.
00:04:33.040
At a minimum, when they're contributing new code
00:04:35.440
to the source repository, they should be writing some level
00:04:38.440
of description, they should be commenting their code.
00:04:40.740
But I think it just makes it easier if you just start off
00:04:43.740
as a culture and say, hey, every two weeks we're gonna sit
00:04:48.440
And this could be everything from the database design,
00:04:56.120
But I think it not only ensures that it's getting done right
00:04:59.240
but it also lets your development team feel like
00:05:01.920
there's a reason for writing all this documentation
00:05:08.120
I don't really understand this, can you explain it to me?
00:05:10.200
But that way you know if you brought somebody else in
00:05:14.000
because all the documentation is up to date and accurate.
00:05:19.260
Now this is the one, I kind of stack them based on
00:05:31.100
Well the truth is, is just like in the financial example
00:05:33.600
I told you at the beginning, I need somebody else
00:05:38.220
And the good news is, is there's so many incredibly
00:05:40.980
talented programmers that might charge you 300 bucks an hour
00:05:43.980
that you might not be able to afford to write your code,
00:05:46.620
and trust me, there's way less expensive options,
00:05:49.620
but to have somebody in and just make it part of the process
00:05:52.360
and say, hey, every month I'm hiring a guy for four hours
00:05:55.560
to come in, review your code, give you some feedback,
00:05:58.740
give me some feedback on how we're building things,
00:06:01.040
the frameworks, are we building an extensible model,
00:06:05.680
And that way for a few hours, a few hundred bucks,
00:06:09.240
you're gonna feel comfortable that it's being built right,
00:06:11.780
you're gonna have a second pair of eyes on the code base
00:06:14.780
and you'll know if all the other stuff I already suggested is
00:06:18.420
So paying somebody else for a code review especially you can
00:06:20.980
get it for free if you build an advisory board.
00:06:23.060
I've got a video below on how to put that together so you can
00:06:25.460
watch that but having somebody come into your business, look at
00:06:29.320
the code, give you feedback on a monthly basis is an incredible
00:06:33.160
idea to never feel like your dev team's doing things wrong or if
00:06:37.400
they bounced and left that all of a sudden some new person is
00:06:39.880
going to come in and go holy moly, you've got a spaghetti
00:06:42.900
code, a rat's nest of features that really don't make any
00:06:47.580
sense, you just need somebody else to look it over.
00:06:52.400
So the best way to build it into the culture so it doesn't
00:06:55.920
catch somebody, you know, off guard because the truth is if
00:06:58.680
somebody's actually writing code and being good, the last thing
00:07:02.260
you want to do is say, hey, let's talk about like, you know,
00:07:06.660
The way I think about it is as a business you should just build
00:07:12.760
So that means for you as a CEO, your marketing person,
00:07:17.020
you should always ask yourself what happens if somebody has a
00:07:19.960
baby, gets injured, gets sick, whatever it is takes another job
00:07:26.140
We just need to plan for this and ideally on a quarterly basis
00:07:30.780
you know what, marketing point if something happened for a month
00:07:33.420
we would just transition the load or we'd hire this
00:07:35.240
contracting company and then from a development point of view,
00:07:37.980
well, we would probably have to work with this contractor
00:07:40.640
that we met, so why don't we just put the documentation
00:07:45.720
So just the idea of talking about succession planning,
00:07:48.660
not specifically for your developer or your dev team,
00:08:05.600
and then that way you'll sleep better at night.
00:08:07.960
Number six, continuous integration, or what's called CI.
00:08:13.640
is anytime somebody submits code to the source repository,
00:08:17.280
you know, up in the cloud, it builds the code to the,
00:08:23.620
so everything it needs to actually like take the code,
00:08:29.320
make sure the features are good, everything's fun,
00:08:33.520
So same thing but what happens is it automates that process
00:08:37.220
so you know that just the fact that if you needed to scale up
00:08:41.320
your web servers or scale up your database infrastructure,
00:08:44.120
the continuous integration process is gonna keep track of
00:08:47.620
dependencies so you never feel hostage to even just the
00:08:52.820
There's the code that runs on the servers but then there's
00:08:55.620
your server configuration for your different environments.
00:08:58.020
You know developers usually build on their local environment
00:09:04.020
Staging is where you test stuff and then that gets pushed
00:09:06.460
out to production where your customers interact with it.
00:09:14.360
will allow you to feel comfortable that not only is the
00:09:16.660
code kind of centralized and documented and well built
00:09:20.640
through the steps one to five but now all of a sudden the
00:09:23.380
server infrastructure and the configuration and just
00:09:28.540
It's gonna make you feel super, it's an advanced thing.
00:09:36.360
But the truth is, is if you haven't done one to five,
00:09:39.060
At some point, somebody on the team's gonna bring it up
00:09:41.120
because it's just a great best practice for you
00:10:02.040
Number six, continuous integration or what's called CI.
00:10:06.040
As I mentioned at the beginning I want to share with you the
00:10:09.840
It's below in the description below this video.
00:10:12.180
You can click the link to download that for yourself.
00:10:14.380
I'm going to go over a bunch of things that I do every week
00:10:17.120
with my team but specifically things like the scorecard so you
00:10:20.560
know what aspects to measure on each core function of your
00:10:24.600
business, the customer headline so you can actually have a place
00:10:27.800
to bring forward some wins that your rest of your team may not
00:10:30.900
even be aware of and things that they're building and
00:10:32.900
changing and then also I'm going to encourage you to rate
00:10:36.340
every meeting so that every person feels like they have the
00:10:39.440
opportunity to voice their concern if they're on a meeting
00:10:42.580
that they shouldn't be on or if it's not adding 100% value
00:10:46.340
These are 30 to 45 minute incredibly valuable must do
00:10:49.720
meetings you can click the link below in the descriptions to
00:10:52.920
If you like this video be sure to click the like button below.