"艺术家要发布"的另一面

Paul Graham 2008-11-01

“艺术家要发布”的另一面

2008年11月

大公司与创业公司之间的区别之一是,大公司往往已经制定了防止犯错的程序。创业公司走路就像幼儿,不断撞到东西,跌倒。大公司则更加谨慎。

组织中审核的逐渐积累是一种学习,基于发生在自己或类似组织身上的灾难。例如,在与一个破产并无法交付的供应商签订合同后,公司可能会要求所有供应商在投标前证明自己有偿付能力。

随着公司的发展,他们不可避免地会有更多这样的审核,要么是为了应对他们遭受的灾难,要么(可能更常见的是)通过从更大的公司雇佣带来新灾难防范习惯的人。

组织从错误中学习是自然的。问题是,提出新审核的人几乎从不考虑审核本身有成本。

每个审核都有成本。

例如,考虑让供应商验证其偿付能力的情况。这难道不是仅仅谨慎吗?但实际上它可能有巨大成本。显然,双方提供和检查供应商偿付能力证明的人有直接的时间成本。但真正的成本是你从未听说过的:本会是最佳供应商的公司,但因为无法腾出精力进行验证而没有投标。或者本会是最佳供应商的公司,但偿付能力却刚好低于门槛——当然这个门槛会被定得偏高,因为没有明显的提高成本。

每当组织中有人提议添加新审核时,他们应该不仅解释收益,还要解释成本。无论他们分析得多么糟糕,这个元审核至少会提醒每个人必须存在成本,并让他们去寻找它。

如果公司开始这样做,他们会发现一些意外。Joel Spolsky最近在Y Combinator谈到向企业客户销售软件。他说,在大多数公司中,成本高达约1000美元的软件可以由个人经理无需任何额外批准购买。超过这个门槛,软件购买通常必须由委员会批准。但是为软件供应商处理这个过程如此昂贵,以至于收费少于50000美元没有意义。这意味着如果你制造了一个本来可能收费5000美元的东西,你必须以50000美元的价格出售。

委员会的目的是确保公司不浪费钱。然而结果是公司支付了10倍的价格。

购买审核总是昂贵的,因为向你销售东西越困难,它就必须成本越高。而且不是线性的。如果你足够难以销售,最擅长制造东西的人根本不想费心。唯一会向你销售的是专门向你销售的公司。那么你已经陷入了全新的低效率水平。市场机制不再保护你,因为好的供应商已经不在市场上了。

这样的事情不断发生在所有最大的组织中,政府。但政府实施的审核可能导致的问题不仅仅是多付钱。政府实施的审核可能破坏整个国家的经济。直到大约1400年,中国比欧洲更富有,技术更先进。欧洲超越的一个原因是中国政府限制了长途贸易航行。因此欧洲人开始探索并最终主导世界其他地区,包括中国。

在更近的时代,《萨班斯-奥克斯利法案》实际上摧毁了美国IPO市场。这不是立法者的意图。他们只是想为上市公司添加更多审核。但他们忘记了考虑成本。他们忘记了即将上市的公司通常相当紧张,而对通用电气来说可能容易承受的几个额外审核的重量,足以阻止年轻公司上市。

一旦你开始思考审核的成本,你就可以开始问其他有趣的问题。成本是在增加还是减少?在某些地区是否比其他地区高?哪里会不连续地增加?如果大型组织开始问这样的问题,他们会学到一些令人恐惧的事情。

我认为审核的成本实际上可能在增加。

原因是软件在公司中扮演着越来越重要的角色,而编写软件的人特别受到审核的伤害。

程序员与许多类型的工人不同,最好的程序员实际上更愿意努力工作。在大多数类型的工作中似乎并非如此。当我在快餐店工作时,我们并不喜欢繁忙时段。当我过去修剪草坪时,我绝对不喜欢一周下雨后草长得很长的时候。

