另一只眼看研发效能提升 - 那些隐藏在效能背后的人性和规律
如果无法正常显示,请先停止浏览器的去广告插件。
1. 另一只眼看研发效能提升
那些隐藏在效能背后的人性和规律
吴骏龙
2. 讲师简介
• 毕业于中国科学技术大学,获硕士学位。
• 曾任职于eBay上海研发中心,专攻测试领域各项自动化技术,擅长
通过创新手段保障产品质量,拥有多项国内外专利。
•
在阿里巴巴本地生活负责质量基础设施建设和容量保障工作,涉及全
局容量保障、稳定性、质量效能等多个领域,担任多项大促活动和重
点项目PTM。
吴骏龙
前阿里本地生活高级专家
ee.msup.com.cn
• 极客时间《容量保障核心技术与实战》专栏作者。
• 著作《软件研发效能提升之美》。
3. 目录
• 为什么要重视研发效能提升
• 研发效能提升背后的人性和规律
• 研发效能的「思辩悟」
ee.msup.com.cn
4. 为什么要重视研发效能提升
后疫情时代,拼工时的「红利」已经消耗殆尽
「996不是福气,努力也未必成功 」
—— 左耳朵耗子
ee.msup.com.cn
5. 为什么要重视研发效能提升
「快鱼吃慢鱼」,快速反应能力决定企业成败
有60%的把握再行动,获得的是巨大利润
有80%的把握再行动,获得的是平均利润
有100%的把握再行动,一行动就会被淘汰
ee.msup.com.cn
图片来源网络
6. 研发效能背后的人性和规律
ee.msup.com.cn
7. 人类生产力的效能提升史
时代 技术 效果 阶段
石器时代 通过打磨技术实现工具制造 将石头等变成石器,辅助狩猎与进食 已完成
农业时代 通过种植技术实现自主生产 从狩猎转为定居,人口首次爆发 已完成
手工业时代 通过手工实现作坊式制造 覆盖吃穿住用行娱,生活质量大幅提升 已完成
工业时代 通过机器实现规模化制造 人均GDP迎来暴涨,同时人口二次爆发 已完成
信息时代 通过信息技术实现跨域传播 信息差被大量打破,足不出户畅享服务 进行中
智能时代 通过AI等技术实现万物智能 生活体验极大提升,同时人口大量减少 在早期
节选自:https://zhuanlan.zhihu.com/p/354614165
ee.msup.com.cn
8. 摩尔定律与反摩尔定律
摩尔定律 反摩尔定律
当价格不变时,集成电路上可容纳 一个IT公司如果今天和18个月前
的晶体管数目,约每隔18个月便会 卖掉同样多的、同样的产品,它
增加一倍,性能也将提升一倍。 的营业额就要降一半。
—— 戈登·摩尔
ee.msup.com.cn
—— 埃里克·施密特
图片来源网络
9. 反摩尔定律在软件工程上的体现
瀑布模型 VS 迭代式开发
ee.msup.com.cn
10. 软件研发是人类的活动
• 向进度落后的项目中增加人手,只会使进度更加落后。 —— Brooks法则
• 人月是危险和带有欺骗性的神话,因为它暗示人员数量和时间是可以相互替
换的。 —— 《人月神话》
•
ee.msup.com.cn
所有企图消除软件研发过程中人的因素的尝试,都是以失败告终的。
11. 不容忽视的沟通成本
Pi:某种符号系统中,某个符号出现的频率
推论:符号越少,信息熵越小
汉字
(5000+个)
ee.msup.com.cn
声调相同
发音相同
1200+种
结论
300+种
语音输出的
效率不高
图片来源网络
12. 沟通信息熵衰减
网络通信传输 人类沟通
带宽 语速和信息量
丢包 没听清楚
延迟 传输介质影响
协议转换 不同语言
我们应该怎么做?
ee.msup.com.cn
• 相关会议尽量聚集一处,如果必须远程,优先采用视频会议的模式,减少信息熵丢失。
• 沟通交流中避免使用领域特定的术语,降低沟通理解成本。
• 有重要需求或工作任务罗列时,优先使用邮件,避免信息丢失或错传。
• 不讲空话,不讲正确的废话,不罗列大量没有价值的堆砌性文字。
13. 自解释编程
int get_temperature(void) {
return temperature;
}
/**
* Returns the temperature in tenth degrees
Celsius
* in range [0..1000], or -1 in case of an error.
*
* The temperature itself is set in the periodically
* executed read_temperature() function.
*
* Make sure to call init_adc() before calling this
* function here, or you will get undefined data.
*/
int get_temperature(void) {
return temperature;
}
ee.msup.com.cn
• 注释是提升代码信息熵的最低成本手段
• 其他手段的劣势
•
• 口口相传 -> 祖传代码
• 外部文档 -> 多一次映射,信息熵低
• 接口契约 -> 粒度太粗
减少代码信息传递的「中间商」
•
实践:通过JApiDocs生成接口文档
图片来源网络
14. 研发效能与霍桑效应
意识到自己正在被观察的个体,具有改变自己行为的倾向。
ee.msup.com.cn
图片来源网络
15. 霍桑效应对研发效能的负面影响
ee.msup.com.cn
• 双盲实验法
• 环境弱化法
图片来源网络
16. 霍桑效应对研发效能的正面影响
ee.msup.com.cn
• 工作环境、福利待遇、设备和工具并不是决定工作效率的首要因素
• 工作情绪、团队气氛、责任感是提高生产率的决定因素
图片来源网络
17. 尊重人性
敬畏规律
研发效能提升的「思辩悟」
ee.msup.com.cn
18. 研发效能提升的「思辩悟」之(1/7) —— 明确目标
ee.msup.com.cn
反例(无法提升研发效能,甚至会降低研发效能) 正解(能够真正提升研发效能)
(动态目标?) (目标的核心是对未来的指引)
先定个目标,等评分的时候再调整 我们要拿奥运会冠军!
(冲突目标?) (目标通晒优于目标拆解)
研发KPI少写Bug,测试KPI多测出Bug 高效识别冲突目标
(教条目标?) (向上寻求共同目标)
SMART法则「真香」 有效规避冲突目标
19. 研发效能提升的「思辩悟」之(2/7) —— 科学决策
ee.msup.com.cn
• 一名优秀的管理者,一定是善于决策的人。
• 不要携带两个时钟出海,带一个或三个。
• 明确的授予权力,避免“超长”决策链。
图片来源网络
20. 研发效能提升的「思辩悟」之(3/7) —— 规避形式主义
形式主义是研发效能低下的万恶之源
• 领导不下班,我也没法下班
• 上级规定周报必须写满1000字
• 不管单元测试怎么写,覆盖率必须达到90%
做减法
ee.msup.com.cn
图片来源网络
21. 研发效能提升的「思辩悟」之(4/7) —— 打破边界
两区交界道路的管理难题
一专多能
关于「打破边界做事」的探讨
DevOps
ee.msup.com.cn
图片来源网络
22. 研发效能提升的「思辩悟」之(5/7) —— 控制与约束
两个思考
破窗效应
「无数」的群
一段代码引发的「血案」
多重负责人
ee.msup.com.cn
function foo($arg_1, $arg_2)
{
$x1 = "185472857312";
$x2 = "184672395023";
……
return $retval;
}
• 项目是一次性的,没必要控制?
• 控制会带来额外的成本?
控制也需要「控制」
•
当我们致力于控制某个指标时,永远不
要低估人们在追求指标方面的创造性 。
—— 茹炳晟
图片来源网络
23. 研发效能提升的「思辩悟」之(6/7) —— 尊重人性
善用激励手段,敢用惩罚手段
•
将「最佳实践」和「最差实践」都置于聚光灯下
•
将「外源驱动」转换为「内源驱动」
红烂草莓评选
ee.msup.com.cn
一个推动服务性能优化的小例子
24. 研发效能提升的「思辩悟」之(7/7) ——「小轮子」经济
业务团队
下沉
不要重复造
「大」
轮子
ee.msup.com.cn
鼓励建造
「小」
轮子
创新
效能中台
赋能
25. 持续思考 - 研发效能的灵魂拷问
ee.msup.com.cn
• 我们开发的效能提升工具,真的提升了研发效能吗?
• 研发效能可以度量吗?如何度量?
• 大厂的研发效能实践可以复制到中小型研发团队吗?
• 研发效能究竟是「神器」, 还是「玄学」?
• ……
26. 扩展阅读
ee.msup.com.cn
27. 一分钟的思考抵得过一小时的唠叨
—— 托马斯·胡德
ee.msup.com.cn
28. 关注msup公众号
获取更多工程效能实践案例