上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

百度:百度工程能力白皮书-工程标准V1.0(21页).pdf

编号:76793 PDF  DOCX  21页 1.97MB 下载积分:VIP专享
下载报告请您先登录!

百度:百度工程能力白皮书-工程标准V1.0(21页).pdf

1、百度工程能力工程标准V1 . 0前言 自1 9 6 8 年软件工程被首次提出,到今年刚好是5 0 周年。在这半个世纪的时间里,质量和效率是软件工程领域永恒的主题。人类自第一次工业革命以来,解决质量和效率问题的不二法门就是自动化、自动化、再自动化。智能化更是自动化的一种高级形态。然而在当今企业中,这样的一个根本方法却被人们无意或有意的忽视。说无意忽视,是因为在企业中负责工程能力建设的人可能缺乏工程经验,心中眼中只有流程。仿佛流程顺了,即便大都靠人工执行,也心安理得。说是有意,则是因为软件行业中原有的分工等原因,自动化的导入带来分工模糊、岗位重要性变化等诸多不确定性,缺乏引入的意愿。本人无意贬低流

2、程,而是更推崇自动化和智能化的流程,更无意非议职责分工,而是更推崇自动化和智能化解放人,使每个人都能更多从事创造性的工作。 创造性的工作。 人们对于人与世界、人与人的关系的认知,在过去的半个世纪里并无显著突破,这些认知又进一步决定了流程优化的上限,仿佛一道透明天花板,人人可感,却无从突破。另一方面,A B C 技术(A - A I 人工智能、B - B i g D a t a 大数据、C - C l o u d 云计算)突飞猛进、日新月异。如果工程能力的建设无法站在A B C 技术进步的巨人肩膀上做创新,那是软件工程领域在这个时代的悲哀。 互联网公司关注快速迭代,天生具有追求卓越工程能力的基因

3、,百度作为技术立身的企业,创立早期便启动了研发流程自动化的工程能力建设,需求流转、文档阅读、代码搜索、程序分析、软件测试、制品部署、服务监控、用户反馈等覆盖研发全流程的工具平台积累,涉及到S e r v e r 、A p p 、S D K 、A I 算法模型、自动驾驶等异构产品业务形态。4 0 余个工程实践环节,积累了4 0 余个可插件化接入的平台,在公司内被广泛使用。在这些实践和平台运行的同时,一个新的金矿正在悄然生成,那就是软件工程大数据。如今我们依托百度领先的A B C 技术和工程能力建设经验,将公司积累的5 0 0 多亿条软件工程数据进行处理,其中锤炼出的技术用于代码推荐、缺陷检测、智

4、能测试、智慧运维等领域。今年百度承接了国家重点专项基于编程现场大数据的软件智能开发方法和环境,与国内软件工程领域实力顶尖的1 5 所高校一同建设中国未来的智能大数据的软件智能开发方法和环境,与国内软件工程领域实力顶尖的1 5 所高校一同建设中国未来的智能软件开发平台。 作为百度内部以工程卓越、毕生所求为使命的一群人,我们一边支持公司业务打胜仗,一边努力探索工程能力建设的新方向,心中充满着欣喜。并非常渴望能将我们的理解和主张向行业分享,共同进步。然而由于工程能力体系庞大、平台众多,一时无法穷尽,所以我们将这个体系进行分解,首先分享价值高、可迁移的工程标准V 1 . 0 。后面陆续会向大家汇报我们

5、在A I 赋能软件开发、A I 开发软件工程等方面的进展。更期待您的反馈和交流。 李涛 百度工程效率总监 百度平台化委员会秘书长2 0 1 8 年1 0 月1 0 日 百度工程能力白皮书I编委会成员百度工程能力白皮书I I目录百度工程能力白皮书I I I56677891 01 21 21 21 31 31 31 41 41 51 61 7 百度是一个技术公司,研发工程能力的高低直接影响公司的持久创新力和公司在市场上的作为。只有不懈追求卓越的工程能力,才能够带来长期的核心竞争力,才能为每个用户、每个企业客户以及整个社会创造价值。长期以来,百度在大量的软件开发经验中总结了许多

6、优秀的工程实践,这些实践来自于公司工程标准和开发工具链的结合。经过长期团队观察和大量研发数据分析,我们证明这些实践可以有效帮助提高软件开发效率和产品质量。 百度软件工程标准制定的目标是帮助研发团队持续提升工程能力。工程标准可以快速指导团队采用优秀的软件工程实践和研发工具,使其在研发效率或产品质量上获得提升。同时有了标准和规范,也能够更有效地衡量团队工程能力的水平,让各个团队能够更好地了解自身的工程能力现状,进而设定工程能力提升目标,不懈追求工程卓越。 本白皮书希望分享百度在软件工程标准、实践、度量和改进方面的经验,呼吁业界共同加强工程能力建设、研发工具投入、工程标准更新与工程素养提升,共同推进

7、软件工程的发展。 百度软件工程标准从典型的研发过程中,抽象出研发过程主要看流程是否顺畅、实践是否完备、实践是否有效三个方面,再加上构建系统是否可靠稳定,形成四位一体的工程能力标准,具备流程全面、实践完备、效果驱动、构建合理等特点。 百度软件工程标准是由百度D e v Op s T OC (T e c h n i c a l Ov e r s i g h t C o mmi t t e e )制定并发布的,并且随着公司工程技术的发展不断更新。首先,D e v Op s T OC 的委员广泛收集各个研发团队的优秀工程实践,以及工程标准实施的反馈,制定工程标准的初版或修改意见草案。然后T OC 委员

