The Facebook Method of Dealing With Complexity

Computer systems used to be weak, so we had to make their world simple and standardized. They now can handle almost endless complexity—but we still need to understand how to make the world simple, so we don’t risk burdening the majority of users with the needless complexity of the few.

One of my mentors, the late Harvard Business School professor James McKenney, used to tell the story about how he, in the early days of computers, was asked by Sears to come up with a computer system to automate their inventory. He quickly discovered that keeping track of just one category of product—men’s socks—would exhaust all the computing and storage available in the world at the time, thanks to a large set of attributes (size, color, material, pattern, length, etc.) and the exponential effect of combinatorial complexity.

At that time, the world simply was too complex for the computers to handle. To automate their world, Sears would have to simplify it—combine some attributes into singular codes or leave them out, for instance—to make it automatable.

Since then computers have gotten immensely more powerful, storage practically free, and our compression algorithms more sophisticated. Now we can automate a lot more. But the issue of combinatorial complexity is still here—except now it is the human being who can no longer handle the complexity, especially when dealing with large, bureaucratically created computer systems.

Bureaucratic systems can get very complicated because there are many cases, some only subtly different. When the system interacts with a user, it has to go through many steps just to find out what characteristics the user has. Even if 95 percent of the users are the same, everyone has to do the work required of the most complicated 5 percent. The automated system winds up throwing at everyone the complexity that only a few actually have.

Here’s an example: A consultant from a large IT services company recently visited my office. We discussed the problem of large public systems—the kind you find in healthcare, tax authorities, social services, the military and so on. These systems are typically enormously complicated because they have to cater to a very complex world—complex because decades of dealing with the public and the public servants have led to an accumulation of rules, regulations, practices and traditions clinging to everything like barnacles to a medieval man o’ war. Consequently, these systems are rather likely to end up as project management disasters in the papers. (This problem is not new, and by no means limited to the public sector. The private sector probably has just about as many project disasters as the public, but is better at hiding them.)

As I see it, the problem is the architects of public systems seek to automate first, and then simplify. They put off simplifications because so many people would be involved in in the approval process. Simplification means choosing not to do something. That is very hard, because in professional environments there are many specialists who will insist that the specific complexity be included. The ones arguing for simplification are fewer and have less specific arguments. Even so, it would be much more effective to work the other way around: seek first to simplify, then to automate.

The IT consultant mentioned a specific example: “Gender” as a database record field. Rather naively, I thought there might be only three choices for gender: man, woman, and undetermined (as with an incoming accident victim or unborn child). It turns out to be much more complicated: There are, apparently, many classifications of gender aside from the main two, all pertaining to a very small portion of humanity. All these variations, in turn, trigger combinatorial complexity and everything becomes very complicated indeed.

On hearing this, I thought to myself—what if, instead of putting all the complexity into the systems from the start, we did it the Facebook way? Facebook only asks you for a few choices about yourself regarding age, gender, work title and so on. One of them sticks in my mind. When it asks whether you “are in a relationship,” it presents only the alternatives “Yes,” “No,” and “It’s Complicated.”

(Yes, I am aware that Facebook has a much more elaborate set of answers now. See below and stop ruining my point.)

Some very successful bureaucratic systems won because they, effectively, did this. In the ‘90s, the Norwegian Tax Administration, under a dynamic leader named Bjarne Hope (who unfortunately died relatively young) decided that all the time Norwegians spent filling out their tax returns was not very productive— the government already had most of the necessary information from employers, banks, and other sources. Instead, the Norwegian Tax Authority pre-filled a two-page simplified tax form and sent it out with a very simple question: “Here is what we have about your tax year—are the numbers correct?” If yes, all you had to do was sign and send it in. (From the mid-2000s, you could do that via cell phone text message, and from around 2010, you did not have to do anything at all.) If no, you would write in the correct numbers next to the wrong ones, sign, and send them in.

In the beginning, this system only worked for around 30 percent of the population—those with only one job, a fixed salary, and only standard deductions. Year by year, with a combination of simplification of the tax code and new systems functionality, the system expanded and now works for about 80 percent of the population. My own tax situation is complicated: One main job, several side jobs, and I run a few small companies. Yet, last year I did my taxes by taking a look at my suggested tax return (online, of course) and then not doing anything at all, since it was correct. (I can also do my companies’ taxes online, directly from my accounting system.)

Most Norwegians think very highly of the Tax Administration, though they complain (naturally) about high taxes. All because they started with the premise of first automating the simple stuff, then continuing a process of simplification and systems expansion. A side benefit, of course, is that it put pressure on the politicians to simplify the tax code so that more people could simply accept their forms.

In my view, we need a lot more of “Yes, No, and It’s Complicated.” What do you think?

You’ll probably answer that it is, indeed, complicated…

  • Guest

    I think the situation in Norway is unique cause there is high trust in the authorities. A system like this requires that the tax authorities has access to all information about the citizens, even to the point that they now receive monthly updated report on how much each of them earn.

    So the price you pay for this convenience is that the government knows more or less everything about your life. It’s a high price to pay for such a convenience and most countries which are populated by less good thinking people (I did not say naive), would be terrified if their government had access to all this information.

    I think this poem is by a Norwegian poet – Jan Erik Vold (!?) – sums up the mentality in Norway:

    – Public transport? Yes, no, I don’t know.

    Your point regarding simplification early is a great advice!

    • Espen Andersen

      Well, in the US the trust in government is low and they still know everything about you, don’t they?

      But yes, trust is required, as Greece shows right now. On the other hand, you can use technology to build trust – in Andra Pradesh in India, the government put in place Internet terminals (at small shops, hairdressers, etc) to make it possible to pay taxes without going to tax collectors, who would have long lines and take bribes to let people move ahead in the line.

  • Mat Schulte

    Is that the approach Apple tries to take when they risk angering lots of users by simplifying and starting over with apps like Pages, Photos, etc?

    • Espen Andersen

      Not sure this applies in this context. Apple takes a rather dictatorial approach and has a very firm view of what their technology should be used for. The first Mac did not have arrow keys because Steve Jobs thought that the mouse was the way to position the mouse, period. (My guess: He didn’t write much.) One year later, the arrow keys were in. The point is rather to start out with something small and simple, and then expand it with a view to maintaining the simplicity.

      • gamsjo

        I think Google is a better example of the simplicity first approach. The first version of gmail was almost empty except for the search function of course. They claimed to have a checklist in Google for the first product increment saying you should be embarrassed about it! This is normally called The Minimal Viable Product or alternatively the Minimal Marketable Feature.

        • Espen Andersen

          I agree – first solve the important problem for the many, then broaden the reach (number of people who can use it) and range (of services provided). The key issue here is to also include an incentive to do the simplification of the world in order to get it into the system. (This is a little bit similar to introducing ERPs, and using them as standardization drivers in large corporations.)

  • gamsjo

    Thank you for highlighting this extremely important question! Not exactly new, as you point out, but there are still a long way to go in many large organisation – especially in the government sector – where traditional project management still prevails. There are probably many different forces leading to “completeness thinking” in the early phases of a project. One of them being “silo organisation” where the analysts and planners work far too much in isolation both in time and space from both the developers and users.

    Dealing with complexity by explicit simplification is one of the really strong properties of Agile Software Development. Most modern, successful IT-dependent organisation (like Facebook) has adopted this mindset many years ago. About time this reaches public sector as well.