Special guest post by Emily Herman, Director of Software Products.
“The whole world is waiting for a first draft.” I once worked with someone who said this while I was struggling to craft a flawless business plan. Her point? We all love to play editor. If you come up with something for people to start with, they will edit mercilessly. Your ego may get bruised, but you won’t be responsible for thinking in advance of every potential pitfall - your editors will take care of that for you.
When you’re trying to figure out how to create a company and run a business, it’s easy to begin thinking about everything that could go wrong. Often, you’ll follow up by attempting to create documents to restrict colleagues’ behavior, hoping to produce a single, shining business plan (or employee handbook, or company wiki) that will provide a perfect answer to every situation that might possibly crop up. It’s exhausting, and kind of silly.
When we started Big Nerd Ranch, we didn’t know what rules we should have, so we didn’t have any. Oh, wait - that’s not true. We had these rules:
Be sure our work reflects our intelligence and creativity
Be nice to each other, even when we disagree
Be kind, but not doormat-esque, to our customers
Treat our employees the way we wished we’d been treated in other jobs
Hope trumps fear
Over time, we developed other, more restrictive rules when we got burned. A few years in, we had a client who threatened us with a lawsuit because we went over the budget in a development agreement. The original (email) agreement looked something like this:
_We think you want blah, blah. We think it will cost this much. We just think these things; you’ll be paying us hourly, and we’ll try really hard to stay within that number. But you should know that these things are unpredictable, and we might go over that amount. On the other hand, if we spend less time doing the work, then you won’t have to pay as much.
Love, Big Nerd Ranch._
I kid. We never signed client emails with “Love.”
After the client threatened us, we got an editor (who calls himself an attorney) to re-engineer our agreement. It now looks like this:
_Dear John Doe at MegaCorp
I’ve looked over the specification of the the directory-lookup app that you would like written. Given that the web service that accesses the LDAP server already exists, this is a pretty straightforward application. We estimate that it will take us X hours at $Y/hour, for a total of $X*Y.
We can start on it immediately if you wish. We just need you to OK the terms under which we work:
When we make an estimate, it is only an estimate. Developing software is a complex task, and efforts like these often take significantly longer than expected. In any event, Big Nerd Ranch bills by the hour, not by the project. Your rate for this project will be $X/hour.
You are welcome to make changes to the specification at any time. Such changes will, naturally, affect the date of completion and total cost.
From time to time, we raise our hourly rates. If we decide that we are going to raise our rates, we will give you two months notice before the new rate becomes effective.
In the case that any Big Nerd Ranch employee quits or is fired, you are not allowed to hire the former employee (as an employee or as a contractor) for 18 months after his employment at Big Nerd Ranch ends.
You will be invoiced on the 15th of each month for the work done and any expenses incurred during the preceding 30 days. If payment for the invoiced amount is not received within 30 days, we will stop work until payment is received.
If any travel is required, all travel expenses will be paid by the client. We generally fly coach and rent compact cars where practical. Each consultant will be provided with his own hotel room.
MegaCorp will own all the source code that we produce.
If this is acceptable, please reply with “I understand and agree to the terms” and include the body of this email.
Love, Big Nerd Ranch._
Crazy rule-making attorney-editors.
I think we kept rules pretty lean because we were too busy doing things we liked. Looking back, I realize how lucky we were. We created a culture that allows people to make mistakes without trying to predict how they would make those mistakes. In that environment, you can’t even really call something a mistake. It’s just something you don’t want to do again, so you make a rule that will prevent it from happening again. Instead of trying to predict what could go wrong, we waited until something did in fact go wrong. I’m guessing that meant we spent about 51 weeks a year doing the stuff we liked.
Restrictive rules without reasons are difficult to remember, because there’s no frame of reference, other than “Joe said I should not do this, therefore I should not do this. Joe said so.” Enforcement of such rules is a farce - there’s no identifiable consequence, other than “Joe is mad at me, because I broke his rule.” Rules with reasons allow you to learn from others’ mistakes. “Joe said not to do this, because when he tried it, the chemicals blew up in his face, and he had to go to the ER, and the prescription burn cream they gave him cost $79 per tube.” Joe edited his painful and expensive outcome with a rule that allowed other people to avoid that outcome. Notice, he didn’t say, “Only mix these chemicals together, because I had one lousy outcome when I mixed other chemicals.” Simply, “Don’t do this single thing that I did. Here’s what will happen. You won’t like the outcome.”
We’re becoming a bigger organization now. We have insurance-y things that say we have to have some rules that prevent problems we haven’t yet encountered. Every day, more people are depending on us to get things right the first time. Having said that, I still think there are lots of rules we could be creating to restrict our employees’ behavior, but we don’t. When the question comes up (usually in the form of, “Er, other companies are making rules about this. Should we do that?”), there is palpable discomfort around the conference room table. We (managerial creatures) look down at our laptop screens, and someone changes the subject. Because that’s creating, not editing, and we want our creative energies applied in other directions.
Interested in leveling up your coding skills from the same authors of the Big Nerd Ranch Guide? Subscribe to The Frontier today!