8、将草案提交至D e v Op s T OC 进行充分讨论,如果T OC 会议通过,就进行标准修改的公示,同步修改研发工具中的对应规则。同时收集各团队反馈和实际研发数据进行分析,来验证标准实施的效果,并继续准备下一轮的规则更新。 本白皮书是百度软件工程标准1 . 0 版本。在此之前,百度软件工程标准已经在百度内部经历了十余次修订,基本包含了百度所有产品团队的优秀工程实践,具备了可靠的权威性,起到了有效的指导作用。百度软件工程能力白皮书1 百度公司的软件产品形态有多种,例如A p p ,B r o w s e r ,P C C l i e n t ,S D K 等。不同的产品类型其研发过程及优秀实

9、践也不尽相同。目前我们把研发的工程类型大致分为4 类:S e r v e r 、A p p 、S D K 和A D (A u t o n o -mo u s D r i v i n g ),本白皮书介绍S e r v e r 、A p p 和S D K 三种工程类型的工程标准。百度A D 工程类型的工程标准将在白皮书后续版本中增加。 开发一个S e r v e r 工程,需要经过需求、开发、代码准入、测试、上线&验证等阶段,每个阶段有若干优秀工程实践。下图是百度S e r v e r 工程类型的优秀实践集合S e r v e r 类型工程能力地图。通过工程能力地图,可以指导从开发到上线的流程,

10、建立标准化研发工具链,统一度量工程能力。百度软件工程能力白皮书2 开发一个A p p 工程,需要经过需求、开发、代码准入、测试、灰度、发版等阶段。下图是A p p 类型工程能力地图。百度软件工程能力白皮书3 开发一个S D K 工程,需要经过需求、开发、代码准入、测试、灰度、交付等阶段。下图是S D K 类型工程能力地图。百度软件工程能力白皮书4百度软件工程能力白皮书5百度软件工程能力白皮书6百度软件工程能力白皮书7百度软件工程能力白皮书8百度软件工程能力白皮书9百度软件工程能力白皮书1 0百度软件工程能力白皮书1 1百度软件工程能力白皮书1 2百度软件工程能力白皮书 A v e r a g

11、e 使用包管理平台进行产品包管理 G o o d 可以方便的获取历史包1 3 上述的工程标准有助于团队了解工程全貌,自主确定工程改进目标,自助改进工程能力。每一个工程实践都有对应的工程工具平台支持,团队只需在研发工具中选择对应的工具插件,即可获得相应的工程能力。例如在“代码准入”阶段中的若干工程实践,都可以从百度代码管理工具i C o d e 中进行选择。 在“测试”阶段中的工程实践,则可以从百度流水线平台i P i p e 中选择相应插件,下图为百度研发流水线i P i p e 的部分插件百度软件工程能力白皮书1 4百度软件工程能力白皮书 团队在使用工程工具、按照工程标准进行工程实践的过程中

12、,这些工程工具平台能够按照统一规范回传数据,进而可以分析计算每个团队在每个工程实践上已经达到的级别。为此我们用研发工具平台产生的研发现场数据,建立了百度研发数据仓库,并基于这些工程数据,开发了工程能力地图可视化的产品,方便各个团队了解自身的工程能力,验证工程改进的效果。1 5百度软件工程能力白皮书 通过不断修订工程标准、迭代工程工具落地优秀实践、收集研发数据并可视化工程能力,可以使研发团队快速实施优秀工程实践,提升工程能力,进而提高团队开发效率,提高产品质量。 我们观察了公司8 个样本团队的工程实践落地进程和开发周期时间的变化。其中4 个团队在观察期内按照本文的工程标准推进了若干工程实践的落地

13、,另外4 个团队工程实践做得很少且在观察期内没有推进新的工程实践落地。把这8 个团队在观察期的每个版本的开发周期时间和周期时间的移动平均值用散点图进行可视化,得到下图。1 6百度软件工程能力白皮书 对于一个科技公司来说,保持并不断提升工程能力是最重要的。百度一直坚持培养工程师的工程素养,建设高效的工程工具,持续推动工程能力提升,R e l e n t l e s s P u r s u i t o f E n g i n e e r i n g E x c e l l e n c e ,永无止境的追求工程卓越。本白皮书介绍了目前百度工程的标准和工程实践,希望作为软件工程的实践者为同行或研究机构

14、提供一个参考样本,促进交流,共同提高。百度工程标准也必然会随着公司内外工程技术的不断革新而持续升级。百度软件工程标准希望及众家之所长,合众人之智慧,以实践为检验标准,促工程能力打造科技产品,用科技让复杂的世界更简单。 我们发现在选定的时间范围内(横坐标),推进工程实践落地的4 个团队(图中高亮的颜色),其开发周期的移动平均值(下图的散点)成稳定下降趋势;没有推进工程实践落地的4 个团队(图中背景部分),其开发周期主要成发散上升趋势。同时这8 个团队在观察期内的团队人数、开发习惯等团队特征以及产品质量均没有显著变化。这说明工程实践能够对开发周期的缩短产生积极影响。 为了在更大范围内进一步发现工程标准、工程工具对研发效率和产品质量的影响,我们对百度所有团队6 为了在更大范围内进一步发现工程标准、工程工具对研发效率和产品质量的影响,我们对百度所有团队6个月时间段内的研发数据进行了定量分析。分析结果表明,团队采用的工程实践数量越多,其开发周期越短;工程实践做得程度越深入的团队,其开发周期也越短。同时研究了开发团队人数对上述结果的进一步影响,发现团队人数越多,实施工程实践对缩短开发周期的作用就越大。以上分析结论进一步佐证了优秀的软件工程实践能够缩短开发周期。1 7

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(百度:百度工程能力白皮书-工程标准V1.0(21页).pdf)为本站 (沧海一笑) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部