无障碍说明
腾讯科技科技 > 要闻 > 社交网络 > 正文

LinkedIn成功背后的奥秘:产品开发模式革新

腾讯科技[微博]汤姆2013年04月11日23:22

[导读]LinkedIn如何实现快速迭代,同时保障开发质量?本文能给大家一些启示。

LinkedIn成功背后的奥秘:产品开发模式革新

LinkedIn联合创始人雷德·霍夫曼(腾讯科技配图)

腾讯科技讯(汤姆)北京时间4月11日消息,据国外媒体报道,职业社交网站LinkedIn近年来取得了巨大成功,该公司不仅股价一路飙升,业绩表现也令华尔街投资人十分满意。对此,美国知名科技媒体《连线》和《商业内幕》的高级撰稿人莱恩-塔特(Ryan Tate)日前就撰文探寻了LinkedIn成功背后的奥秘:软件革命。

以下是文章主要内容:

随着公司营收和利润的持续快速增长、连续7个季度超越分析师预期以及公司股价在过去两年内上涨了超过3倍,职业社交网站LinkedIn正在迅速成为华尔街投资者的新宠。而且,LinkedIn的成功不仅仅在业绩数据方面得以体现,该公司的产品发布周期的大幅提速以及在软件开发方式方面的革命也同样赢得了外界的肯定。

背后功臣

应该说,LinkedIn的许多成功应该归功于公司高级工程副总裁凯文·斯科特(Kevin Scott)及其对公司做出的改变。斯科特在加盟LinkedIn前是一名谷歌(微博)资深员工,他于2011年2月LinkedIn上市前后加入公司。在斯科特加盟后,他所领导的开发团队完全改变了LinkedIn网站和应用的开发和发布模式,即从每月发布一次升级变成每天发布多次升级。

现在,斯科特的做法已经开始为LinkedIn带来改变。日前,该网站向招聘者发布了一系列智能管理工具,其中包括“推荐候选人”建议栏等。而在过去的一年中,LinkedIn几乎所有其他产品都经历了一定的调整,比如公司网页的变化、通知系统的调整、经过重新设计的主页、全新页面上的评论和“喜欢”功能、iPad和Windows Phone版应用、全新改版的个人资料页面、招聘列表以及博客功能等。本周,LinkedIn还推出了一项借鉴Facebook的功能,那就是允许用户在状态更新中提到其他人(类似于@好友的功能)。

对此,斯科特表示:“如果没有采取这些措施来改变我们一贯的软件开发模式,我们几乎不可能得到外界认可,也不会推出那么具备影响力的产品、如此及时的更新推送、全新的用户资料页面以及我们对于移动端所作出的诸多改变等。”

全新模式

据悉,LinkedIn目前采用的最新软件开发模式被称为“持续部署”(continuous deployment)。在这一模式下,开发者会针对细微的功能模块编写简短行的新代码,在经过快速检查后将其提交至可供所有开发者共享的集成管理系统中。新提交的代码一般需要经过一系列自动化测试的检验,以检查是否存在Bug,一旦这些代码通过测试就将被合并至集成管理系统中。通过这一系统,LinkedIn研发主管可以了解哪些新功能可以随时在网站和应用中激活使用。

值得一提的是,此前的LinkedIn采用的是一种更为传统的软件开发模式,即开发人员从主程序中调出开发分支,并在未来几天或者几周时间内进行平行开发。通常,开发人员会一次性完成某一功能的所有代码编写工作,然后尽量让这些代码合并至主程序中。不过,在合并完成后,所有这些功能都需要进行再次测试以确保不会影响到软件其他模块的正常运作。

在这种“功能分支”(feature branch)开始模式下,软件Bug和错误是非常常见的事情。因为在新版本的软件开发过程中,多个软件模块开发团队会同时提交代码,而在开发过程中,这些开发团队通常是独立工作的。所以,为了尽可能的避免新版本出现软件冲突问题,公司经理层通常会限制每次提交的新功能模块代码,以及每月可以进行合并的新功能数量,这就直接导致了开发周期的放慢。

破釜沉舟

事实上,在LinkedIn的软件开发模式从“功能分支”向“持续部署”的转变过程中,该公司的开发工作被整整暂停了两个月时间。在这段时间内,LinkedIn对员工进行培训、将旧代码迁移至新系统,并开发了一套全新的自动测试工具以确保新系统的正常运转。

“这是一个颇具风险的公司决策”斯科特接着说道:“毕竟,公司需要告诉自己的所有开发人员‘我们将彻底改变软件开发的方式,而在这两个月的过渡过程中,你们需要培养出自己破釜沉舟的决心’。”

当然,LinkedIn也不是向“持续部署”模式进行转变的唯一一家公司,其他一些互联网企业也开始逐渐拥抱这一模式,其中就包括手工艺品电商Etsy和“社交大佬“Facebook。不过LinkedIn向“持续部署”开发模式的转型似乎尤为成功,该公司充分证明了这一模式的优势,并有效推动其在整个科技行业内的普及。

对于斯科特而言,LinkedIn进行这一转型的目的在于解决实际问题,而不只是纸上谈兵。

斯科特表示:“以前,开发者通常以相对独立的方式各自编写代码,然后在编写完成后举手说:‘请将我的代码功能整合到某一版本中进行测试,并在合适的时间将其集成至网站’。但是,我们希望这些代码一被提交就可以马上进行验证,并在验证无误后立刻发布。这也就是说,主程序中的任何新功能都可以随时发布。如果我们没能做到这一点,公司就可能会面临一个紧急事件,即所有新软件开发工作都将停止,所有人都需要投入自己100%的精力来优先解决这一问题。”

从目前的情况来看,斯科特的这一尝试已经获得了成功。斯科特在此前接受采访时提及了这一点,并透露了一个LinkedIn主要用于培养员工“第二项目”新系统的情况。自此之后,LinkedIn的软件开发工作就一直进行的十分顺利,该公司股价也累计上涨了61个百分点。

【想看更多科技独家爆料和深度报道吗?关注腾讯科技微信官号吧!每日下午还有引人思考的内容,期待与您共鸣。(微信号:腾讯科技)】

[责任编辑:samxiao]
您认为这篇文章与"新一网(08008.HK)"相关度高吗?
标签
LinkedIn

阅读更多

网友评论

热门评论

最新评论