`

软件公司怎么消亡的?

阅读更多

最近读了一篇非常有趣的文章,原文是英文,和大家共享,其大概意思是:

管程序员就象是养蜂人管蜜蜂一样。养蜂人怎么管的呢?养蜂人其实并不能和蜜蜂沟通,谁会说“蜂语”啊。但他们可以把蜜蜂放在一个舒适的蜂房里,这样他们自动就会采蜜了,你顺手就可以拿走蜂蜜。:)
对程序员是类似的,把他们弄到一个舒服的环境里:工资比他们想要的高,以至于不会用了(当然,比你的预算还是要便宜);这些蜜蜂会嘤嘤嗡嗡自己形成社会,程序员会自己评价自己,就象沉迷在打游戏里的家伙一样,谁的话都听不进去,就只愿意写好的软件 - 这和艺术家和战士一样。
软件公司怎么失控的和完蛋的?通常是来了一个有个性的管理人员,这老兄一看,这帮程序员怎么这么 …… 不顺眼啊?脏兮兮,乱糟糟,不配合,他们看起来是多无趣的一群人啊!最糟糕的是,他们还笑话你!于是对他们进行管理 …… 这下规范了,但是,程序员们被伤害了,他们被要求要参加会议,做计划,写报告,严格按照流程,千万千万不要去动别人的代码!程序员觉得自己就象过起了外星人的生活 …… 于是,最好的程序员走了,有的开始怠工,甚至破坏 …… 蜂房毁了。管理者舒服了,因为好像事情开始受控了,大家开始打领带了;但是 Bug 开始成堆出现,市场丢失,最后,关门大吉。

英文原文:
Software - How Software Companies Die
By Orson Scott Card
The environment that nutures creative programmers kills management and marketing types - and vice versa. Programming is the Great Game. It consumes you, body and soul. When you're caught up in it, nothing else matters. When you emerge into daylight, you might well discover that you're a hundred pounds overweight, your underwear is older than the average first grader, and judging from the number of pizza boxes lying around, it must be spring already. But you don't care, because your program runs, and the code is fast and clever and tight. You won. You're aware that some people think you're a nerd. So what? They're not players. They've never jousted with Windows or gone hand to hand with DOS. To them C++ is a decent grade, almost a B - not a language. They barely exist. Like soldiers or artists, you don't care about the opinions of civilians. You're building something intricate and fine. They'll never understand it.
BEEKEEPING
Here's the secret that every successful software company is based on: You can domesticate programmers the way beekeepers tame bees. You can't exactly communicate with them, but you can get them to swarm in one place and when they're not looking, you can carry off the honey. You keep these bees from stinging by paying them money. More money than they know what to do with. But that's less than you might think. You see, all these programmers keep hearing their parents' voices in their heads saying "When are you going to join the real world?" All you have to pay them is enough money that they can answer (also in their heads) "Geez, Dad, I'm making more than you." On average, this is cheap. And you get them to stay in the hive by giving them other coders to swarm with. The only person whose praise matters is another programmer. Less-talented programmers will idolize them; evenly matched ones will challenge and goad one another; and if you want to get a good swarm, you make sure that you have at least one certified genius coder that they can all look up to, even if he glances at other people's code only long enough to sneer at it. He's a Player, thinks the junior programmer. He looked at my code. That is enough. If a software company provides such a hive, the coders will give up sleep, love, health, and clean laundry, while the company keeps the bulk of the money.
OUT OF CONTROL
Here's the problem that ends up killing company after company. All successful software companies had, as their dominant personality, a leader who nurtured programmers. But no company can keep such a leader forever. Either he cashes out, or he brings in management types who end up driving him out, or he changes and becomes a management type himself. One way or another, marketers get control. But...control of what? Instead of finding assembly lines of productive workers, they quickly discover that their product is produced by utterly unpredictable, uncooperative, disobedient, and worst of all, unattractive people who resist all attempts at management. Put them on a time clock, dress them in suits, and they become sullen and start sabotaging the product. Worst of all, you can sense that they are making fun of you with every word they say.
SMOKED OUT
The shock is greater for the coder, though. He suddenly finds that alien creatures control his life. Meetings, Schedules, Reports. And now someone demands that he PLAN all his programming and then stick to the plan, never improving, never tweaking, and never, never touching some other team's code. The lousy young programmer who once worshiped him is now his tyrannical boss, a position he got because he played golf with some sphincter in a suit. The hive has been ruined. The best coders leave. And the marketers, comfortable now because they're surrounded by power neckties and they have things under control, are baffled that each new iteration of their software loses market share as the code bloats and the bugs proliferate. Got to get some better packaging. Yeah, that's it.

分享到:
评论

相关推荐

    蚂蚁式生存 物流软件还能支持多久?.doc

    这种矛盾使得产品更新滞后,大客户开发受阻,加上互联网泡沫破裂带来的冲击,杰合伟业最终走向了消亡。 快步易捷则依托宝供物流等大客户和IDG的投资,定位为供应链管理解决方案供应商。它为宝供定制的XDI系统,成功...

    第1章软件测试基础

    这些损失不仅包括经济损失,还包括可能对用户个人安全、环境、公司利益等方面造成的损害。测试能够揭示缺陷的根本原因及其影响,有助于提高软件的可靠性、可用性、性能、兼容性等多方面质量属性。 软件测试的核心...

    怀旧风 祭十大已经逝去的软件.docx

    在这个阶段,UCDOS是中文环境下不可或缺的软件,由北京希望公司开发。它提供了一个中文平台,使得用户能够在DOS系统中输入和显示中文字符。UCDOS的一个显著特点是它可以不重启系统就进行安装和卸载,这在当时是一项...

    软件工程项目导论复习仅供参考.doc

    过程则定义了软件从诞生到消亡的整个生命周期,它包括了定义、开发和维护等一系列阶段。软件生命周期通常按照问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试以及软件维护等阶段进行...

    软件测试经典面试题

    软件生存周期模型描述了软件从构思到消亡的各个阶段,包括可行性研究、需求分析、设计、编码、测试、部署和维护。不同的软件工程模型有瀑布模型、敏捷模型、螺旋模型等,每种模型都有其适用场景和优缺点。 软件测试...

    大论战:CPU、GPU谁更重要?.pdf

    相比CPU的通用运算和复杂逻辑处理,GPU要想代替CPU来运行操作系统和系统软件,是不是有点越俎代庖的艺术夸张了。 因此,在这场大论战中,CPU和GPU谁更重要?这仍然是一个open question。市场将会选择谁更重要。任何...

    软件测试面试宝典.doc

    软件生存周期涵盖了从概念形成到软件消亡的全过程,包括可行性研究、需求分析、设计、编码、测试和维护等阶段。对应的模型有多种,如瀑布模型、增量模型、螺旋模型等,这些模型描述了软件开发的不同方法和迭代方式。...

    软件测试面试宝典

    2. **生命周期模型**:生命周期模型描述了软件从构思到消亡的整个过程,常见的模型包括瀑布模型、迭代模型、螺旋模型等。每种模型都有其适用场景和优势,选择合适的模型对于项目的成功至关重要。

    竞争与销售讲义.doc

    中国软件公司可能面临的劣势包括核心技术不足、品牌影响力有限、国际市场竞争激烈等,需要通过持续研发、合作与创新来克服。 3. 中国的企业是不是需要一个伟大的产品? 伟大的产品对于企业发展至关重要,能提升企业...

    科技公司遭遇中年危机:苹果IBM成生存样板.docx

    这对于科技公司来说,意味着要么变革求生,要么衰败消亡。苹果和IBM,作为本文的案例,为我们展示了两家科技巨头是如何应对这一挑战,并取得生存与发展的。 IBM的故事是关于创新和适应变化的典范。面对时代变迁,...

    2019年数据中心和云计算的10个预测.pdf

    微软和IBM等传统软件公司也在积极平衡云计算和内部部署系统。 8. 裸机应用的增长 裸机应用继续增长,这种模式意味着用户可以租用硬件资源(CPU、内存和存储空间),但需自行提供软件堆栈。 9. Oracle公司的关键...

    HTML5与Flash对比

    - **Adobe的态度**:Adobe作为一家领先的软件公司,在过去的13年里通过Flash推动了Web交互体验的发展。同时,Adobe也是Web标准化的重要支持者,其产品Dreamweaver对W3C的Web标准和CSS样式标准的支持非常显著。Adobe...

    窥视电子杂志制作软件第一品牌iebook超级精灵发展历程.docx

    许多依赖用户付费的电子杂志平台因违反互联网免费原则而逐渐消亡,只有那些适应市场变化、不断创新的企业得以生存。 iebook超级精灵作为电子杂志制作软件的领头羊,其发展历程颇具代表性。iebook早在2003年底成立,...

    信息管理系统模板系列-信息系统的生命周期.doc

    这包括软件编码、系统架构设计、数据库设计、硬件配置等。开发团队会使用各种工具和技术来创建满足需求的信息系统,并进行单元测试和集成测试,确保系统的正确性和完整性。 3. **生产阶段**:系统开发完成后,进入...

    《编程高手箴言》的读后感.doc

    例如,Netscape网景公司的崛起和消亡,揭示了在竞争激烈的市场中,技术和商业策略的重要性。商业软件的成功不仅取决于技术,还包括市场定位、竞争策略等因素。 3. **行业门槛的提升**:软件行业的初期门槛较低,但...

    年上半年信息系统项目管理师考试真题上午题.docx

    15. 禁止公司内部网络的用户私自设置拨号上网不能保障公司网络边界的安全,因为攻击者可能通过其他途径入侵。 16. 安全审计的主要作用不包括性能测试,性能测试通常是为了评估系统的运行效率,而不是安全审计的关注...

    2013系统集成项目管理工程师上午试题与参考答案(word版)

    4. 适合公司的管理系统类型:某软件公司希望采购的管理系统应能覆盖全公司的生产经营管理,并允许灵活组合功能模块。ERP(Enterprise Resource Planning)系统可以满足这一需求,因此选项B是正确的。 5. 客户关系...

    基于WEB的网上机票查询和销售系统.doc

    2.2 软件生存周期:包含了从概念形成到软件消亡的全过程,包括计划、需求分析、设计、编程、测试和运行维护等阶段。 2.3 任务与工作产品:主要任务包括需求分析、系统设计、实现、测试和产品交付,每个阶段都有相应...

    2013年软考项目管理工程师答案

    4. 某软件公司希望采购的管理系统覆盖各方面且能灵活组合,符合ERP(Enterprise Resource Planning,企业资源规划)系统的特性,因此B选项正确。CDS(Customer Data System,客户数据系统)、CRM(Customer ...

Global site tag (gtag.js) - Google Analytics