Developing Perspective

#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:32   I own it.

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:28   the norm.

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:27   of things.

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:53   and forth.

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:36   All right.

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.

00:14:55   Bye.