The Eponymous Laws of Tech

A compendium of tech-related laws, fallacies, and other wisdom

April 11, 2018

It is my life’s goal to have a anecdotal law named after me. That or a breakfast taco platter.

This is why I’ve been collecting some of these little nuggets of wisdom. Found in conference talks which I then repeat in meetings to sound smart, the Eponymous Laws of Tech are sometimes humorous observations and sometimes even based on real academic research.

Andy and Bill’s Law

"What Andy giveth, Bill taketh away"

I stumbled across Andy and Bill’s Law while looking up other laws, but I love it. It refers to when Andy Grove of Intel would release a better processor, Bill Gates of Microsoft would update his software and consume all this new power.

I feel like this is still true today, especially with JavaScript. If according to Moore’s Law computers got 2x the processing power tomorrow, websites wouldn’t get better because we would immediately cannibalize that gain with heaps of code.

Bezos’ Two-Pizza Rule

"Any team should be small enough that it could be fed with two pizzas."

Jeff Bezos of Amazon’s Two-Pizza Rule is an awesome management trick. This confirms my bias that any time a project involves a large multitude of people, the wheels start falling off the cart. There’s another benefit to this rule: Keeping teams small forces problems to remain small. Using pizza as a scope limiter! Genius!

But there’s some more scientific reasoning behind this, which leads us to…

Brooks’ Law

"Adding human resources to a late software project makes it later"

Brooks’ Law was made famous in his book The Mythical Man Month. The best explanation I’ve read is from The Cathedral and the Bazaar and it does a great job explaining the math behind it all.

N*(N - 1)/2

In a network of N nodes, the total number of connections equals N*(N - 1)/2. Some napkin math shows us that 3 people have 3 connections between them. 4 people, 6 connections. 5 people, 10 connections. This is actually the same formula used in Metcalfe’s Law.

While Metcalfe uses this formula to describe the strength of a (telecom) network, Brooks’ uses it to explain why you can’t just throw bodies at a problem. More people create more nodes of communication which can slow processes down as well as cause more unintended miscommunication problems.

Somewhat related, check out the “Bynzantine General’s Problem”.

While reading more about Brooks’ Law, I found another axiom of Brooks’ that I really liked about project cost breakdowns:

"The total cost of maintaining a widely used program is typically 40 percent or more of the cost of developing it. Surprisingly this cost is strongly affected by the number of users. More users find more bugs." (Source: Cathedral and the Bazaar)

Clarke’s Third Law

"Any sufficiently advanced technology is indistinguishable from magic."

Clarke’s Third Law is one of Clarke’s Three Laws that are all worth a read. I highlight this one because we often talk about “magic” and surprise and delight in User Experience. Think of the first iPhone, “magic” is the best word to describe the feeling when swiping open that screen for the first time. Or when you summoned an Uber for the first time. Bots can exude this feeling too. In my research and explorations, I’ve come to the conclusion that good bots are ones that automate a succession of tasks such that it feels like magic.

Conway’s Law

"Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations."

Conway’s Law might be one of my most observed laws. From large company to small company you can see the fingerprint of an organization and leadership on the products they build.

I like to put it another way…

“Your website is a manifestation of your organization’s problems” – Dave Rupert, NetMag March 2016

A friend once pointed out to me that you can expose all the problems of an organization just by suggesting you redesign your website’s main navigation. This is the quickest way to make enemies and catch hell-fire at an organization. Product owners come out of the woodwork to justify their existence in the main navigation, but it’s really just a proxy for their existence in the entire company.

Cunningham’s Law

"The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer."

Putting yourself out there and getting chastised on the Internet isn’t fun. But Cunningham’s Law seems like great advice for staying in a “Growth Mindset”. It also has the ethos of old school blogging, put your ideas out there (even the immature ones) and get feedback.

I’ve been trying to abide in this spirit lately.

Doherty Threshold

"When a computer and its users interact at a pace that ensures that neither has to wait on the other, productivity soars"

I originally heard about the Doherty Threshold on AMC’s Halt and Catch Fire. I looked it up after the show and it’s actually real, based on research done by IBM. A sub-400 millisecond response time from user input creates a dramatic increase in users’ interactions at all different skill levels.

I cite this all the time in performance discussions.

Dunbar’s Number

A suggested cognitive limit to the number of people with whom one can maintain stable social relationships

My friend Mattt introduced me to Dunbar’s Number in the context of Social Networks. How many online relationships can you maintain? Based on researching primates, Dunbar surmised that humans can maintain about 150 relationships with the upper limit being ~250. Looking at hunter-gather civilizations Dunbar also saw patterns of groupings around 30–50, 100–200 and 500–2500.

