内容来源:华为云 DevCloud 首席布道师 & 资深产品经理刘恒的技术干货分享 。IT 大咖说经华为云和讲者授权发布,转载请标明出处 。
阅读字数:2175 | 6分钟阅读
摘要
<恒少出品,必然妥妥干货,必定理论联系实践>,因为软件无银弹 , 探索始终在路上 。大家好,我是华为云DevCloud项目管理服务恒少 。
(https://bbs.huaweicloud.com/blogs/adf71fa5bbf811e89fc57ca23e93a89f)
作为布道师和产品经理,出差各地接触客户是常态,经常和华为云的客户交流、布道、技术沙龙,但是线下交流 , 覆盖的用户总还是少数 。我希望借线上的平台 , 和用户持续交流华为在研发效能提升上的思索和考虑 。
一、例行的开篇小故事
在西方传统的传说中,狼人可以说是比较可怕排行榜靠前的,除了破坏性大,还有出乎意料性 , 传说月圆之夜,会出乎意料的从熟悉的正常人变成可怕的怪物 。软件从诞生那一天前,就注定是个“狼人” 。比如,好好的程序内测测试环境验证OK,可是一上线到生产环境,问题不断;
再比如,项目规划的好好,需求分解得好好的,每个人的任务都安排的妥妥的,可是就是延期,延期,延期….
—— 软件是狼人,来自《人月神话》的《没有银弹,软件工程的根本和次要问题》
二、正文开始啰嗦
很多小型的软件企业,都比较喜欢用excel类似的办公工具来管理软件项目的需求,缺陷,进展,风险和人员 。所以,时不时有些同学会觉得,Excel也是可以妥妥的制服软件这个“狼人” 。但是从我个人的经历来看,很早之前的我可能会认同这个观点,但是现在的我,比较大不认同这个观点 。有人会说,你又在装“老红军”:)嘿嘿 , 就从我在华为亲身经历的 , 参与的,旁观的,变革的众多软件项目的一些经验 , 不成系统的扯扯 。
【华为敏捷/DevOps实践:别再用Excel管理项目】首先,必须得100%承认,几大平台的主流办公工具,都是异常优秀的,如微软的office系列,Google的Docs系列, , Apple的办公套件(Keynote,Numbers,Pages) 。基本的办公软件相当长时间都是是刚需 , 在各个行业都有非常广的应用 。
Excel早期在华为也有比较多的应用,华为内部有不少Excel高手,可以通过Excel内嵌的功能 , 做成非常强大的数据透视,数据报表,牛逼的不行不行 。连我这样的小咖,都会玩各种Excel的小工具,让我得了不少华为的QCC奖励(Quality Control Circle,一种从基础组织发起的自我改进) 。
当时业界还没有专门用于软件管理的工具,我们的项目运作,也确实主要通过Excel的,记录所有的需求以及需求的分解 , 需求的责任人,需求的进展,缺陷的进展 , 风险的进展,甚至形成了大量的Excel模板,下个版本或项目通常还可以继续使用 。
后来,随着华为开始集团级的引入敏捷开发 , 工欲善其事必先利其器,业界也与之匹配的出现了更专业的敏捷协同和管理工具,承载了敏捷的思维(Mindsets) , 价值观(Values),原则(Principes)和实践(Practices),华为的敏捷,乃至DevOps变革之路 , 也伴随着研发工具的变革 。
三、插个话题
我经常叨叨:从IPD,敏捷,DevOps,每个跨代的研发理念和实践的落地 , 在华为内部都是当做变革(Transform)去对待的,变革最难的是什么,变革最难的是“对既有利益集团的破局”,中国的改革这样,研发的变革也是如此 。四、继续正文啰嗦
所以,客观的说,我们还是花了些时间,最终实现了越来越少使用excel、越来越多使用专业敏捷、DevOps工具的变化的,现在华为内部无论大小项目,首先使用专业的敏捷管理工具服务是一个默认的习惯<华为内部早已经实现了工具的云化/服务化,一站式使用,Web访问/App访问即可,Anywhere, Anytime, 非常便利 。这个过程的变迁 , 发生的悄无声息,也从没有想过为什么,因为有论坛用户问,我就整理了一下 , 分享几个可能比较片面的观点:
因为专一,所以精彩
随着敏捷在全球的应用,用户越来越多 , 敏捷实践越来越来丰富,专业的敏捷协同和管理工具也在持续的完善,越来越懂敏捷软件开发,越来越懂开发者 。
因为通用,所以无法在每个细分领域都做到最懂
Excel多年的发展 , 功能越来越强大,尤其是Office365 云端提供后,便利性更好 , 但是它始终是个通用的表格数据软件,它甚至很多时候更懂财务 , 但是始终谈不上最懂软件开发 。
不是最懂又会导致什么呢?体验不到软件开发新的理念、方法和实践
大量的新的软件开发实践,无法通过Excel来体验,比如看板的方法 , Scrum的燃尽图,思维导图的规划需求 。如果外面的世界更精彩,去软件行业其他企业应聘,经验中有通过excel管理开发项目或被Excel管理,在业界总不能算是一个应聘的加分项 。
开发人员会觉得管理方式比较Low
Excel管理软件开发,通常会把开发人员当成一个萝卜一个坑,开发人员会觉得自己只是一个绿色表格中的一个选项,而缺少开发人员的主动反馈和互动 , 这也是为什么很多的专业工具都让开发人员可以评论,可以@,大家对于需求的安排、需求的进展可以动态的反馈和社交讨论 。敏捷的理念 , 重视协同,看板的价值观中也在推荐开发人员Pull任务 , 而不是Leader 单纯的Push任务 。软件开发至今还是智力活动,智力活动需要激发,需要协同,交流,软件开发人员不能当成生产线的装配机器人 , 虽然很多企业管理者都梦想这样……:)
单机版不利于团队共享试用
“那谁,最新的需求Excel表格给我发一下”,“那谁,你刚刚更新的缺陷Excel表格发给我没有?”,“那谁 , 你这个表格不对吧,我昨天更新的需求状态被你覆盖了” , “那谁,你这个表格不是不是最新的”,“最新的风险表格在哪儿?”,“项目例会上,这个表格不是最新的,最新的在我电脑那儿,你等一下 , 我发给你,然后大家都等啊等”,“张三,李四,王五,你们更新一下表格中的需求状态,邮件发给我啊” , “张三,李四,王五你们更新的表格没有发给我啊,等等 , 哦,我收到你昨天邮件了,哦,李四你没有使用张三最新的啊”……..,如果团队超过5个人以上,使用Excel管理需求和项目,以上场景很常见吧?我不知道你会不会烦,我当时做项目经理,带团队时,最讨论,最烦就是这个,因为Excel是文件传递,只能通过邮件或者社交软件传递,经常冲突,经常使用得不是最新的,我还得从邮件拆附件,从社交软件拆附件 , 从其中挑选最新的行,一个个的合并为最新的Excle表格 。我觉得这是在浪费生命,也对不住公司聘用我的成本?。酒赣梦也皇侨梦艺肀砀竦陌 。海?。
不利于并行协作
Excel文件可以以云盘或者文件服务器的方式或者代码库集中存储,团队成员可以修改同一个地方的文件 , 虽然可以一定程度解决上面的问题,但是通常而言 , 是文件级的锁,一个成员修改,其他成员是无法并行修改的,如果某个成员编辑一半,没有提交,其他人就等啊等啊 。而专业的工具其实基于工作项粒度(Epic,Feature,Story,Bug , Task,需求)来控制并行修改的,这样并行修改的效率更高,即使不同的人修改同一个工作项,基于数据库的事务性,也会让用户基本无感知且保证事务性和一致性 。微软最新的Office365,是云端协同,华为内部也使用了,但是从解决多人协同的冲突上 , 依然还是无法适用软件开发过程 , 因为它始终理解的只是一个表格中的行,列或者格子,而专业的敏捷工具它们理解的是工作项、迭代这样的软件对象 。
不利于自定义、升级和统一
如果需要增加需求的一个属性,得修改需求的Excel 模板,修改后还得通知所有的团队成员,更新为新的模板,尤其是单机版的Excel , 让团队统一为新模板,劳神劳嗓子也劳键盘 。而现在的云端的敏捷管理工具服务,都提供了丰富的自定义字段的功能,一次修改,全员都可以马上使用 , 不用耗费时间在统一新模板上了 。
不利于形成研发作业流
软件开发就像一个流,规划,需求分析,方案设计,代码编码 , 测试,缺陷解决 。。。 , 而Excel只是一个或多个文件,本身也不是作业流 , 也没有承载作业流 。久而久之,会让所有软件开发成员 , 认为软件开发就是围绕着几个Excel文件在工作,无法畅快的体会作业流 , 无法体会到需求不断交付上线的感觉 。
不利于和周边系统的集成
一般软件企业里面总有一个集中的员工管理系统,通常也有编译构建的工具系统,Excel作为一个办公工具,和这些系统的集成有许多天然的困难,无法通过Excel看到需求有哪些测试用例,这些测试用例执行的情况如何 , 员工的新增或离职,Excel中业务无法自动同步,Excel需求分配任务给这些员工就会失效或者找不到人 。
诚然,很多高手,可以把Excel这样的办公工具发挥到极致,无限接近,但是这样的高手其实还不如让他去投入真正的产品的开发与交付呢:) , 能把Excel玩出高水平的软件工程师,大概率都是高水平的程序员:)
当然,并不是敏捷管理工具说可以完全替代Excel,Excel这样的工具在数字的统计分析上 , 有着其强大的功能,对于纯粹数字的分析、归类、透视,可以把需求、缺陷等数据从专业的敏捷工具中导出,在项目结束后 , 加以数字的分析,也是一种很好的互补 。
华为这么多年研发效能的持续投入 , 积累了丰富的实践经验,这背后有一个基础的理念:软件研发工程师是宝贵的(说直白点,成本挺高的,真贵o(* ̄︶ ̄*)o),学历都不低(说直白点,还很傲娇,^_^),吸引优先人才竞争还激烈(不爽就键盘党狂吐槽,或者另谋高就(#^.^#)) 。
所以应该让广大的软研发工程师去专注业务的规划、交付,让他们做有价值,有挑战,让他们感觉有成长的事情,而不是让他们成为工具的仆人 。始终给他们装备最懂软件开发 , 最懂开发者,最高效的 , 最少操心的研发工具,才是正道 。如果把研发团队比作作战团队,应该让他们使用最先进战场装备,而不是让他们自己去研究定制一个坦克,他们只需要提需求给专业的服务商就可以了 。
像华为这样想的企业 , 越来越多 。所以现在业界有很多像DevCloud这样的专业的敏捷管理工具服务,运行在云端,Anywhere and Anytime 可以使用,同时还有专业的团队来提供专业的服务,他们更懂软件研发,更懂开发人员的苦恼,更懂敏捷/DevOps 。随着云成为新的基础设施,云上的敏捷管理也必然会越来越会成为软件管理的基础设施 。
以上为今天的分享内容 , 啰里啰嗦的,我自己都嫌弃自己,视野有限 , 读书少,观点片面,如有不对,还望大家指正、交流、讨论:)
编者:IT大咖说,转载请标明版权和出处