内容来源:华为云 DevCloud 首席布道师 & 资深产品经理刘恒的技术干货分享 。IT 大咖说经华为云和讲者授权发布,转载请标明出处 。
阅读字数:2175 | 6分钟阅读
摘要
<恒少出品,必然妥妥干货,必定理论联系实践>,因为软件无银弹,探索始终在路上 。大家好,我是华为云DevCloud项目管理服务恒少 。
(https://bbs.huaweicloud.com/blogs/adf71fa5bbf811e89fc57ca23e93a89f)
作为布道师和产品经理,出差各地接触客户是常态,经常和华为云的客户交流、布道、技术沙龙,但是线下交流,覆盖的用户总还是少数 。我希望借线上的平台,和用户持续交流华为在研发效能提升上的思索和考虑 。
一、例行的开篇小故事
在西方传统的传说中 , 狼人可以说是比较可怕排行榜靠前的,除了破坏性大 , 还有出乎意料性,传说月圆之夜,会出乎意料的从熟悉的正常人变成可怕的怪物 。软件从诞生那一天前,就注定是个“狼人” 。比如,好好的程序内测测试环境验证OK,可是一上线到生产环境,问题不断;
再比如,项目规划的好好,需求分解得好好的,每个人的任务都安排的妥妥的,可是就是延期,延期,延期….
—— 软件是狼人,来自《人月神话》的《没有银弹,软件工程的根本和次要问题》
二、正文开始啰嗦
很多小型的软件企业 , 都比较喜欢用excel类似的办公工具来管理软件项目的需求,缺陷,进展,风险和人员 。所以,时不时有些同学会觉得 , Excel也是可以妥妥的制服软件这个“狼人” 。但是从我个人的经历来看,很早之前的我可能会认同这个观点,但是现在的我 , 比较大不认同这个观点 。有人会说,你又在装“老红军”:)嘿嘿,就从我在华为亲身经历的 , 参与的,旁观的,变革的众多软件项目的一些经验,不成系统的扯扯 。
首先,必须得100%承认,几大平台的主流办公工具 , 都是异常优秀的,如微软的office系列,Google的Docs系列,,Apple的办公套件(Keynote , Numbers,Pages) 。基本的办公软件相当长时间都是是刚需,在各个行业都有非常广的应用 。
【华为研发经验:别再用Excel管理项目了!】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大咖说,转载请标明版权和出处