然而,程序员在写更多代码时更喜欢。或者更准确地说,在发布更多代码时更喜欢。程序员喜欢做出改变。好的程序员,无论如何。

对于好的程序员来说,为创业公司工作的最大好处之一是发布的审核很少。在真正的创业公司中,根本没有外部审核。如果你早上有一个新功能的想法,你可以在午餐前编写它并将其推送到生产服务器。当你能做到这一点时,你会有更多想法。

在大公司,软件必须经过各种批准才能发布。这样做的成本可能是巨大的——实际上是不连续的。最近我和三个程序员交谈,他们的创业公司几年前被一家大公司收购。当他们独立时,他们可以立即发布更改。现在,他们说,他们能在生产服务器上发布代码的最快速度是两周。

这不仅让他们生产力降低。这让他们讨厌为收购者工作。

这里是程序员多么喜欢能够努力工作的一个迹象:这些人会付钱来立即发布代码,像过去那样。我问他们是否愿意用收购价的10%来换取立即发布代码的能力,三个人立即说愿意。然后我问他们愿意用收购价的最大百分比来换取它。他们说他们不想思考,因为他们不想知道自己会多高,但我得到的印象可能高达一半。

他们会牺牲数十万,也许是数百万美元,只是为了能够向用户交付更多软件。你知道吗?让他们这样做是完全安全的。事实上,收购者会更好;这些人不仅不会破坏任何东西,他们会完成更多工作。所以收购者实际上以更高的成本获得了更差的绩效。就像批准软件购买的委员会一样。

正如难以销售的最大危险不是你多付钱,而是最好的供应商甚至不会向你销售,对程序员应用太多审核的最大危险不是你会让他们不高效,而是好的程序员甚至不想为你工作。

史蒂夫·乔布斯著名的格言”艺术家要发布”有两个方面。艺术家不仅能够发布。他们坚持要发布。所以如果你不让人发布,你就不会有任何艺术家。

The Other Half of “Artists Ship”

November 2008

One of the differences between big companies and startups is that big companies tend to have developed procedures to protect themselves against mistakes. A startup walks like a toddler, bashing into things and falling over all the time. A big company is more deliberate.

The gradual accumulation of checks in an organization is a kind of learning, based on disasters that have happened to it or others like it. After giving a contract to a supplier who goes bankrupt and fails to deliver, for example, a company might require all suppliers to prove they’re solvent before submitting bids.

As companies grow they invariably get more such checks, either in response to disasters they’ve suffered, or (probably more often) by hiring people from bigger companies who bring with them customs for protecting against new types of disasters.

It’s natural for organizations to learn from mistakes. The problem is, people who propose new checks almost never consider that the check itself has a cost.

Every check has a cost.

For example, consider the case of making suppliers verify their solvency. Surely that’s mere prudence? But in fact it could have substantial costs. There’s obviously the direct cost in time of the people on both sides who supply and check proofs of the supplier’s solvency. But the real costs are the ones you never hear about: the company that would be the best supplier, but doesn’t bid because they can’t spare the effort to get verified. Or the company that would be the best supplier, but falls just short of the threshold for solvency—which will of course have been set on the high side, since there is no apparent cost of increasing it.

Whenever someone in an organization proposes to add a new check, they should have to explain not just the benefit but the cost. No matter how bad a job they did of analyzing it, this meta-check would at least remind everyone there had to be a cost, and send them looking for it.

If companies started doing that, they’d find some surprises. Joel Spolsky recently spoke at Y Combinator about selling software to corporate customers. He said that in most companies software costing up to about 1000couldbeboughtbyindividualmanagerswithoutanyadditionalapprovals.Abovethatthreshold,softwarepurchasesgenerallyhadtobeapprovedbyacommittee.Butbabysittingthisprocesswassoexpensiveforsoftwarevendorsthatitdidntmakesensetochargelessthan1000 could be bought by individual managers without any additional approvals. Above that threshold, software purchases generally had to be approved by a committee. But babysitting this process was so expensive for software vendors that it didn't make sense to charge less than 50,000. Which means if you’re making something you might otherwise have charged 5000for,youhavetosellitfor5000 for, you have to sell it for 50,000 instead.

