随着业务竞争加剧和技术进步,越来越多的企业将研发能力定位为其核心竞争力之一。敏捷... 展开 >
百度工程效率团队负责人、百度平台化委员会秘书长、CCF 软件工程专委会委员。主要关注在软件工程方法和工具平台建设上,包括 DevOps、研发基础设施云化、平台治理、开源、软件工程大数据、软件智能开发等方向,以帮助企业提高工程效率,并建设长期的核心的技术竞争力。近年来,所带领的团队陆续发布《百度方法+ 白皮书》和《百度工程能力白皮书》分享在软件工程方法和工具平台建设上的思考和实践,并多次在国内外学术会议发表论文和演讲。个人译著有《移动计算原理》和《用户故事地图》。
随着业务竞争加剧和技术进步,越来越多的企业将研发能力定位为其核心竞争力之一。敏捷的低成本的迭代,使得快速业务创新在各行各业变为可能。而其背后核心推动力之一,正是工程能力的建设,其表现形式为工程效率的提升。近年来,工程能力的建设呈现出业务感知增强、规模化协同和数据驱动、智能云化等特点。本专题致力于分享各公司工程能力建设方面的创新思考和实践,来引领21世纪下一个十年的工程效率提升工作。
现在,很多公司都有 EP 或者是 EE 部门。EP 是 Engineering Productivity 的缩写,是工程生产力的意思。这个词如今在软件行业流行起来主要源于谷歌公司内部的一次部门转型(From QA to Productivity)。它的字面意思非常直接,但每个企业对它都有不同的理解和做法。 作者在该领域工作多年,通过分析多个公司的实际做法,讨论不同原则下,EP 工具建设对工程生产力的重要影响。
1、什么是 10 倍速原则;
2、“工程”是可靠、简单、高效的代名词;
3、简化的流程与工具将浪费从沟通中分离并消灭,从而提升沟通效率与质量;
4、工具设计思想的简化,是提升工程质量与效率的一个关键因素;
5、工具建设原则体现了组织文化,并受组织文化影响和制约。
一个技术公司,研发工程能力的高低直接影响公司的持久创新力和公司在市场上的作为。只有不懈追求卓越的工程能力,才能够带来长期的核心竞争力,才能为每个用户、每个企业客户以及整个社会创造价值。长期以来,百度在大量的软件开发经验中总结了体系化的工程能力提升之道,包含人(能力、文化)、技 (研发工具、工程复用)、法 (工程方法、优秀实践)、数据 (研发数据、工程数据),有效帮助提高软件开发效率 和产品质量。本主题分享百度在软件工程能力人、技、法、数据方面的建设经验。
一个公司从初创阶段,到业务模式逐步成熟,到逐步成为一个商业公司,业务不断变化,团队也逐步在蜕变,几十人团队到几百人团队到上千人团队,在不同阶段,技术团队在研发效能上的思考和实践都会有所不同,技术管理者如何去衡量团队效能,如何透过数据看本质,并且采取有效行动,都是非常有意思的话题。
随着软件研发规模的急速增长,软件质量的提升已不能再全面依靠测试和运维人员填坑的方式解决。DevOps 运动的开展提出了质量左移的口号,即尽可能让程序员在开发阶段修复更多的 Bug。但让各大企业头疼的是,让程序员花更多的时间提升代码质量又会造成软件交付的压力。为解决该矛盾,我们打造了一套在代码评审(Code Review)阶段进行静态代码扫描的系统。该系统具有反馈及时,工程师上下文切换少,对现有工作流程(Work-Flow)侵入小,以及无需占用工程师额外时间的优点。上线运行一年,该系统起到了开发阶段代码质量提升,逐步减少或者消除在测试和运维方面的投入,实现 DevOps 的全流程自动化高质量交付。