Reinventing Business
Discovering Your Best Organizational Structure

Tuesday, November 30, 2010

Behind the Curve

So it turns out I was just describing something that was already under way, without knowing it. I just discovered the DIASPORA* project, which is quite close to what I've been describing with Bubbles. You can even host your own server.

The granularity looks different, though: each user creates their own groups ("aspects") and it's not clear whether people join those groups or if the user sorts them into those groups. If the latter, then I think my approach might be better: put up different groups and invite/let people decide what they want to be in. But a lot of the core ideas are the same, and it looks like an excellent experiment.

And here's another, pointed out by a reader who works on it: Sneer.

Thursday, November 18, 2010

A Variation on Distributed Decision-Making in Practice

I'm getting a little less surprised when I discover that there are folks in the "thinking about business" community that share some of my ideas, but still pretty astounded when I find out that ideas that seem the most extreme are actually being practiced. W. L. Gore, for example, has what appears to be a nearly-flat hierarchy.

Now a reader has pointed me to this blog which describes Namasté Solar, a company in Boulder, CO which uses something remarkably similar to my distributed decision-making, a concept that I thought was surely too far-fetched for anyone to actually use it. The company has been in business since 2005 and steadily growing, and apparently their decision-making process works pretty well.

One of the exciting things about Namasté Solar is that it is a few hours away from where I live, and so it will be easy to visit and learn more about how they make decisions. Years ago I lived for 3 years right next to Newark, DE, where W.L. Gore is headquartered, but at that time I had decided that all companies were hopeless and my only chance for happiness was to be an independent consultant. Now, of course, I wish I had been more mentally expanded, at least to the point where I might have been able to visit the place.

Wednesday, November 17, 2010

Distributed Bubbles