It’s interesting to think about how social media burnout might be caused by this limit. Also look for these numbers when startups start describing growth milestones and internal culture pain points.

Dunning-Kruger Effect

A cognitive bias wherein people of low ability suffer from illusory superiority, mistakenly assessing their cognitive ability as greater than it is

The Dunning-Kruger Effect explains a lot about Internet comment threads (like HackerNews). I wonder if this gets to the root of another popular phenomenon, Imposter Syndrome. You see yourself at a greater skill than you are, but lack the ability, thus creating a skill gap. Humans tend to have an innate optimism bias, thinking we’re better than people that surround us. The Dunning-Kruger Effect isn’t inherently wrong, it happens, but it’s good to keep this phenomenon in mind and temper your opinions.

Fitt’s Law

The time required to rapidly move to a target area is a function of the ratio between the distance to the target and the width of the target

The easiest way I’ve heard Fitt’s Law explained is this: “Take a button with no padding and a button with 16px of padding, which one is easier to click?” While that’s maybe an over-simplification, understanding and applying Fitt’s Law is a super power in User Interface design.

Godwin’s Law

"As an online discussion grows longer, the probability of a comparison involving Hitler approaches 1"

Godwin’s Law has never been more true. I keep thinking it’ll be untrue one day, but NOPE.

Hick’s Law

Increasing the number of choices will increase the decision time logarithmically.

Hick’s Law is an interesting psychological conundrum. People like choices, but increasing the number of choices take more time, most likely increasing your bounce rate. My canonical example of this is the olive oil aisle at organic grocers like Whole Foods… no one has time to read and compare each bottle of olive oil.

When thinking about UX, I often consider Hick’s Law when considering how much content we present to users. Or even on the micro-level, smaller navigation lists will probably be more successful because there’s less congnitive load involved.

Hofstadter’s Law

"It always takes longer than you expect, even when you take into account Hofstadter's Law"

Hofstadter’s Law is a beautiful little bit of recursion. In my experience it holds entirely true.

Jakob’s Law of Internet User Experience

Users spend most of their time on other sites. This means that users prefer your site to work the same way as all the other sites they already know. Design for patterns for which users are accustomed.

Jakob’s Law of Internet User Experience can help explain why all websites look the same… because they’re better that way! Similarity in design patterns between sites means users spend less time re-learning patterns for you site, thereby increasing success.

Often times, in my work, this law means starting with a well known existing pattern, don’t over-think it, and then iterate from there.

If that makes Web Design boring to you, check out the Von Restorff Effect.

Linus’ Law

"Given enough eyeballs, all bugs are shallow"

Every time I get a pull request to fix a typo, I’m reminded of Linus’ Law. People, either through repetitive use or through fine-tooth combing your project will poke holes in your software. Someone will inevitably find a bug, or an optimization, or Hail Mary a feature request. With tools like Github, collaboration on open source software project has never been easier.

For more open source goodness, I recommend reading up on the Unix Philosophy.

McNamara Fallacy

Presume that what can't be measured easily really isn't important.

I cite the McNamara Fallacy a lot. The name comes from Robert McNamara, the Secretary of Defense during the Vietnam War. In its entirety, the McNamara Fallacy goes like this…

  1. The first step is to measure whatever can be easily measured. This is OK as far as it goes.
  2. The second step is to disregard that which can’t be easily measured or to give it an arbitrary quantitative value. This is artificial and misleading.
  3. The third step is to presume that what can’t be measured easily really isn’t important. This is blindness.
  4. The fourth step is to say that what can’t be easily measured really doesn’t exist. This is suicide.”

This forms a foundation in my brain about data-driven decisions. Data-driven decisions without the counterweight of understanding your own data-blindness seems unsafe or, at a minimum, just guessing.

Miller’s Law

The number of objects an average human can hold in working memory is 7 ±2.

I think I first learned about this in elementary school explaining why phone numbers are 7 digits long. Miller’s Law to me applies to product design quite well most notably in the number of navigation links. 5 navigation links is good, 7 is a lot, 9 is too many. Or even columns of content and items visible in a list on a single screen. It may not be absolutely scientific, but it holds true-ish in many scenarios.

Very related to Hick’s Law

Metcalfe’s Law

The value of a telecommunications network is proportional to the square of the number of connected users of the system.

Metcalfe’s Law is about the value of networks. Interestingly, it’s about connections and uses the same formula as Brooks’ Law:

