Premature Optimization is the Root of All Evil

"We should forget about small efficienceis, say about 97% of the time: premature optimization is the root of all evil" - Donald Knuth
H/T: @lpolovets

Donald Knuth was specifically talking about algorithms in computer software, but the lesson applies broadly to product development, startups, and self-improvement.

Perfection is the Enemy of Progress

Wikipedias worth of man-hours have been spent building features that the customer never requested and rarely use. Companies have spent millions on inventory to achieve economies of scale on products that crater in the market. They should have shipped first and asked questions later.

Stop futzing around and ship it! Premature optimization is often procrastination in disguise. If you’re “making it better” before someone has used it, you’re letting fear of judgement keep you from learning.

Don’t worry about scaling, don’t worry about “nice to have”, just start! Start going to the gym, spearhead a new process at work, ask someone to buy your barely functional prototype. Even if you fail, you’ll be at the same place as if you were still planning; the only difference is, you’ll have a data point from the real world. Now you can adjust, incrementally better, then ship it again.

Questions of the Day

What aspect of your life should you be shipping instead of optimizing? Is there a feature in your product or startup that’s a good idea but you haven’t had a customer ask for it yet? Tell me about the time you sunk days of oyur life into solving a problem that didn’t exist.

Discipline is Freedom

Jocko Willink is my spirit animal.

Falling Victim to Entropy

Since 2009, I had made a series of choices to focus on my career and entrepreneurial ambitions instead of my health. I put on about 50 lbs of fat and atrophied significantly during that period. I had given up on taking care of myself in trade for trying to build my company and my city’s entrepreneurial ecosystem. I kept telling myself that I’d get myself together later after I had found success.

When my first child was born in 2016, I need to determine if I was going to be a good Founder or a good Father. I left my operational role as CTO of my startup and I derisked my career a bit. But I wanted to be more than just present with my son, I needed to be a role model for him. I searched for role models for myself and found this great series of essays by Jocko Willink on Spotify.

Discipline Equals Freedom Field Manual, Pt. 1

Finding Discipline

Through many iterations over the next 3 years, I began to rebuild my health. I started training Brazilian Jiu-Jitsu, stopped drinking alcohol regularly, started lifting weights (3x a week), and worked to refine my diet.

I made these changes one at a time, about three to six months a part. It takes about 90 days to lock in a new habit and it’s much harder to actively control more than one thing. So I focused on not making a new habit until I didn’t have to work to maintain the current habit I was developing. The most important part of this process was to figure out the failure modes in each new habit during that startup period and put controls in place to correct for them.

For example, I kept missing my weight lifting workouts because I would have meetings or family obligations. So to control for this, I found a time no one books me; 4:30 am. By taking ownership of my failures; I can’t blame anyone but myself for not getting to the gym before everyone is awake. Discipline is Freedom.

You only fail when you quit.

This process hasn’t been linear, it’s riddled with short term setbacks; mental, physical, business, etc. But all of these setbacks have proven to me that you never fail until you quit. I’ve missed lifting or training BJJ for months at a time (see graph above). The trick is to kill your ego and start training again. I am a human, I am fallible, but I refuse to quit.

Questions of the Day

What keeps you from making the changes in your life that will make you healthier? What controls do you use to help you maintain discipline? What did you think of Jocko’s essays?

Micro-contracts: Increase your compliance with good habits

Micro-contracts build Habits

Micro-contracts are one-line agreement with yourself. They are used to short-circuit decision making process for recurring events.  The goal is to increase compliance with habits you’re trying to install in your life. A micro-contract is the building block for a habit.

Building Micro-contracts

A micro contract takes the form:
If <recurring decision point>, I will do <behavior>,  so that I <reason> .

e.g.) If I am going to eat out, I will eat the healthiest option on the menu (or default to a salad with dressing on the side), so that I can live a long and healthy life for my family.

The way that I’m currently programming them into my life is by adding them to my lock screen on my phone.  According to the app, “Quality Time”, I average around 100-120 unlocks a day.  That’s a lot of reinforcement to internalize my current micro-contracts.  If you’re not as heavy of a phone users, you can reinforce your micro-contracts by hanging them next to the mirror in your bathroom or setting your desktop wallpaper to your current list.

Why should you use Micro Contracts?

“We first make our habits, and then our habits make us.” -John Dryden

Research shows it takes up to 90 days to instill a new habit.  For comparison, this is about as long as it takes to close on a house. Which is the largest,  longest, and most complex business deal most people will participate in during their life.  When I’m teaching sales to people, I reinforce the mantra “Old deals die.”, meaning that if you don’t close the deal quickly, something will go sideways and the deal will fall apart.

If “Old Deals Die”, how can we keep them young?  By focusing on action.  In sales, we follow up and keep the process moving.  Checking in with the decision maker, answering questions they have, and educating them on the process.  In our home life, we can revisit our goals daily or weekly, evaluate what’s working and take action on the things that are putting the behavior at risk.

For instance, How many times have you started going to the gym regularly for a few weeks only to miss twice due to work or travel? What happens next? You fall completely out of the routine and it takes months to get back to it. It’s happened to me dozens of times.  In quality management circles, we’d refer to this recurring problem as a “failure mode”.  We’d document it as a risk and determine an approach to mitigate the impact on the project.

Micro Contracts: Controls to Prevent Failure

In our gym example, we’ve documented the failure mode of “Missing Twice”. Now we need to put a control in place to stop it from happening. A control is a guideline that we use to evaluate an occurrence of an event and instantiate a corrective action if it falls outside the desired range.  This sounds like the perfect place create a micro-contract or two.

Let’s look at two variants, an affirmative micro-contract and a negative micro-contract.  The affirmative micro-contract should reinforce the “why” for doing the behavior you’re trying to install.  It’s the “carrot” method of coercion. The negative micro-contract should be the “stick” that escalates the stakes in order to bring yourself back into compliance with the habit when you’ve gone out of control.

Affirmative Micro Contract

If I missed the gym today, I will go to the gym first thing in the morning, so that I continue to improve my health and maintain my mental wellness.

Negative Micro Contract

If I missed the gym two times in a row, I will not <do my favorite thing> until I go to the gym, so that I don’t break my habit, get fat, and become depressed.

 

Implementation of Micro Contracts

My current approach is to add a new micro-contract or two to my life each week. I use them to reinforce the current habit I’m building.  I try to only install or uninstall only one habit at a time, I make them quarterly goals so that they have the full 90 days to become entrenched.  My hope is that by adding micro-contracts each week, I will be able to increase my success rate for forming habits.  These simple statements will help me to control for failure modes and encourage me to refocus on my goals weekly.

Do you have any ideas that could improve micro contracts?  Where do you think they would provide value in your life?  Let me know in the comments below.