商业周刊/中文版:编程专刊(商业周刊/中文版)
上QQ阅读APP看书,第一时间看更新

褐灰上装男

你是个受过良好教育、有抽象思维能力的成功人士。拿着经理的薪水,干着总经理的活儿。你的办公室摆着考究的家具,透过直立百叶窗进来的阳光,不多不少正合适,这些跟你将近20年的企业管理履历是相称的。

墙上的紫铜奖牌见证了你在企业内外多个领域的领导才能:一个是销售团队为你颁发的“2011年创新盛宴合作伙伴奖”,感谢你在为期18个月的理顺销售循环行动中给予的支持—销售净额上升了6.5%;另一个是“2008年公民灯塔奖”,表彰你带领志愿者团队把一家陷入困境的学校粉刷一新的事迹。

公司上下都知道你行事谨慎,一分钱能掰成两半花。不过你会说,你是因为无法接受把钱花在说不清的东西上。你希望你的下属说话简单明了。你在公司运营的很多方面遵循这项原则,效果很好,唯独在管理软件开发时完全行不通。

在你的职业生涯里,每两年就会冒出某种“网络新玩意儿”,突然之间,你要在一堆乱糟糟不知道什么时候能完成的项目上花掉一大笔钱(几百万美元是逃不掉的)。内容管理项目、顾客关系管理整合项目、移动应用、无纸化办公、全球企业资源规划—不管你把荷包捂得多紧,软件总有办法让你松手。

这不,又来了。在你(收拾得井井有条的)桌子对面坐着一个男人,三十五六岁的家伙,大腿上放着一台电脑。他穿着色上衣。他来跟你谈如何在一个“网站重构项目”上创建一种虚无缥缈的抽象概念,需要你投入巨额资金。他需要钱支撑他的团队,招人,获取外部资源。这些东西你铁定会给他,因为CEO已经认可了这个计划—不过,要是出了问题,担责任的是你。程序员的要价都十分夸张,而那些一开始预算就高得让人提心吊胆的项目,往往一烧钱就停不下来。你需要弄清楚,究竟是要干什么。

他说:“我们基本上已经把WordPress用到极限了。”这年头谁还穿色的上衣呢?

CTO 6个月前被炒了。那个CTO有3个上大学的孩子,留着小胡子。离职过程闹得不太好看。这个上装男(简称上装男)的上司是新任CTO,一个从Adobe跳槽过来的女人,短发,没胡子。

现在你得知:维持网站运转的一切程序代码都必须更换。

这些代码曾经是十分宝贵的,整个公司一直靠它在运转,但新任CTO说它是垃圾。她告诉你,旧代码乱七八糟,你的系统因此不堪重负。你一直在使用的、每个月都在付费的第三方服务又老又破。你的竞争对手在结账页面顶上会有一辆购物车滑过的动画特效。

那辆购物车能记住顾客买过的每一件商品,能按要求生成发票。你的购物车什么都记不住。

销售部门的人在你的办公室里踱步,像表演系学生一样长吁短叹,说公司的网站让他们如何如何丢脸。移动端完全没法用。订单下到一半卡了壳。用户莫名其妙就“被登出”了。必须得有所改变。

于是上装男来了。

他到底是个什么?网管?IT?不是,他是“Scrum专家”。

“我的人在平台上有分歧,”他接着说,“有的想用Drupal7,跟Magento配合—等于还是PHP。”他皱了皱眉,“另一个选择是在后端用Node.js,前端用Backbone。”

你听得眉头拧成了问号;他同情地看着你,解释道:“选这个方案的话,前后就都是JavaScript了。”这些词你以前都听过。你读过它们维基百科页面的第一段,还看过一本讲软件项目评估的书,乍看都还挺有道理的。

你问了一个笼统的问题:“你算过这些方案的成本吗?”他给了你一个数字和一个日期。在你的灵魂深处,你清楚那数字是实际数字的一半,这个项目的完成会比预计晚一年。他保证会有长远效益:给甲骨文(Oracle)的那8.5万美元授权费可以省下来;软件工程转向了一个免费、开源的数据库。“当初我们做Magento移植的时候或许就应该把这事给做了。”他说。意思当然就是他的前任本应该去做这事。

你找出一份表格,提醒他公司跟甲骨文的合同几个月前刚刚续签。所以,至少现在这部分成本你还是得担着。唉!这个人的收入比你少三分之一,在某个挺大挺像那么回事的州立大学拿了个理学学士学位。但是他的领英(LinkedIn)联系人有500+。后面那个加号让你很心烦。500之外还有多少?5个?还是5000?

说不清是怎么回事,你总觉得他高你一等。虽然在公司里你官大,在餐厅订位你优先,在律师眼里你重要。但是:他留了一脸短须;他手晒成了小麦色;他常去远足;他袜子上绣着小忍者。

“别忘了,”他说,“我们要把应用的预算考虑进去。”这些不是幻觉。一个穿着忍者袜子的Scrum专家走进你的办公室说,“我们要把应用的预算考虑进去。”要是项目搞砸了,他的职业生涯不会受到丝毫影响。

为了对你的工作有个整体上的把握,你会想象钱是一桶一桶的。你听人说,一个美制干量桶能装大约10万张一美元钞票。明年你要在甲骨文授权上烧掉将近一桶钱。一桶,还好吧。但是一桶从来是不够的。这是一个五桶项目,还是十桶的?甚至更多?

暂时很难说。但你绝对闻到了钞票燃烧的气味。

通常会议进行到这个阶段,你会盯着来要钱的人说,“好,你给了我一个日期和一个预算。但是什么时候算完成?能真真正正地写到财务报表里盖棺论定?你就老实招认吧,这样,半夜也不用怕鬼敲门了。”

但这次你忍住了。你知道听你这么问,他只会高高在上不耐烦地叹一口气,或者再跟你解释一遍出货日期、敏捷开发(Agile)周期、持续交付是怎么回事。什么时候完成?你渐渐学会面对现实—软件开发项目永不结束。