In The Successor to Facebook, I said that Facebook is centralized, so "Bubbles" (the code name) should be distributed, and immediately jumped to the idea of a P2P solution. Upon reflection, I see that this is premature; the important thing is that the system is distributed, for several reasons:
  1. Anyone who sets up their own Bubble should be able to customize it, so when you go to that Bubble you have a different experience, rather than being forced to accept one centralized experience (you'd get a default design when you set it up, and you could swap in predefined components, or define your own components).
  2. Distributing the Bubbles means distributing the necessary processor power; in fact, the system will rely solely on the existing internet infrastructure.
  3. The person who sets up the Bubble is responsible for hosting it, including the cost of that hosting. The cost of hosting anything on the internet right now is very low, but it is a cost and must come from somewhere. I would expect it to get easier and cheaper as time goes on, including services that will host Bubbles for free in exchange for running some ads on the Bubble. However, Bubbles can be moved to different hosting services so you're not stuck with whoever you start with.
  4. Here's a biggie: the person or group that sets up a Bubble owns that Bubble and so they can do whatever they want with it -- including run ads. Facebook owns everything and gets all the ad revenue, whereas if you set up a Bubble you can choose not to run ads (since the cost of running it should be cheap) but you can also put ads on and help fund whatever you're doing.
I should point out that, even though I myself have clicked on and occasionally bought things through Google ads, I think it's fairly well-accepted that ads are remarkably inefficient. We just haven't thought of anything better yet.

An interesting issue arises here: Google is designed to be able to place ads on foreign sites, but Facebook, as far as I can tell, doesn't think this way. Why should it? They control everything; why should they consider putting ads on non-Facebook sites? (You'll probably say "to make more money," but that's thinking outside the Facebook). So with Bubbles, Google wins without changing anything in their business model. Can Google see enough value in this possibility to fund an open-source project?

For version 2 of the basic architecture, each Bubble should be hosted on an Internet server, either as a free-standing server program or (probably eventually) running as an Apache process. This way, a Bubble is always present and available. It seems like that should be able to handle as much traffic as you'd be likely to expect for a single Bubble; however, it would be worth doing a bit of exploring around load distribution for the same Bubble on multiple servers (I'll quickly defer to calls of "premature optimization" here, but it's worth considering in case there might be some design decisions that can be made early to allow load distribution -- and perhaps simplified backup/redundancy -- later on).

A Bubble represents a single site, but a user profile can exist on many Bubbles distributed across the Internet. Again avoiding any kind of centralization, profiles are duplicated across Bubbles, and each copy of the Profile knows all the Bubbles on which it exists. A user can change their profile on any Bubble, and the changes will automatically propagate to all the profiles on all the other Bubbles where the user is registered (here's where P2P probably comes in). If a user wants to send a message to another user (including an invite, if that particular Bubble allows open invites), the message originates on whatever Bubble the user is currently logged in on. The Bubble first looks in its local user directory and if it finds the user there, sends the message. If not, a query is broadcast to other Bubbles, seeking that user -- this way, you don't need a centralized user name directory.

There are, of course, lots of other details that would emerge during design and development. But this is my current visualization of the system.

Monday, November 15, 2010

Changing Education Paradigms

Changing Education Paradigms is another outstanding talk by Sir Ken Robinson, one of the best thinkers today about education. The talk is enriched by RSAnimate.

Sunday, November 14, 2010

Adrenaline Junkies and Template Zombies

This is a title of a book by the Atlantic Systems Guild, a group that includes Tom DeMarco and Tim Lister, authors of Peopleware (one of my favorite books) and Waltzing With Bears (a terrific perspective-shifter about risk analysis). (I interviewed Tim Lister here in 2003). It was published in 2008 by Dorset House, a company I respect; they've been publishing books on software process management fairly exclusively from their inception.

The subtitle is "Understanding Patterns of Project Behavior," and the book is a reasonable attempt to follow the Design Patterns movement by presenting a sequence of free-standing "Patterns" regarding project management. It soon becomes clear that "project" usually means "software development project," although some of the patterns apply to projects or teams in general. Fortunately, they do not slavishly follow the software design pattern structure, which would be overkill in this case. Here, a pattern is a name, a one-line description, and two or three pages of prose. The patterns are independent so you can jump around.

This book has a lot of value for someone who is unfamiliar with Agile software development methods and is working in an old-style organization. The problems presented that focus on creating software are almost always solved in the book using Agile methods. The patterns for organizational behavior point out difficulties that arise from industrial-age management.

The book didn't work that well for me, though. I find anything that accepts industrial-age ideas to be rather depressing, and try to avoid those things. And I'm well-schooled in Agile methods so those patterns didn't do much for me, either. In most places the book clearly espoused Agile, but there were some places where it didn't seem to fully grasp Agile. For example, on page 160: "If you really are committed to shipping exactly on-time, every single time, you are left with only one correction available: relaxing your ship quality criteria." Well, no. You cut features until you can meet the deadline. That's Agile 101, and it was strange for them to have missed it.

Although writers didn't put their names on the various patterns, the authors might not have followed Weinberg's coathoring maxim: "everybody works on everything;" things were not grossly inconsistent but every once in awhile it seemed like there were different voices.

One guideline that popped out for me was pattern 61, "Orphaned Deliverables." This discussed the demand for lots of deliverables that exist for form and not for function. The solution given was to ask, "Who is the sponsor of this artifact?" Every artifact needs a sponsor, who must not only be able to ask for it but also to provide resources for the creation of that artifact. If no one can step up, you don't create the artifact. This is an excellent way to trim unnecessary fat from a project.

One particularly annoying oversight was a little chapter called "The Cutting Room Floor," where they listed the names of all the patterns that were left out. In all the other chapters, the name was followed by a one-or-two-line description of the pattern, from which you could get a good idea of what the pattern was about. "The Cutting Room Floor" left all these descriptions out, and the pattern names were thus rendered meaningless.

I got value from the book, but it felt like it left a lot of unfulfilled potential on the table. I suppose I was hoping for another Secrets of Consulting (and even Weinberg seems unable to duplicate that feat).

Saturday, November 13, 2010

The Successor to Facebook

Facebook's business model is based on violating trust. They collect information behind your back so they can sell it to their customers (advertisers). The current kerfuffle with Google over contact information is an excellent example of this: Facebook wants to extract your address book from Google, but it won't let you export your Facebook address book to someplace else (including Google) that you might find useful. That's because they don't care about serving you; they care about selling you. Their attitude is that they own everything you do. That's why I doubt I'll get a Facebook email account -- somewhere in the fine print will be something that says "we own all your email and can do whatever we want with it" (If I do get one, I'll be walking on eggshells every time I use it).

In The Decline of Facebook, I didn't mean to say that Facebook was currently in decline but rather that it will decline because it won't be able to change its business model. The first law of the Internet (which I am just now making up) is: "It's all about trust." Companies that violate trust might succeed in the short term, but the second law of the Internet is: "The Internet routes around trust violations."

Let's do a thought experiment to discover what Facebook's successor might look like, using for a first approximation upside-down thinking. Basically, whatever Facebook does, this experiment will go to the opposite extreme. In addition, this experiment will use what I talked about here: the design will only be about what serves the customer. If that means this company will be lean and low-income like Wikipedia, so be it.

I'll suggest a code name for the product: Bubbles. That's just what it feels like to me. The plurality suggests that you can easily make many of them (Facebook wants you in a single, neat box, packaged nicely to serve up to advertisers).

1. Facebook is centralized
A big company like Google can fight Facebook on their own turf. But to create something new and different that auto-scales, let's go to the other end of the spectrum and make it peer-to-peer. That way, no servers (or perhaps minimal servers) will be required as the thing grows. The third law of the Internet might be: "Size doesn't matter" and so, to conform to that, a product's success should not depend on whether it has dozens of users or millions; peer-to-peer allows seamless and un-bumpy growth that ignores size.

2. Facebook controls your experience
Facebook decides what kind of stuff you can put up, how you can post, etc. While it's very helpful to have fundamental structure and basic building blocks (and a default layout that you get unless you ask for something different), in the end the user should be able to control what they put up and how it looks.

People who create new designs can put them up for others to adopt -- again, this decentralizes the design and allows better designs to emerge organically rather than being centrally controlled (thus, the cost of experimentation -- and failure -- is cheap, which makes creativity easy and is essential for rapid innovation).

3. Facebook owns your stuff
Of course you should own your stuff. This is a no-brainer, and one of the big reasons that people might move from Facebook to Bubbles. When you post, you would be encouraged to use Creative Commons, and only retain copyright if you really want to.

Now we see an interesting possibility. Suppose this system gains traction, and people begin moving over in large enough quantities to cause Facebook to notice. Will they actually say: "you can't move your stuff over there because we own it?" Seems to me that would be a huge faux pas, and cause a much bigger exodus. But Facebook put that language in your contract in the first place, so I would be totally unsurprised at such a blunder.

4. Facebook wants you to be one thing
You have many facets, and many different kinds of relationships with people. Facebook defines a single kind of relationship: "friend"/"not friend." I can't believe they haven't thought of allowing you to categorize people into groups, so I can only guess it doesn't serve their business model. Bubbles would allow you to create a new Bubble for each group of people, to allow them to sign up by Bubble, for you to put them in one or more of your Bubbles, and for you to create Bubbles in which you (the owner of the Bubble) could be anonymous. Also, a Bubble could have multiple owners and, if necessary, different levels of control for different owners (somewhat like Unix permissions). Note the possibility for easy creation of discussion groups and the like. Again, the point is to do what you want, not what Facebook wants.

4. Open source, naturally
This is part of the trust issue. It doesn't depend on the success of a single company, bugs are far more likely to get fixed, and no one can get a vice-grip on the direction of the product.

The architecture of this system will have to be nothing short of brilliant -- every installation is both a P2P server and (at least to some degree) an application framework (but the right framework; flexible enough and at the same time focused enough). The design is definitely a good use of crowdsourcing.

Feel free to add your own ideas at to the discussion group, or add them over at Artima if you don't want to join the group.

Thursday, November 11, 2010

Brainstorming Product Ideas

As I study more about startups (especially by listening to the podcasts at the Stanford eCorner) I begin to do thought experiments around the idea of starting a business, mostly for the purpose of pushing the boundaries of the existing models. One of the first things I observe is that there are a lot more ways to start a business than the hard-and-fast Silicon Valley approach. That seems to revolve around funding and salaries that might shift if the interface between employees and the company were changed to include more than just a paycheck. And a company that could do a slow start and gentle ramp-up probably doesn't need venture capital. If it's small enough it might even be able to use Kickstarter at the beginning.

The most intriguing concepts that I'm still internalizing, though, are these:
  1. The most important factor in a startup is the quality of the team and how it gels.
  2. The initial product idea is not that important. Much of the time it will be wrong (not what the customer really wants/needs). The goal of the startup team is to figure out what the product should actually be.
I like point #1 because it aligns with my strategy: make the goal to create a company which is first and foremost an awesome place to work, and everything will fall into place behind that goal (this might even be the organizational version of "do what you love and the money will follow").

Point #2 has me brainstorming about product ideas. For some reason, the idea that "the product upon which you found the company will probably be wrong" is weirdly liberating. It says: "Don't get attached to what you're making. The important thing is discovering what serves the customer." Ideas are not sacred. If you hold on to one too tight, you might miss the next one, which could be really spectacular.

Because of that, I think, product ideas are flowing more easily through my head. The other morning, I was lying in bed with my eyes closed, visualizing a particular idea I've been toying with lately, and I started thinking: "OK, what could I require the customer to do in order to make the product easier for me to create/produce/deliver?"

Oops.

This is such a common practice that I only noticed it (with a start) for the first time. Once you start thinking "the customer can deal with that," you start down a slippery slope.

I'm not saying that it's not appropriate to determine the scope boundaries between what you provide and what the customer provides. It turns out that it's a matter of timing.

In brainstorming, the most important rule is "no judging in brainstorming." Once you start saying "no, we can't do that," or "that wouldn't work" or "that's stupid," all the creative air goes out of the room. So when you're brainstorming, anything goes and criticism or judging of any kind is not welcome.

Once you have a bunch of ideas, then you turn off brainstorming and move into evaluation, deciding which ideas are feasible.

With products, I realized, the first thing you want to do is define the product completely from the standpoint of serving the customer, as if you're brainstorming and the rule is "no compromise." You create a product that does everything you can possibly think of for the customer, with no thought to cost or what you have to do vs. what they have to do. No boundaries during the product imagination phase, so you don't prematurely squelch any possible feature ideas.

Only after you've completely imagined your customer's dream product do you move into the next phase and start considering the repercussions of the feature set, start thinking about what features are in the first release and what should be delayed or even put onto the shoulders of the customer.

I think most product development processes we've historically used combine brainstorming and judging at the same time and so derail the idea phase before it even gets going. That's why we don't have a lot more products like the iPod, iPhone and iPad.

The Decline of Facebook

We know that in the age of the internet, there's no safety from going stale. It's happened again and again. In fact, industrial-age companies went stale all the time. It just happens a lot faster on the internet.

The information highway is littered with the corpses of early pioneers. Even Yahoo was once the big cheese, now it's hard to see how they'll do anything but auger into the ground. I remember observing that Microsoft had hit a plateau back when no one thought it would ever stop growing. Ballmer was made CEO soon after and from that moment, for the last decade, the company has been angled gently downward, throwing bundles of cash at problems rather than at improving technology.

Facebook continues to grow, but it is heading for the rocks (or is already on the rocks, just too big to know it). Why? The disconnect between who it claims to serve, and its actual customers.

This company has a single product: Facebook users. Those users are indeed being served: served up to the advertisers, who are the actual customers. Unfortunately for Facebook, this requires the company to trick their users. And when the users realize they are being tricked, they will flee to greener pastures. It's even possible that the reason they haven't already fled is simply that the greener pastures don't exist (yet). When it happens, Facebook's single product will drain away overnight, never to return. Trust on the internet is hard to gain, and easily squandered.

What would constitute greener pastures? Well, one of my biggest problems is the one-dimensionality of Facebook. A person is either my friend, or not. But when someone asks to be a friend, there are many dimensions of possibility. They might live in the same town. They might be fans of my books and other writings. They might be family. They might be business associates. They might be liberal or conservative. The possibilities are great, but to Facebook it's either "friend or not." As a result, I have a rather large list of pending Facebook-friendships. When I try to think about what to do with them, I get bamboozled and run from the problem. Facebook doesn't care, as long as it can report big numbers to its true customers.

Over at Google, I use Reader a lot, and regularly forward articles to people I know will appreciate them. In fact, I have created little groups of friends -- but only in my head -- to whom I send different types of articles. The management of these groups is very limited, based on my limited brainpower.

I almost never post on Facebook because the gaggle of "friends" I have crosses all boundaries. For example, my niece is on Facebook, and some things I might like to say would be inappropriate for her, and possibly even offensive to some people on the list. So I end up offending no one by posting nothing (this adds to my reluctance to add new friends).

The next version of social networking -- the one that serves the actual users, and which Google could easily do -- will allow me to effortlessly set up groups and have people ask to be friends of a particular group. You could then be a "Crested Butte Friend of Bruce" or a "Computer Programming Friend of Bruce" or a "Family of Bruce," "College Friend of Bruce," "Business Friend of Bruce" and all the other possibilities that will emerge over time. This will serve me well. If I find an article about business that I'd like to discuss with like-minded people, I'll post it to that group. My niece won't see that, or any of the liberal stuff I'm prone to that her parents might find offensive. But if I'm heading home to visit the folks, the business people don't need to know about that.

It seems obvious to me when I think about it, but I doubt that Facebook will do it. It doesn't serve their business model.

Compare that to Google's model. The ads are quiet text, and I can easily ignore them. That's a nice balance between the needs of the advertiser and the needs of the user. I've actually bought things through Google ads several times. There is a level of trust there, and I don't feel like Google is abusing it.

Amazon is even better. They try to guess other things I might want to buy, based on what I've bought and looked at. In less-deft hands this could come across as annoying and intrusive, but with Amazon it feels like they're trying to be helpful, and I regularly spend time studying and exploring what they try to pick for me. Sure, they're trying to sell me more things, but it comes across as serving me (it also appears that they're constantly trying to lower or eliminate boundaries; Amazon Prime is a great example).

But not Facebook. They clearly don't have my best interests at heart, they treat me as an adversary, they don't seem to care about security (indeed, it often seems they are actively trying to compromise my computer), and they don't try to improve my experience. All their major arteries are exposed.

Wednesday, November 3, 2010

A Designer at the Helm

In A Whole New Mind: Why Right-Brainers Will Rule the Future (the book before Drive), Dan Pink asserts that "creatives" will be the new leaders of the business world. For some reason, I didn't find it all that convincing. Sure, in theory we need more creative people leading. But I couldn't see the MBA types ever giving up power to the creatives.

Now that Apple has rocketed into the world front-runners, lots of other companies are looking for their own version of Steve Jobs. But what they really want is their fantasy of Jobs-the-MBA. Which he isn't. Jobs is exactly what Pink predicted: a designer in power.

Everything he does telegraphs this: his dress, his attitude, the way he holds public meetings. Does he talk about profitability? No, it's all about design. The goal of the company is unabashedly design. They've done something that no one else I can think of has accomplished: made everything design. You've had lots of experiences with companies that have good hardware but bad software, or good software companies that can't cope with hardware (and there are plenty of companies that do both badly). Apple doesn't think in terms of "hardware" or "software." They focus on the entire user experience.

The boards of directors looking for "someone like Steve Jobs" will fail because they will ignore the most important thing about him: that he is a designer. They'll certainly find plenty of CEO candidates who will sell themselves as the next Steve Jobs, but will be yet another MBA with quarterly-profit goals ... and the board will like that, because they only know how to think this way. This thinking is in the air that last-century, industrial-management folks have been breathing for so long that it isn't possible for them to think any differently. Faced with an actual designer-leader, they won't be able to ask the right questions, to understand how such a person will be able to lead them through better design. Instead, the questions will be variants of "how will you maximize quarterly profits?" It's not their fault; they simply don't have the tools or mental model to handle such a fundamental shift in perspective.

As I've said before, Apple is extremely vulnerable because it has such an autocratic designer running the company. As long as Jobs is there, they can continue to hit home runs. But, as we saw when he left the company before, the culture of Apple does not create those products ... Jobs does. A more potent organization -- the kind of organization I am interested in designing -- creates a culture where everyone's creative drive is harnessed and inspired. Pixar does seem to be such an organization, but it was created after Jobs had a lot of experience with Apple and NeXT. If he were able to now invent Apple from scratch, it might have the design culture throughout.