The purpose of the committee is presumably to ensure that the company doesn’t waste money. And yet the result is that the company pays 10 times as much.

Checks on purchases will always be expensive, because the harder it is to sell something to you, the more it has to cost. And not merely linearly, either. If you’re hard enough to sell to, the people who are best at making things don’t want to bother. The only people who will sell to you are companies that specialize in selling to you. Then you’ve sunk to a whole new level of inefficiency. Market mechanisms no longer protect you, because the good suppliers are no longer in the market.

Such things happen constantly to the biggest organizations of all, governments. But checks instituted by governments can cause much worse problems than merely overpaying. Checks instituted by governments can cripple a country’s whole economy. Up till about 1400, China was richer and more technologically advanced than Europe. One reason Europe pulled ahead was that the Chinese government restricted long trading voyages. So it was left to the Europeans to explore and eventually to dominate the rest of the world, including China.

In more recent times, Sarbanes-Oxley has practically destroyed the US IPO market. That wasn’t the intention of the legislators who wrote it. They just wanted to add a few more checks on public companies. But they forgot to consider the cost. They forgot that companies about to go public are usually rather stretched, and that the weight of a few extra checks that might be easy for General Electric to bear are enough to prevent younger companies from being public at all.

Once you start to think about the cost of checks, you can start to ask other interesting questions. Is the cost increasing or decreasing? Is it higher in some areas than others? Where does it increase discontinuously? If large organizations started to ask questions like that, they’d learn some frightening things.

I think the cost of checks may actually be increasing.

The reason is that software plays an increasingly important role in companies, and the people who write software are particularly harmed by checks.

Programmers are unlike many types of workers in that the best ones actually prefer to work hard. This doesn’t seem to be the case in most types of work. When I worked in fast food, we didn’t prefer the busy times. And when I used to mow lawns, I definitely didn’t prefer it when the grass was long after a week of rain.

Programmers, though, like it better when they write more code. Or more precisely, when they release more code. Programmers like to make a difference. Good ones, anyway.

For good programmers, one of the best things about working for a startup is that there are few checks on releases. In true startups, there are no external checks at all. If you have an idea for a new feature in the morning, you can write it and push it to the production servers before lunch. And when you can do that, you have more ideas.

At big companies, software has to go through various approvals before it can be launched. And the cost of doing this can be enormous—in fact, discontinuous. I was talking recently to a group of three programmers whose startup had been acquired a few years before by a big company. When they’d been independent, they could release changes instantly. Now, they said, the absolute fastest they could get code released on the production servers was two weeks.

This didn’t merely make them less productive. It made them hate working for the acquirer.

Here’s a sign of how much programmers like to be able to work hard: these guys would have paid to be able to release code immediately, the way they used to. I asked them if they’d trade 10% of the acquisition price for the ability to release code immediately, and all three instantly said yes. Then I asked what was the maximum percentage of the acquisition price they’d trade for it. They said they didn’t want to think about it, because they didn’t want to know how high they’d go, but I got the impression it might be as much as half.

They’d have sacrificed hundreds of thousands of dollars, perhaps millions, just to be able to deliver more software to users. And you know what? It would have been perfectly safe to let them. In fact, the acquirer would have been better off; not only wouldn’t these guys have broken anything, they’d have gotten a lot more done. So the acquirer is in fact getting worse performance at greater cost. Just like the committee approving software purchases.

And just as the greatest danger of being hard to sell to is not that you overpay but that the best suppliers won’t even sell to you, the greatest danger of applying too many checks to your programmers is not that you’ll make them unproductive, but that good programmers won’t even want to work for you.

Steve Jobs’s famous maxim “artists ship” works both ways. Artists aren’t merely capable of shipping. They insist on it. So if you don’t let people ship, you won’t have any artists.