N*(N - 1)/2

Whereas Brooks saw too many connections as a human resourcing blocker, Metcalfe sees the number of connections as value. This is particularly true in a telecom network or network of computers (read: “the more the better”), but when applied to Social Networks Metcalfe’s Law is very interesting to think about. Larger social networks have more connections, thus are more valuable. Architecture and city planning that inspires meetings and connections is said to be better.

But conversely, as we’ve maybe seen played out, more connections on social media doesn’t always facilitate the heartiest of conversations. Perhaps that’s Brooks’ Law fighting Metcalfe’s Law.

See also Beckstrom’s Law
See also Reed’s Law
See also Sarnoff’s Law

Moore’s Law

The number of transistors in a dense integrated circuit doubles approximately every two years

Moore’s Law has dominated tech and been the driving force behind advancement and performance improvements. Alas, it appears that heyday may be coming to an end. I read recently that Moore’s Law might be stalling out and chip manufacturers like Intel have said as much as well. That has huge implications on tech. Even in JavaScript framework debates, people keep saying “Phones get better every year”, but that’s not looking true as manufacturers opt for lower power processors. I wonder if quantum computing can revive this old law.

Murphy’s Law

"Anything that can go wrong will go wrong"

There are lots of variations of Murphy’s Law but the most important thing to remember is… shit happens.

Occam’s Razor

Among competing hypotheses, the one with the fewest assumptions should be selected or when you have two competing theories that make exactly the same predictions, the simpler one is the better

Occam’s Razor is an old rule but generally plays out in my experience. You can design and build and whiteboard a complicated thing, but often the simplest explanation/version of a product is the better choice.

Pareto Principle

80% of the effects come from 20% of the causes.

The Pareto Principle or the “80/20 rule” is an often cited generalization. It’s often applied to innaccurate, overly-general economic statements (20% of people make 80% of the money, 20% of the congregation tithes 80% of the church budget, 20% of the population use 80% welfare), but I often think about it in time management.

In areas like performance, given dozens of things that can be improved or fixed I try to find the one easy thing that has the greatest improvement. When approaching any problem, I try to find the one small thing that will have the biggest impact.

Parkinson’s Law

"Work expands so as to fill the time available for its completion"

Parkinson’s Law describes my life. Even with an empty schedule, a tiny task can take all day. There’s so much to be said about the benefits of timeboxing projects. Sometimes it’s good to set limits just so the bottled pressure forces quick gut-decisions as opposed to over-analyzed rethinking.

Sprint by Jake Knapp talks a lot about the benefits of this.

Postel’s Law

"Be conservative in what you do, be liberal in what you accept from others"

Postel’s Law or the “Robustness Principle” is the foundation of TCP, the medium through which we’re communicating right now, but it’s almost life advice. I think it shares the same spirit as the Unix Philosophy of “Write programs that do one thing and do it well.” For me, when I think about what I build, I want my designs/products to fit many contexts, but stay away from being if-statement hell.

Sturgeon’s Law

"Ninety percent of everything is crap"

Sturgeon’s Law sounds like a curse mumbled during meetings, but was originally a defense of Science Fiction as a fictional genre. And what a great defense! Sure some Sci-Fi is bad… err… most of it. But that last 10% is amazing! Same could be said for anything, even websites. Heck, the whole venture capital model is founded on the idea only 1 in 10 startups succeed.

Sturgeon’s Law is quite pessimistic but I could see it being somewhat hopeful in a Han Solo “never tell me the odds” sort of way.

Tessler’s Law

"Every application must have an inherent amount of irreducible complexity. The only question is who will have to deal with it."

Tessler’s Law or the “Law of Conservation of Complexity” explains that not every piece of complexity can be hidden or removed. Complexity doesn’t always disappear, it’s often just passed around. Businesses need to fix these complex designs or that complexity is passed on to the user. Complex things are hard for users. 1 minute wasted by 1 million users is a lot of time where as it probably would have only taken a fraction of those minutes to fix the complexity. It cringe thinking about the parts of my products that waste users’ time by either being brokenly complex or by having unclear interactions.

While Tessler is speaking about complexity in user interfaces, to me it sounds like the popular #hotdrama topic of “Developer Experience (DX)”. We cite DX so that we can build faster. But while these tools and pipelines save ourselves time, ultimately that convenience is passed on to the user in kilobyes and execution time.

Von Restorff Effect

"When multiple similar objects are present, the one that differs from the rest is most likely to be remembered"

This is a good one to end on. When everyone zigs, zag.