大家好,我是华为云DevCloud项目管理服务的产品经理 恒少:)
作为布道师和产品经理,出差各地接触客户是常态,经常和华为云的客户交流、布道、技术沙龙,但是线下交流,覆盖的用户总还是少数。我希望借助线上的平台,和用户持续交流华为在研发效能提升上的思索和考虑。
<恒少出品,必然妥妥干货,必定理论联系实践>,因为软件无银弹,探索始终在路上
-----------------------干货分割线--------------------------------------
开篇小故事:前几年,一本叫《沉思录》的书在国内突然曝光度很多,因为前某国家领导人“摆案头,读百遍”。《沉思录》是古罗马皇帝马可·奥勒写给自己的书,内容大部分是在鞍马劳顿中写的。其实有一句“我们所听到的不过只是一个观点,而非事实。我们所看到的不过只是一个视角,而非真相”
全员都参加的回顾会议,其实就是希望能通过全员视角,全员的观点来回顾做的好的,做的不好的,改进之。从敏捷宣言,到敏捷的诸多实践(如Scrum),到DevOps,都一直提倡回顾这种形式。
其实回顾这种形式,并不是敏捷/DevOps专属的,在华为最早的CMM流程中,也有类似的活动。有时候团队碰到域郁闷,痛苦的时候,还会主动自发的开。
所以,回顾,我一直认为这是人类作为一个智慧物种相比其他生物的一个重要区别。我有的时候回通过回顾会议来判断这个团队会不会成功。最极端的,如果甚至都没有人想着要约大家一起回顾,这个团队极大概率要88了。
华为内部不仅研发交付团队,连一线的市场团队,在重大的市场项目,交付项目的过程中都会定期进行回顾会议,算是华为内部这么多年积累的一个很好的实践。
必须鲜明表达的观点——回顾有三个不是
1.不是“回溯”。“顾”和“溯”一字之差,在中文的语境中,却会导致变成刨根问底。
2.不是“批评与自我批评”。“批评与自我批评”是一个很好的形式,但是会导致团队陷入一种不必要的紧张和犯错感。
3.不是“问责和处罚”。软件的不确定性,不可见性,复杂性,易变性决定了软件开发过程总会有些磕磕盼盼,我们提倡的是改进,不是惩罚
从华为这么多年的实践来看,上面的三种情况都出现过,所以提醒大家要小心。
这么些年实践过来,我们发现出现以上情况,也是因为步子走得太快,低头玩手机^_^,忘了“回顾”的初心:
1.For a better future;
2.Learn from past;
3.Take action in present.
回顾会议的基本原则
1.对事不对人。举个例子,我们可以说“代码评审不充分,所以代码缺陷较高”,不能说“某帅哥评审不认真”,当然夸人帅还是可以的哈^_^。
2.聚焦于下次能否做得更好。还举同样的例子,我们可以说“这个迭代代码评审不充分,下个迭代我们怎么才能保证更充分的评审”。
3.从系统角度思考改进,而非个人。我们可以说“团队的工作安排上,导向上是不是不重视代码评审?”。
回顾会议的Step by Step
1. 确定参与人(Who)
a)团队所有成员都参加。
b)领导是否参加,试情况,如果领导参加利大于弊,就邀请,否则还是算了^_^
c)如果是重大的项目发布或项目结束的回顾会议,还应该叫上所有对项目有付出的成员。
d)建议指定一个会议引导人,可以是敏捷教练,也可以是团队成员轮流(团队成员建议熟读本文)
2.选择合适的场所(Where)
a)如果条件允许,离办公位尽可能远一点,避免有同学中途又回去处理工作了
b)尽可能不要使用传统会议室的布局,围坐一个大桌子那种不好。可以拉几把椅子围成一个半圆形。
c)需要有白板,或者墙壁可以贴个大白纸
3.准备回顾的内容(What)
a) 准备上个迭代的客观数据,特性、需求、缺陷等数据,如果使用了像DevCloud这样的敏捷管理工具,准备数据其实很快的,甚至不用特别准备,现场打开就可以,类似如下这样
b) 团队成员上个迭代的感受,可以认为是主观数据的收集。
c) 每日站立会议的要点。每日站立会议中都会提出并跟踪解决一些问题,回顾这些问题也可以帮助我们审视过程中的情况。恒少之前专门写过如何开好站立会议的实践文章《华为敏捷 /DevOps 实践:如何开好站立会议》,可以参考。
d) 准备一个规则,会议开始前贴出来或打印出来或投影仪投出来。规则是为了保证会议的纪律和效率,比如不能随便打断别人讲话,每人发言时长,会议时长(建议10~12人的团队,限定在1小时内)
4. 回顾会议的过程(How)
a) 准备和引导——明确目标。重申回顾会议的目标和原则,让成员重拾回顾的“初心”,发布公示如下的回顾宣言,重申会议纪律,时长。准备和引导环节是让大家放下手机,进入回顾会议状态的必要环节,无论开过多少次,都不应该省掉。
b) 数据、过程的回放——建立共同的全景。展示本迭代的度量数据,如果有使用类似DevCloud的敏捷管理工具,可以直接打开系统。全景的数据展示回顾,让视角更全面。对于一些“历经劫难”的迭代,可以画一个时间线,把这个迭代发生的重大的一些事件按照时间顺序展示出来,帮助团队成员回顾都发生了什么
c) 提出见解——我们如何才能做得更好。可以通过头脑风暴,全员参与,有很多种分类的方法,如下图中是分为“Good”(下个迭代哪些好的方法可以继续保持),“Could Better”(下个迭代可以哪些地方可以做得更好),Improvements(新的改进的具体想法)。可以采用“有限投票”的方式,每个成员有5票(比如小磁贴或直接记正字),大家共同团队层面需要重点改进的。其实投票未排进Top的改进,如果不需要组织和团队来推动,个人也可以实施的改进,也应该支持。
d) 确定措施——想清楚就干,才有诚信。识别了重点的改进项,为每一个改进项指定计划,执行的措施,需要更高层面去解决的措施需要单独列出来,项目Leader会后要发挥“死缠烂打”的精神去骚扰领导了,同时每个改进措施都应该明确一个责任人,如果没有明确的责任人,大家都会认为是别人的事情。
e) 结束会议——果断结束,绝不拖泥带水。将会议中达成共识的措施和计划整理记录下来,如果使用了敏捷管理的工具系统,可以直接输入到系统中,记录为Story或者任务。
来自实践中的一些坑和雷
1.不持之以恒。那什么几天打鱼,几天晒网的可不行。恒少,恒少,就是能持之以恒,哈哈。
2.理想主义。团队级的回顾会议应基于现实,而非理想,或者说理想可以有,诗和远方也可以有,但是回顾会议还是应接地气。
3.沉迷于细节。程序员有的时候特别认真,容易把问题引入到技术细节,这样会导致议题发散。
4.只开会,没有吃的,好饿。皮一下,为了调节会议氛围,可以准备些吃的,补充能量,大脑才能激发
最后的最后,每个迭代回顾会议,都不要忘了感谢辛苦码代码的自己,也不要忘了感谢为了心中教堂而努力的所有团队成员的。
相关推荐
"华为DevOps实践案例" 本文总结了华为公司的DevOps实践案例,展示了华为公司自成立以来在研发效率和模式的演进历程,从个人英雄主义到IPD、敏捷和DevOps等多种研发模式的变迁。 一、 华为公司简介 华为是一家全球...
这份文档主要涵盖了华为在面对大规模企业环境下如何实施敏捷开发和DevOps实践的深入探讨。在快速变化的IT行业中,敏捷和DevOps已经成为提升软件开发效率、质量和响应能力的关键策略。华为作为全球知名的技术巨头,其...
华为云DevCloud的DevOps项目管理实践践行了Scrum/看板、大规模敏捷、DevOps等业界先进理念,通过实施流水线、服务独立发布、微服务独立发布等手段,实现了研发作业时间的缩短,版本级编译时间的缩短,版本构建成功率...
华为云:DevOps在华为云上的实践.docx
华为敏捷开发介绍,非常经典,值得学习。讲述敏捷转型的内在含义,分析企业现状,差距,如何转型,转型要求、步骤等
华为敏捷开发,devops,敏捷开发流程,需求分析,华为管理流程
总之,华为软件开发云是一个强大且全面的DevOps平台,旨在简化软件开发流程,提升团队协作效率,确保产品质量,并通过云服务的灵活性和安全性,帮助企业适应快速变化的市场环境,加速产品上市时间。
它还介绍了作者姚冬,他是华为云应用平台部的专家,并在DevOps和敏捷方法方面拥有丰富的经验和实践。通过描述,我们了解到,这份文件将重点探讨华为云DevCloud团队在扩大规模过程中的成长历程,以及它如何通过持续...
目录:网盘文件,永久连接 01. 01-1华为端到端DevOps概览-1软件产业和交付模式发展趋势 ...53.-55 03-1DevOps实践与转型路径-1华为云端到端DevOps实践 56-57. 03-1DevOps实践与转型路径-2.1DevOps转型路径
《软件工程-敏捷DevOps开发方法》实验手册(之一)1是华为技术有限公司推出的一份实践教程,旨在帮助读者理解并应用敏捷项目管理和DevOps理念。这份手册通过一个名为“凤凰商城”的项目实例,深入浅出地介绍了敏捷...
华为软件开发云是一款由华为公司推出的面向广大开发者和企业的云端DevOps平台,旨在提供全面、高效、便捷的软件开发服务。这个一站式解决方案整合了代码管理、持续集成与交付、项目管理、质量管理、应用运维等核心...
华为云DevCloud的DevOps项目管理实践是指在云环境下构建、运行、管理软件的新的系统实践范式,充分利用云基础设施与平台服务,适应云环境,具备(微)服务化、弹性伸缩、分布式、高可用、多租户、自动化等关键特征的...
《华为HCIP CloudServiceDeveloper V1.0 DevOps工程师官方认证教材》是针对华为认证的高级云服务开发工程师(HCIP-Cloud Service Developer)的重要学习资料。本教材旨在帮助学员深入理解和掌握DevOps理念,以及如何...
8. **总结与回顾**:DevOps文化鼓励团队定期进行回顾会议,如敏捷的Scrum或看板方法,以学习经验教训,持续优化流程,提升团队效能。 总的来说,《HCIP-Cloud Service DevOps Engineer教材V2.0》为读者提供了掌握...
【DevOps】与【物联网IoT】的相遇,揭示了华为云原生全景之路,这是一场关于技术创新和企业发展的深度探讨。随着云原生理念的快速发展,它推动了IT架构在云计算领域的演进,形成了以CI/CD、DevOps和微服务为代表的...
- **服务器资源**:为了支持DevOps实践,通常需要高性能的服务器来承载各种服务和工具,这些服务器可能是物理机也可能是虚拟机。 - **网络设备**:确保网络设备能够满足高可用性和性能需求,支持自动化部署和管理。 ...
总之,通过DevOps全流程App日志智能分析实践,华为终端云服务团队不断探索和解决新挑战,致力于打造更加智能化的系统测试和故障分析平台,以支持快速发展的互联网业务,确保终端用户能拥有更加稳定和流畅的使用体验...
DevCloud作为华为云的开发平台,集成了多种工具和服务,支持敏捷开发和DevOps实践,为企业级软件开发提供了全方位的支持。 【描述】"敏捷开发,Devops合集图书" 提示我们这个压缩包可能包含了关于敏捷开发和DevOps...
2.6 华为敏捷项目管理企业实践 3.1 持续集成理念、方法与实践 3.2.1 代码托管与分支策略 3.2.2 企业实践 3.3.1 Git基本概念 3.3.2 Git主要操作 3.4 代码提交及代码评审 3.5.1 华为云 DevCloud 代码托管服务 3.5.2 华...