#17 - Aligning Incentives
00:00:00
◼
►
Hello, and welcome to Developing Perspective.
00:00:03
◼
►
Developing Perspective is a near-daily podcast discussing the news of note in iOS, Apple,
00:00:07
◼
►
and the like.
00:00:08
◼
►
I'm your host, David Smith.
00:00:09
◼
►
I'm an independent iOS developer based in Herndon, Virginia.
00:00:13
◼
►
This is show number 17, and today is Friday, August 26, 2011.
00:00:18
◼
►
The format of Developing Perspective is that I'll cover a handful of links, articles, things
00:00:22
◼
►
I found interesting in the last 24 hours or so, and move over into a more general discussion
00:00:27
◼
►
towards the end.
00:00:29
◼
►
The show will never be longer than 15 minutes.
00:00:31
◼
►
Without further ado, let's get to it.
00:00:34
◼
►
All right, so our first link today
00:00:35
◼
►
is to something called Playbook--
00:00:38
◼
►
see, it's Thoughtbots Playbook.
00:00:41
◼
►
And specifically, this is just a very interesting guide
00:00:43
◼
►
that Thoughtbot, which is a pretty famous consulting shop,
00:00:47
◼
►
has put together.
00:00:48
◼
►
And they kind of walk through how they do what they do.
00:00:53
◼
►
And so it talks about how to get started,
00:00:55
◼
►
how to choose platforms, building a team,
00:00:57
◼
►
working in feedback loops, finding a rhythm,
00:00:59
◼
►
setting up technical infrastructure,
00:01:01
◼
►
choosing process tools, understanding design,
00:01:03
◼
►
measuring results, budgeting, using trends,
00:01:06
◼
►
and working in Boston are their subtitles.
00:01:09
◼
►
And I've only been able to crack the surface of this.
00:01:11
◼
►
There's a lot of information here.
00:01:13
◼
►
And I think it's just really good so far.
00:01:16
◼
►
I've been very impressed by how to under--
00:01:19
◼
►
they're analyzing and dissecting how
00:01:21
◼
►
it is that you can make a very successful consulting company.
00:01:25
◼
►
I think this would also apply generally
00:01:27
◼
►
to probably product companies.
00:01:29
◼
►
It may not be as applicable to small independents,
00:01:32
◼
►
such as myself, other than just finding little nuggets.
00:01:35
◼
►
But I think it's definitely relevant to anybody
00:01:38
◼
►
working with a larger team or with clients.
00:01:40
◼
►
So definitely worth checking out.
00:01:43
◼
►
Next, there's an excellent follow-up
00:01:45
◼
►
to Ole Bergman's What's New for Developers in macOS Lion.
00:01:53
◼
►
I think I may have-- I think I've linked to this before.
00:01:55
◼
►
There's now a part two to his original part one discussion.
00:02:00
◼
►
It's a wonderful thing where it's almost
00:02:02
◼
►
I wish Apple put out one of these
00:02:04
◼
►
rather than their kind of terse, hard to dissect release notes.
00:02:07
◼
►
Because it's just basically, in paragraph by paragraph,
00:02:10
◼
►
walking through exactly what has changed.
00:02:14
◼
►
And not necessarily in an API level,
00:02:16
◼
►
because that's only vaguely interesting,
00:02:18
◼
►
but in like, what would you use this for?
00:02:19
◼
►
How is that important?
00:02:20
◼
►
Those types of things.
00:02:21
◼
►
So if you do any kind of Mac development,
00:02:23
◼
►
definitely worth checking that out.
00:02:25
◼
►
I learned a lot from that.
00:02:28
◼
►
Next, it's kind of a sad day in many ways.
00:02:32
◼
►
So yesterday, obviously, the big news of yesterday
00:02:35
◼
►
was that Steve Jobs resigned as CEO
00:02:37
◼
►
and became chairman of the board.
00:02:39
◼
►
And while nowhere near as significant of a transition,
00:02:43
◼
►
Commander Taco resigned from Slashdot.
00:02:46
◼
►
And now I'm not a huge Slashdot fan.
00:02:48
◼
►
I bruise there from time to time.
00:02:50
◼
►
I used to enjoy it more probably when I was in college.
00:02:53
◼
►
And I was a bit more, shall we say, in that crowd.
00:02:57
◼
►
But I've been reading--
00:02:59
◼
►
the first time I read Slashtop was probably back in--
00:03:03
◼
►
I don't even know.
00:03:03
◼
►
It seems like it would probably be in the late '90s.
00:03:07
◼
►
And it's kind of set--
00:03:09
◼
►
he's always been there.
00:03:10
◼
►
I mean, it's just one of those fixtures in tech culture.
00:03:15
◼
►
And he resigned.
00:03:16
◼
►
He's moving on to other things.
00:03:19
◼
►
And it's just kind of one of those like, huh, what a week,
00:03:22
◼
►
when two fairly famous people, certainly in different leagues,
00:03:26
◼
►
in the tech world transitioned out of their current role,
00:03:30
◼
►
which is just kind of sadness in a nostalgic way.
00:03:34
◼
►
Next, there's an interesting article
00:03:36
◼
►
I found talking about a recent hack that was done on RSA.
00:03:42
◼
►
And if you've ever seen those little tokens with numbers
00:03:46
◼
►
that cycle through, they're little RSA cohens,
00:03:50
◼
►
a lot of higher security people or higher security facilities
00:03:55
◼
►
and companies need them.
00:03:56
◼
►
And so if you've ever worked for a large enterprise company
00:03:59
◼
►
or know someone who has, you've probably seen this thing.
00:04:01
◼
►
Every 30 seconds, the random numbers change.
00:04:04
◼
►
And the theory is that it makes it incredibly difficult
00:04:08
◼
►
to hack someone's password because the password changes
00:04:10
◼
►
every 30 seconds, but in a way that
00:04:13
◼
►
is sort of very understandable and usable from a user's
00:04:16
◼
►
perspective.
00:04:17
◼
►
And this is talking about how the hack that broke that
00:04:20
◼
►
actually worked.
00:04:21
◼
►
And it's just kind of an interesting thing
00:04:23
◼
►
from a social engineering perspective,
00:04:25
◼
►
where the way they actually managed to hack it
00:04:27
◼
►
was to get a Trojan inside of the RSA network.
00:04:32
◼
►
And the way they did that was by sending an email that said,
00:04:37
◼
►
2011 recruitment plan.
00:04:39
◼
►
I forward this file to you for review.
00:04:42
◼
►
Please open and view it.
00:04:43
◼
►
And so that's what they sent to dozens of people
00:04:46
◼
►
within RSA, EMC, the companies that run this,
00:04:51
◼
►
and somebody opened it.
00:04:53
◼
►
And then it's the usual-- within inside of Excel,
00:04:56
◼
►
there was a flash-embedded document
00:04:59
◼
►
that then proceeded to take over everything.
00:05:01
◼
►
And then they opened a back door and all that kind of stuff.
00:05:04
◼
►
But I was just kind of fascinated.
00:05:05
◼
►
And they have a video of what this looks like,
00:05:08
◼
►
which is definitely worth checking out.
00:05:10
◼
►
But it's just fascinating how just sending
00:05:12
◼
►
that email to hundreds of people within a company,
00:05:16
◼
►
the likelihood of someone opening it and just checking it out.
00:05:20
◼
►
I don't know, if I forward this to you for review, please open and view it.
00:05:24
◼
►
And someone does.
00:05:25
◼
►
And it's just kind of one of those things where it reminds me no matter how complicated
00:05:29
◼
►
or sophisticated your security system is, it's ultimately, if people have to use it,
00:05:35
◼
►
it's fundamentally going to be flawed in ways like this.
00:05:38
◼
►
So it's just always worth keeping in mind.
00:05:42
◼
►
Lastly, there's a link to an article published by a lawyer,
00:05:47
◼
►
Ryan Roberts, which no offense to him,
00:05:49
◼
►
but it's kind of interesting thing.
00:05:50
◼
►
I was looking through this.
00:05:51
◼
►
And basically, he said, it's like a checklist
00:05:54
◼
►
for if you were launching a startup.
00:05:56
◼
►
And it walks through, oh, you should
00:05:58
◼
►
choose this kind of corporation.
00:06:00
◼
►
You should incorporate in Delaware.
00:06:02
◼
►
You need 10 million shares, of which 8 million shares
00:06:05
◼
►
should be distributed to the initial founders.
00:06:07
◼
►
And it goes on and on and on.
00:06:09
◼
►
And it seems very interesting and helpful
00:06:12
◼
►
if that's something that you're interested in.
00:06:14
◼
►
But I must say, as I read through it
00:06:16
◼
►
and I was kind of looking through all of the investing
00:06:19
◼
►
schedules, a four-year investing schedule with a one-year cliff
00:06:22
◼
►
and all this stuff, I'm like, you know,
00:06:24
◼
►
I'm glad that I don't work for a startup,
00:06:26
◼
►
that I don't have a startup in a way that
00:06:28
◼
►
for that would be significant.
00:06:29
◼
►
The business I have is a single member LLC.
00:06:33
◼
►
And it gets money.
00:06:34
◼
►
And that money gets put in my bank account
00:06:37
◼
►
after working through the business's accounting.
00:06:40
◼
►
And that's about it.
00:06:41
◼
►
There's not really all this craziness and shenanigans
00:06:44
◼
►
and things that go on.
00:06:45
◼
►
And that just sounds as though that would be very distracting,
00:06:49
◼
►
where I'm independent to make things, to build things,
00:06:52
◼
►
to have a business of making software,
00:06:54
◼
►
not to be in the business of having a corporation
00:06:58
◼
►
and managing all of the things that go into that.
00:07:00
◼
►
Now, I'm sure you can outsource a lot of that.
00:07:02
◼
►
And I'm sure that's part of why, as a startup lawyer,
00:07:04
◼
►
he's putting out a guide like this, because this
00:07:06
◼
►
work he does for other people.
00:07:08
◼
►
But it definitely was just kind of one of those like, yep, that reminds me why I do
00:07:13
◼
►
what I do rather than sort of our heading down that road of trying to start an apps
00:07:18
◼
►
company startup or something like that.
00:07:20
◼
►
Anyway, so that's it for today's links.
00:07:23
◼
►
Hopefully it's nice to be back getting a lot of links after yesterday's sort of break from
00:07:29
◼
►
Hopefully that's interesting and useful to you.
00:07:31
◼
►
And so for the rest of our general discussion today, I'm going to move back to what I was
00:07:35
◼
►
talking about two days ago, which is about hourly billing.
00:07:38
◼
►
And specifically, I'll start off talking about the way I do it,
00:07:41
◼
►
because I think I gave a little bit of short change
00:07:43
◼
►
to that, because I would try very, very hard
00:07:45
◼
►
to keep the show to 15 minutes.
00:07:46
◼
►
And I think I kind of rushed at the end.
00:07:48
◼
►
So I was going to walk through my policy
00:07:49
◼
►
again, because I think that might be interesting.
00:07:51
◼
►
And then some kind of other thoughts about hourly billing
00:07:54
◼
►
and the pros and cons of it.
00:07:56
◼
►
So essentially, what I was saying for my policy
00:07:58
◼
►
for hourly billing-- and a lot of this
00:08:00
◼
►
is to deal with the strange cases where you get,
00:08:03
◼
►
you know, essentially the ability to double book, double bill for the same time.
00:08:09
◼
►
You know, whether you're working on one project, you know, say the classic would be if you
00:08:12
◼
►
have a contract where you're paid for travel and then you work for another client while
00:08:16
◼
►
traveling on a plane, for example.
00:08:19
◼
►
You can in theory bill both clients for that and kind of how to work through that.
00:08:24
◼
►
And then also in terms of how do you deal with things like rounding and those types
00:08:28
◼
►
And so this is basically the way that I do it.
00:08:30
◼
►
And it may not be right or wrong.
00:08:32
◼
►
Ultimately, the most important thing that is however you do it is that you're clear
00:08:35
◼
►
with your clear upfront in your contract with your clients about exactly how you do it and
00:08:39
◼
►
you're both fine with it.
00:08:41
◼
►
Because ultimately, that's the only thing that really matters.
00:08:43
◼
►
I mean, there's a lot of these things you can kind of get into about, "Oh, this one's
00:08:47
◼
►
better than this way."
00:08:48
◼
►
But if you create a system and the client agrees to that, then you're fine.
00:08:53
◼
►
So basically, the way that I do it is I only charge one client at a time for my time.
00:09:00
◼
►
So if I was in a circumstance where there is an opportunity to double book, what I would
00:09:06
◼
►
typically do there, so in the example of travel, is I would charge the person who I was doing
00:09:12
◼
►
the active cognitive focused work for my time, and the person who has travel would essentially
00:09:18
◼
►
get a discount from that.
00:09:19
◼
►
So you know, if I'm taking eight hours to travel somewhere for somebody, and I do two
00:09:23
◼
►
hours of work for someone else, the travel gets only billed at six and the other person
00:09:27
◼
►
gets billed at two.
00:09:29
◼
►
seems the fairest because what they're really paying for me is my attention for my focus
00:09:36
◼
►
and for the work that I do for them. And so it seems only fair that the person who gets
00:09:39
◼
►
the strongest amount of my attention is getting charged for that. Then beyond that, in terms
00:09:47
◼
►
of how I handle our rounding and those types of things, every project I work on has sort
00:09:52
◼
►
of a minimum amount of time that I bill in. And so this is typically a quarter of an hour,
00:09:56
◼
►
half an hour. I used to do tenths of an hour, but that became a bit too granular,
00:10:02
◼
►
sort of for practicality's sake. And essentially what I do there is, so say for
00:10:07
◼
►
argument's sake, I'm billing to the half hour. And what I do is, as I'm
00:10:13
◼
►
working, I keep track of the actual time that I'm working on projects. And the way
00:10:18
◼
►
I do this, typically I've tried all kinds of time tracking systems, you know,
00:10:22
◼
►
Billings and oh gosh, there's dozens of them and I've never found one that really worked for me
00:10:28
◼
►
What I find that works is a piece of paper
00:10:30
◼
►
Typically, it's just a notebook that I sit next to my next to where I work and I record the time that I start and
00:10:36
◼
►
The time that I stop and the project I'm working on
00:10:38
◼
►
And you just kind of get into the habit of doing that. I think that there's a bit of discipline there
00:10:43
◼
►
That's also good that you think about
00:10:45
◼
►
When you're moving from one project to the other that you take a moment and you kind of think about that transition
00:10:51
◼
►
So you're not just kind of flitting between things back
00:10:55
◼
►
And you just record the time.
00:10:57
◼
►
And then actually, so at that point,
00:10:59
◼
►
I have the time recorded to the minute, essentially.
00:11:03
◼
►
And then I use that, add all those up, round
00:11:06
◼
►
to whatever the number is, charging a minimum
00:11:10
◼
►
of whatever my unit is.
00:11:12
◼
►
So if I only work on a project, say, for example,
00:11:15
◼
►
for five minutes in a day, I will still
00:11:17
◼
►
charge them a half an hour for that, just in the sense
00:11:20
◼
►
I find that that's really that that sort of makes sense and works well for me that there's a minimum amount of time
00:11:26
◼
►
that I'm giving you any amount of attention that I'm getting sort of
00:11:29
◼
►
Renumerated for that and that specifically is a lot to deal with sort of the scenario
00:11:33
◼
►
I often find where you end up in a project that kind of drags on a little bit towards the end
00:11:38
◼
►
And there's just a lot of correspondence and you're never really getting a large chunks of work
00:11:42
◼
►
But you're doing a lot of little work that you're doing like two minutes here two minutes there two minutes there
00:11:47
◼
►
And it's just a way to sort of capture that in an honest way, I think.
00:11:52
◼
►
And that's basically how I do it.
00:11:53
◼
►
I find that works pretty well.
00:11:54
◼
►
I think it doesn't take too much to manage.
00:11:57
◼
►
It's fairly straightforward.
00:11:59
◼
►
And I think it seems fairly honest that at the end of the day, the bigger parts of that
00:12:03
◼
►
I think are just having the mindset of what you're trying to do is capture how much of
00:12:08
◼
►
your attention you're giving to each of your clients and then be paying them accordingly.
00:12:14
◼
►
So that's essentially how I do it.
00:12:17
◼
►
For the last part of this discussion,
00:12:18
◼
►
what I'm going to talk about, though,
00:12:20
◼
►
is why I really don't like hourly billing.
00:12:22
◼
►
And I think the biggest part of this
00:12:24
◼
►
is that hourly billing, I think, incentivizes the wrong behavior.
00:12:28
◼
►
So with an hourly work, you're ending up in this strange place
00:12:33
◼
►
where you're paid for how long it takes you to do what you do,
00:12:37
◼
►
rather than it being paid for your expertise and ability
00:12:42
◼
►
to execute in an efficient way.
00:12:45
◼
►
So if, for example, I'm working on a project--
00:12:47
◼
►
and this has happened to me dozens of times--
00:12:49
◼
►
where, say, it's a $10,000 project with an hourly cap.
00:12:54
◼
►
Say, for argument's sake, I was working at $100 an hour,
00:12:56
◼
►
so it's $100, $100 an hour, $10,000.
00:13:01
◼
►
The problem with that is, for me,
00:13:02
◼
►
is if I'm able to accomplish the work that they want done
00:13:05
◼
►
in, say, 50 hours or 60 hours, then I'm
00:13:10
◼
►
only going to get paid for $6,000, $7,000,
00:13:14
◼
►
whatever that is, dollars on that project.
00:13:16
◼
►
And that's a strange incentive for me,
00:13:19
◼
►
because the client has said this work is worth $10,000 to them.
00:13:25
◼
►
That's why they put the cap on it.
00:13:27
◼
►
But I'm not going to get paid for that.
00:13:30
◼
►
So they're getting a nice discount.
00:13:31
◼
►
Now, it works sort of the other way as well, in terms of,
00:13:34
◼
►
if something ends up taking longer,
00:13:36
◼
►
then you are paid for all of the time that it takes.
00:13:39
◼
►
So if I originally say it's going to be 100 hours,
00:13:42
◼
►
turns out to be 150 hours.
00:13:44
◼
►
Obviously, I would have had to have gone back to the client and explained what happened
00:13:48
◼
►
and at that point move on from, in terms of having them understand why I need to go over
00:13:54
◼
►
and adjust the cap.
00:13:57
◼
►
But it feels like that's always been kind of a strange thing.
00:14:00
◼
►
I mean, maybe it's just the way that I work or how bad I am at estimating.
00:14:03
◼
►
But I'd say the vast majority of the time, I'm able to do something in a shorter amount
00:14:07
◼
►
of time than it actually takes.
00:14:09
◼
►
And that's really a bad incentive.
00:14:10
◼
►
And that's where typically I try and move towards fixed-price jobs.
00:14:13
◼
►
Fixed-price jobs, you have a bit of more risk, but I find it's a good incentive because for
00:14:18
◼
►
me then, my goal is to get that project done as quickly as I can because if I can get it
00:14:22
◼
►
done quickly, then I make more money.
00:14:24
◼
►
Because if I do two fixed-price jobs in the time it would have taken one hourly job, I've
00:14:28
◼
►
made twice as much.
00:14:29
◼
►
And that's a really good incentive.
00:14:31
◼
►
And I like aligning financial incentives with productivity incentives.
00:14:35
◼
►
That works well for me.
00:14:37
◼
►
That's it for today's show.
00:14:38
◼
►
Hope you enjoyed it.
00:14:40
◼
►
As always, if you have any thoughts, comments, questions, hit me up on Twitter.
00:14:43
◼
►
I'm @_DavidSmith or just follow me there.
00:14:46
◼
►
Tell your friends if you like the show.
00:14:47
◼
►
It's the best way to share it around or rate it on iTunes.
00:14:49
◼
►
Anything like that I really appreciate.
00:14:51
◼
►
Otherwise, have a good weekend.
00:14:53
◼
►
Happy coding and I'll talk to you on Monday.