2014年11月19日

[知乎专栏–思考IT]下一代研发平台的四块积木

作者 zhuangbiaowei
最 近正在看一本书,就是之前介绍过的Jared Diamond写的《第三种黑猩猩》,昨天又读到了其中一段,是讲人类如何分析动物的语言的。在引入了录音技术之后,人类对于猴子的语言的了解,有了突破 性的进展。通过分析,我们分析出了10个词汇。在没有先进的录音分析技术之前,哪怕是最有经验的动物学家,也没办法了解这么多。另一方面,对于大猩猩的语 言的分析,却很困难,因为他们动来动去,不容易录音。

回到研发的话题,在我看来:缺乏对于研发过程中各种行为的分析,是无法真正改进研发 管理的关键原因,程序员每天到底花多时间编程?花多少时间看文档?花多少时间开会?一个Story,会经过多少道工序,最终被开发完成,发布上线?如果研 发的效率不高,最大的瓶颈到底是在哪个环节?

大数据分析工具出现之前,这些答案,都是被一种奇怪的方式回答的:数据散乱,随意,缺乏统一的标准,领导想看了,下面的人就去搞一个Excel。

如果我们有了足够好的大数据分析工具,问题就得到解决了吗?实际上并没有这么简单。究竟应该采集哪些数据呢?在研发的过程中,相关人员,究竟发生了哪些行为呢?这些行为,是能够被分析的吗?是能够被量化的吗?

我 发出了一个邮件,包含了一个word文档作为附件。这个行为的含义,如何分析?以Github为代表的Social Coding,在我看来,最大的贡献是将原来含混的研发行为,原子化了。star、watch、fork、issue、pull request、follow,过去可能都是在email里完成的。通过社交化服务将研发行为原子化,也因此使得量化这些行为,变得可能。

在写Blog的时候,我们会引用其他人的Blog,这时候,BSP就会帮我发出一个PingBack,告诉那篇Blog,它被我引用了。但是,在开源项目的领域,还缺乏这种项目之间的PingBack机制,因此在项目与项目之间的关系,我们还很难梳理清楚。

一个可以期待的功能特性,应该是基于开放平台的OpenAPI的,假设每一个开源项目托管平台,都支持UseIt这样的API,任何使用了它的项目,或者部署了这个开源项目的平台,都会发出一个UseIt的请求给它。该是多么美好的未来啊?

最后,我们再来回顾一下动物语言的研究,为什么大猩猩的语言不好研究?因为采集数据困难。从这个角度来说,如果开发人员都在自己的本地机器上工作,大多数时候不联网,那么研发数据的采集就会非常困难。如果基于云计算的开发平台能最终普及,所有的研发行为,都实际上在云平台上发生,我想:这个故事就基本上完整了。

因此,我们得到了这样四块积木:大数据分析+社交化服务+开放平台+云计算=下一代研发平台