Laflamme’s Rules

There are rules I live by. Some come from my parents; my siblings will probably recognize them. Others are mostly mine, although they may reflect my parents in some ways.

  1. Don’t do dumb things.
  2. Under-promise, over-deliver.
  3. Life is pass/fail.
  4. Not everything I’m good at is good for me.
  5. Someone has to fly the plane.
  6. Use what you have before getting more.
  7. You need to know more than you need to know.

Don’t do dumb things.

Growing up, we heard once that the neighbors had a rule: “No roller-skating on the stairs.” Our parents didn’t understand that: why would someone need to make a rule like that? Wasn’t it obvious that you don’t do dumb things? So that became a rule from our parents: “Don’t do dumb things.” Now the trick is in recognizing which things are dumb.

Under-promise, over-deliver.

Our parents taught us not to disappoint people, to keep our commitments. People usually aren’t upset if you deliver more than you promised, but they’re often disappointed if you deliver less than you promise. Mind you, they rarely worked as consultants, where delivering more than you promised may mean you missed a revenue opportunity….

Life is pass/fail.

We were all achievement oriented growing up. We tended to do well in school as a result. However, as I entered the adult world, my mom had to point out that most things in life aren’t graded. For the most part, there aren’t style points for doing things better or more elegantly than the next person; there are only adequate and inadequate. It’s often not stressing about making something as perfect as possible, especially if the effort would be great.

Not everything I’m good at is good for me.

This is a lesson I had to learn on my own: some things I can perform well or accomplish leave me feeling worse off than when I started. Usually it means that something about the process goes against my strengths or preferences. For example, something with lots of check-points and close supervision from project managers or other leaders frustrates me, because I don’t trust myself to know when things will go badly; I just know they will. If I can only account for two weeks of work but know it will take four, they may not accept my judgement, and I may resent the implied lack of respect for my judgement. Other times, they may want a project plan do detailed that anyone can do every step and that anyone can follow along. I’m poor at remembering every step; some things that I do so instinctively, I never remember to write them down. A colleague with the same level of experience would make the same adjustments on the fly; an apprentice might not trust their experience — or have the experience — to know to do that. So, if I’m better at doing something than documenting how it’s done, don’t put me in situations in which both are important. I’ll get the job done, but there will be lots of friction along the way.

Someone has to fly the plane.

This is the “Eastern Airlines Flight 401 Rule.” When trying to fix or add something, don’t forget to maintain that which is already working. The cockpit crew on flight 401 was worried that there was no light indicating that their landing gear was down and locked. All three cockpit members were trying to figure out why and how to determine if the gear wasn’t locked or if the indicator light was wrong. None of the crew realized the plane had entered a slow descent; they crashed into the Everglades because no one was flying the plane. Similarly, I can’t take on new projects or new responsibilities if it means compromising what I’m committed to providing.

Use what you have before getting more.

As a child, I didn’t buy new toys if I had toys I hadn’t played with, and I didn’t buy new music if I had albums I hadn’t listened to much yet. As a computer professional, this translates into looking at our existing systems and software to see if some of them have a feature you need before installing, or especially buying, more software. It’s common that we only use some features of any software we buy; usually those features are enough to justify the effort or cost. Exploring that software and returning to the list of unused features sometimes makes it much easier to solve other problems later. Maybe someone had the same problem you had before you had it, so the feature is there waiting for you to realize you need it.

That’s not to say that sometimes, what you have won’t meet your needs. To my chagrin, some music I bought just didn’t entertain me. Some toys (computer games, console games) just weren’t fun. And, yes, some software is buggier than is worth the effort or does something that’s only almost what you need.

But make sure of that before you buy more.

You need to know more than you need to know.

This one wasn’t originally Laflamme’s Law; it’s Cohn’s Law, after David L. Cohn, one of my professors (in fact, my thesis advisor when I stayed for graduate school) at Notre Dame. It means that situational awareness is critical. Don’t just know the specifications of what you’re doing; know what’s going on around you so you know if you can add value to the larger effort or what the impact will be if you don’t meet the specifications exactly. Do the specs call for more precision than is necessary? Would it be useful to implement two similar functions when only one is called for? If you can produce something similar more quickly or less expensively, would that work nearly as well if others make small, easy changes? Knowing more than is absolutely necessary can have great benefits.