华为敏捷/DevOps实践:别再用Excel管理项目

1,109 阅读11分钟

内容来源:华为云 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的小工具,让我得了不少华为的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大咖说,转载请标明版权和出处