百度工程能力的提升之道
极客时间编辑部
讲述:子阳大小:2.27M时长:04:58
研发工程能力的高低直接影响技术公司的持久创新力和公司在市场上的作为。长期以来,百度在大量的软件开发经验中总结了体系化的工程能力提升之道,百度资深产品经理王一男曾在 QCon 全球软件开发大会(北京站)分享了百度在软件工程能力人、技、法、数据方面的建设经验,以下为关键内容。
提升工程能力的总体目标是助力业务的成功,提升业务前进中的研发能力,让业务更快速、更高效的发展。百度提升工程能力的策略模型可以用“人”、“技”、“法”、“数据”来概括。
人
第一部分是人的方面,工程能力提升的根本在于人(工程师)本身的工程素养提升。即使有好的流程、方法和开发工具,如果开发者本身的能力和工程素养不足,工程效率也会非常低。
为了提升工程师的工程素养和工程能力,百度在招聘时,一定招优秀的工程师。新人入职后,为他们提供工程师能力培养和文化建设的工作坊,更有理论与实操结合的“码神训练营”,使新人在短时间内了解百度工程开发的流程和规范,建立工程规范意识。除此之外,还有很多培养工程师文化的项目,比如 Hackathon 、Good coder、Excellent Coder 认证等。
技
第二部分是技术,重点是工程工具平台。百度开发了自己的 DevOps 工具和管理协同工具,并且把它们连接成为一个从需求管理工具(iCafe)到代码管理工具(iCode)再到持续交付工具(iPipe)的完整研发工具链。使研发过程自动化,提高效率和质量。
但工程能力的保持与提升,只依赖于研发工具是不够的,如果每一个产品、每一个平台都要从零开始开发,或者为了服务于自身产品,而建造了许多功能重复的平台,那么公司整体的研发效能会受到很大影响。为了提高整体的工程效能,还需要做平台的建设与治理。
平台建设包括平台复用和源码复用这两方面。在平台复用方面,百度将内部的几百个平台划分成若干类别,每个类别都成立一个 TOC 组织来负责规划这类平台未来的发展。目的就是让这类平台可用性加强、复用度提高,让平台本身的能力增强,以便让每个业务方能够更快速地使用平台去搭建自己的业务,提高工程效能。
但平台复用会带来一个问题:如果多数平台逐渐收敛成少数平台后,许多需求都会涌向这些平台,导致平台研发团队不能按时、高质量完成所有的需求,从而使研发效率下降。那怎么在平台化的基础上去做更好的工程复用呢?
那就是源码复用。在代码管理平台(iCode)上,百度做了内部开源功能。在平台化治理的过程中,平台是否能够达标,有一个考察点是它能不能实现内部开源。如果一个平台的 API 已经对外开放,并且又做到了内部开源,能够让其他团队贡献代码协作开发,它就是一个优秀的内部平台。
法
第三部分是方法,主要是研发方法和流程的整理及运用。团队使用一致的方法和流程进行开发,并不断地迭代优化,他们的工作效率会越来越高。百度把管理实践和工程实践做了细化。
管理实践部分,有一套“百度方法 +”课程体系,把敏捷软件开发、精益创业思想等先进方法,经过百度实际产品线和团队的充分实践,提炼出了融合 " 方法 + 工具 + 案例 + 场景 " 的标准化知识体系,并进行了全面落地。
工程实践部分,有一套完整的从需求到上线的各阶段优秀实践的集合,并对外发布。这就是《百度工程能力白皮书 - 工程标准 V1.0》,其中详细介绍了每个研发阶段可能使用到的工程实践及具体的操作步骤。研发团队可以按照这样的标准去实践开发,促进优秀工程实践更快速落地。
数据
人通过学习方法来使用工具,这会产生很多的数据。如何更好的使用这些数据帮助工程能力进一步提升呢?百度通过统一的研发平台 — 百度效率云(iCafe、iCode、iPipe)收集大量的研发数据。再将每个团队的工程能力或工程实践达到的程度可视化出来。以便团队看到工程能力的变化,进而自主改进工程实践,提升工程能力。
另外,工程能力分数的换算也可以帮助研发团队更好地确定下个阶段的目标,这个分数包括项目管理能力、质量保证能力和持续部署能力,每个人根据自己的现状去设定工程能力改进的目标。这样整个公司优秀的工程实践的数量和工程能力都得到了很好的提升。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- 天天向上百度方法+没有搜索到1
收起评论