APR11

软件开发转型推动LinkedIn业绩大涨

2013-04-11信息来源:创事记
LinkedIn联合创始人Reid Hoffman
LinkedIn联合创始人Reid Hoffman

 

  《连线》杂志网络版今天刊文称,LinkedIn正成为华尔街的宠儿。在营收和利润大幅上涨,业绩连续7个季度超出分析师预期的同时,LinkedIn股价两年内上涨了超过3倍。LinkedIn的成功不仅在于其业绩数据,该公司的产品发布周期已大幅提速,软件开发方式则基于“敏捷开发”获得了革命性变化。

  以下为文章全文:

  LinkedIn的成功来自工程高级副总裁凯文·斯科特(Kevin Scott)对公司做出的改变。斯科特是谷歌资深员工,于2011年2月加入LinkedIn,当时恰逢LinkedIn的上市。斯科特及其团队改变了LinkedIn网站和应用的开发和发布方式,从每月发布一次升级,变为每天发布多次升级。

  这一改变带来的成果显而易见:LinkedIn已面向招聘者发布一系列智能工具,包括“招聘对象推荐”对话框。此外在过去一年中,LinkedIn的所有其他产品都经历了调整,例如公司网站的改进,通知系统的调整,主页的重新设计,消息页面上的评论和“赞”功能、iPad和Windows Phone版应用、全新的个人页面、招聘信息应用,以及博客功能。就在本周,LinkedIn推出了一项借鉴自Facebook的功能:帮助用户在状态更新中提到其他人。

  斯科特表示:“如果没有采取这些措施,改变我们的软件开发方式,我们不可能得到认可,也无法推出有影响力的新产品。”

 

LinkedIn工程高级副总裁Kevin Scott
LinkedIn工程高级副总裁Kevin Scott

 

  LinkedIn采用的最新软件开发模式被称作“持续集成”。在这一模式下,开发者针对细小的功能点编写行数不多的新代码,并将其提交至所有开发者共享的主开发流。新提交代码需要得到一系列自动化测试的检验,以检查是否存在错误和漏洞。一旦代码通过测试,那么将被合并至主流。研发主管可以通过一个系统了解哪些功能已在网站和应用中被激活。

  LinkedIn此前采用更传统的软件开发方式。开发人员从主流中拉出开发流,并在几周至几天时间内进行并行开发。开发人员会一次完成某一功能的所有代码,随后说服研发主管将这些代码合并至主流。一旦合并完成,功能需要再次测试,确保不会破坏软件的其他模块。在这种“功能分支”模式下,软件模块自身的错误以及相互之间耦合带来的影响非常常见。因为在某一版本新软件中,多个软件模块会同时提交代码,但这些代码的开发原本相互独立。为了避免软件模块耦合的影响,研发主管通常会限制一次提交的代码行数,以及每月可合并至主流的功能数量。这就导致了开发周期的放慢。

  在LinkedIn软件开发从功能分支模式转向持续集成模式的过程中,开发工作被暂停了两个月时间。在这段时间内,LinkedIn对员工进行了培训,将旧代码转移至新系统,并开发必要的自动测试工具,确保新系统能正常运转。

  斯科特表示:“公司承受了巨大的风险。公司了解了工程团队,并对他们表示:‘我们将彻底改变软件开发方式。在这两个月的过程中,你们需要破釜沉舟。’”

  LinkedIn并非转向持续集成模式的唯一一家公司。斯科特在此前的公司中也有过这样的经验,而许多其他互联网公司也在采用这一模式,例如手工艺品电商Etsy和Facebook。不过LinkedIn转向持续集成的开发模式带来了更明显的商业成功,并证明了这一模式的优势,推动这一模式在整个科技行业普及。

  对斯科特而言,LinkedIn的软件开发转向持续集成模式解决了实际问题,而不仅仅是一个形式主义做法。

  他表示:“在以往的模式中,开发者以相对独立的方式编写代码,随后举手说:‘请将我的功能分支整合到某一版本中,进行测试和验证,并在合适的发布窗口将功能发布至网站。’然而我们希望,一旦代码被提交,就可以立即得到验证和发布。在任何时间点,主流中的任何内容都必须是可发布的。如果不可发布,那么需要被当作紧急事件来处理。所有新的软件开发都将停止,所有人都必须采取措施,解决主流的问题。”

  这一尝试已经获得了成功。斯科特在去年12月接受采访时谈到了这一点,他同时还谈到了LinkedIn的一个新系统,用于培育员工的业余项目。自那时以来,LinkedIn的软件开发进展顺利,而该公司股价也上涨了61%。

  本文编译自连线杂志