查看原文
其他

研发软件的软件,华为云来了!

华为云 2023-01-13


长期以来,软件研发管理与团队协作工具市场发展并不完善。在跨地域、跨组织、跨团队大规模协作研发越来越紧密的云开发时代,需求的识别和高效管理成为一个产品能否取得商业成功的“胜负手”之一。2022年12月7日正式发布的华为云CodeArts Req需求管理工具,能否成为搅动这一市场的“鲶鱼”?



「这个“根”要扎得更深」


长期以来,中国信息产业一直被“缺芯少魂”的焦虑症所困扰。“芯”指芯片,引申为与硬件相关的底层核心技术;“魂”指操作系统,泛指包括操作系统、数据库、中间件等基础软件。


今天,国际市场风云变幻,除了我们惯常认为的弥补“缺芯少魂”的“根技术”以外,一些关键的应用软件,乃至软件开发工具也应该归属于“根技术”的范畴,必须实现自主创新


作为一家“非典型”的“典型”软件公司,华为在软件领域的一举一动也颇引人瞩目。


为什么说是“非典型”?因为在华为公司众多的标签中,大众的认知可能是ICT设备提供商、云服务商、手机制造商,而其软件公司的身份似乎只局限于“圈内”。说它“典型”,因为华为是名副其实的中国软件百强企业,并且已连续20年雄居榜首。近十年来,华为研发费用累计达8450亿元,其中相当大的一部分是在软件的研发上。


其实,华为内部对于软件开发工具是不是属于根技术范畴,也曾有过争论。华为“向下扎到根,向上捅破天”的战略定位给出了答案:如果想在软件领域实现跨越式发展,支撑更多的上层应用创新,软件开发工具这个根就一定要扎得深、扎得牢。



「这个“时机”抓得好」


中国传统文化对做事讲究“天时、地利、人和”,软件开发亦是如此。软件开发是根技术,但技术本身的难度、需要长期积累的行业经验,以及国际厂商建起的商业壁垒,意味在这个方向上“破圈”并不容易。


云计算时代的到来,为国产软件创新提供了不可错失的良机。未来,一切的研发活动都将发生在云上,软件开发更不例外开发者只要有一个浏览器,就能随时随地进行研发。华为云的崛起,像是给华为软件工具的开发装上了加速引擎,无疑给了华为在云上软件开发这个赛道上“弯道超车”的机会。


毫无疑问,云计算对于软件产业的发展是一次颠覆。在软件定义一切的时代,华为云不仅增强了底层基础架构、提升了算力,更重要的是在云上改变了很多软件的形态。与传统做硬件盒子不同,云上软件的开发需要一个更加开放的生态,这使得华为云与同行之间不是排他竞争,而是携手伙伴以及开发者共享共创共赢。


在云计算时代到来之前,软件开发的工具大多都是单体的,开发者在自己的PC上,使用一个独立的开发工具。今天,随着开发工具的云化,云上提供的强大算力、分布式架构等,足以支撑大规模、高效率的协同开发。


比如在华为云上,代码编译的速度相比传统软件提升了10-50倍,十几万的测试用例能够快速分发下去,开发者即使坐在家中,也能随时随地操作,不受地域限制,也不会出现业务中断。软件开发的整体效率、可靠性、可用性、安全性有了巨大飞跃。 


包括需求管理平台、代码管理平台、用例管理平台等在内的华为研发工具全面上云后,华为云强大的算力平台能够与研发工具更好地结合,对研发的整体效能进行精准评估,并显著提升研发效率和质量。截至目前,华为云平台上已经汇聚了超过370万的开发者。


要想提升研发效率,软件必须坚定地拥抱云计算和SaaS化华为内部使用的“云龙”平台,就是在这一背景下诞生的。


云上研发,让华为尝到了甜头,推己及人,千行百业的客户是不是也希望拥有像这样的云研发能力和效率呢?于是,华为做出了一个重大决定,将用于内部开发实践的“云龙”能力全面对外开放,以云服务的方式为更多企业和开发者服务,这就是我们今天看到的华为云CodeArts软件开发生产线


华为将30多年来在研发上积累的经验、流程、方法,沉淀在华为云上,转化为标准化的服务对行业客户进行赋能,帮助他们在自主创新的路线上,不断提升软件开发的效率和质量,并且保证供应的连续性。


从最初只有二三十万开发者,到短短几年间增加至数百万,华为云为开发者带来了全新的生态体验。对于广大的开发者来说,CodeArts就是他们与华为云沟通的入口,同样也是一片“黑土地”,为开发者提供所需的软件开发环境和工具。



「这次“转型”很及时」


以前,华为也曾采购过一些传统的软件开发商业套件,给内部的小型开发团队使用。但是,随着企业规模和业务不断扩大,不仅开发团队的人员有了数量级的增长,而且在“后疫情时代”,异地办公、居家办公的开发方式也成了常态。对于跨地域的大型企业研发团队而言,如果没有云平台和服务化的能力,不仅软件开发的效率难以提升,而且协同的效果也会非常差。


将研发的能力和工具以云服务的方式提供成了必然之选


从2015年开始,华为的开发基础服务就开始逐步汇聚到云上——即DevCloud开发云,即使是本地桌面的IDE也能通过插件与云服务实现无缝对接,在远程支持的许多场景下,IDE也在逐步云化。


华为的一贯策略都是全球开放,即应用全球最先进的技术、流程、工具,锻造提升自己的开发水平,持续领先业界。近几年,随着国际局势的变化,先进技术和产品的可获得性打了折扣,实现自主创新成了当务之急。


所谓工欲善其事,必先利其器,中国软件产业的发展,最可靠的依赖是自己的根技术。这就像是盖高楼,如果地基不稳,遇到风吹草动,大楼就会有坍塌的危险。为了软件供应链的安全、为了软件开发工具的安全,我们的“根”必须扎得深一些,再深一些。


华为在软件开发工具方面的投入已有20多年,分成多个阶段。


  • 在最初阶段,华为采用商用工具推动公司内部的研发实践落地,并在此基础之上做大量的定制开发,将工具之间的数据打通,对工具之间体验性的东西进行改良,形成了华为第一代软件开发工具,也实现了基础研发的数字化,即研发协同与内部的数据流转。


  • 随着云计算的兴起,再加上“断供”的挑战,华为加快了对传统软件云化和SaaS化的改造,并利用开源技术“补漏”,同时还采用制度创新的方式,保证在云原生的分布式架构的基础之上,更多更好地开发云化的工具。


  • 面向未来,华为正在做新的思考和布局,包括利用创新的安全技术,提升研发工具的可靠性和可信能力,更好地实现软件生产过程可追溯并融入更多的智能化。


作为DevCloud开发云的重要承载,CodeArts软件开发生产线与DataArts数据治理生产线、ModelArts AI开发生产线、MetaStudio数字内容生产线起,成为了云上创新平台的核心引擎。CodeArts的诞生,得益于华为在软件开发方面长期的积累与实践,是其软件开发能力的外化与厚积薄发,同时也是顺应华为加强自主创新软件开发的长远战略之需。


CodeArts顾名思义,Code就是编码,而Arts代表艺术,华为希望原本枯燥、流程化的开发工程能够变成焕发开发者激情与创造能力的过程,重塑程序员对开发的热情、梦想与追求,而不再是“码农”


CodeArts的艺术性体现在,由于人工智能技术被注入到软件开发的过程中,可以更好地推荐代码,甚至找到一些未来的知识图谱,再加上强大的云能力,能够为开发者提供超乎想象的创新服务,从而更好地激发开发者的创造性。


华为云期待Code与Arts的结合,再加上华为一系列的研发工具、工程方法和能力经验的外溢,能让开发工程师、程序员像艺术家一样创作创造,不负初心。


CodeArts Req的发布打响了华为云软件开发工具能力外溢的第一枪。据悉,在接下来的1至2年内,CodeArts的其他各种工具也会陆续推出上线。



「这项“需求”拿捏得准」


华为云为什么将CodeArts Req作为推动云上开发的桥头堡?CodeArts Req是一款由华为自主研发的软件研发管理与团队协作工具,凝结了华为30多年软件研发的先进理念与丰富实践,具有强大的组织协作能力和灵活的研发流程定义能力。Req内置了华为IPD需求管理模板,支持IPD研发、DevOps敏捷交付、精益研发多种研发模式,并且支持特性管理、需求管理、缺陷管理、计划管理、基线与变更及任务跟踪,同时提供了强大的跨项目协同、多项目组合管理能力,能够更好地助力企业大规模研发转型成功。


为什么需求管理如此重要?1997年,某国国税局耗资40亿美元实施现代化项目,计划将税收法规转换成软件代码。由于税法本身十分复杂,且不断变化,这对IT开发人员来说无异于需求噩梦,天方夜谭。最终,由于缺乏科学的需求管理,加上内外程序员的缺乏有效协同,严重低估涉及的工作量,导致项目以失败收场。


“从客户的需求出发”,似乎人人都在这样说,但是将定性描述的需求转化为定量的指标却难上加难,因为很多客户并不清楚自己需要的是什么。所以,作为软件开发服务的提供者,必须帮助客户深入挖掘需求背后真实的想法和背景,了解应用的痛点,并且让客户深度参与需求的整个生命周期,包括流动、分析、接纳、讨论、验收等。


需求要从客户中来,到客户中去,形成完整的闭环,真正解决客户的问题并带来价值


当前市面上的需求管理工具可谓百花齐放。但是,大多数的需求管理工具仍然聚焦在单项目的协作和小团队开发上。而当开发团队的规模呈线性增长之后,需求管理的难度将呈指数级增长。

以华为公司车BU为例,如果将设计一辆车的需求设计进行拆解,就会发现它需要网络、无线、芯片、终端等多条产品线的协同,所以整个需求的卷积过程和协作模块是海量的,需求管理的复杂度相当高,其中某一个环节出现偏差,都有可能导致整个解决方案或产品胎死腹中。
华为也曾使用过业界知名的国外厂商的需求管理工具,但是要想打通其数据底座,实现二次开发的成本非常高,而且还会有这样那样的问题,无法满足华为车BU的需求。所以,华为加大了自研力度,并注入IPD(集成产品开发)等先进理念,以满足大规模团队协同开发的需要。


当然,研发的创新也并非一蹴而就。


华为内部的研发转型也曾经历过需求管理混乱、低效、协作困难的阶段。曾经,因为各产品线各自为战,有的团队采用商用工具,有的团队自己开发了一些开源工具,而没有实现统一的需求管理,应付一些小需求的开发尚可,而一旦出现了大的产品级的需求或解决方案级的需求,就会出现需求传递失真、验收时间不齐等问题。


因此,在2014年,华为打造了一个公司级的需求管理系统——CloudALM,从对单一场景的支持扩展到能够支持云、管、端、芯、车等众多场景,改手工为自动化,通过一个系统实现E2E的双向传递和可信、智能、实时的追溯,做到全流程的质量预警,不仅保证生命周期的全流程管控,而且实现了整个底座和工具的自主创新。


在通过CloudALM优化公司内部需求管理的同时,华为也看了外部的市场需要。很多与华为关系密切的企业,对华为如何实现大规模协同场景下的需求管理十分好奇,并产生了学习华为成功经验的迫切需求。于是,华为考虑将CloudALM,加上与之配套的一系列专业工程服务,以云服务开放给外部其他企业,华为云CodeArts Req应运而生。


在华为研发团队看来,需求管理就是要管住源头,必须像管理投资一样管理开发。因此,在华为内部研发流程的每一个关键决策决点,都有一个严格的需求决策过程,以确定“投资”是否正确,项目能否继续走下去。这是华为研发在大规模协作开发场景下经过千锤百炼的成功经验。因此,华为云CodeArts Req特别适合用于大规模复杂场景研发,尤其是跨项目、跨团队、多地域的协同开发


所谓“无需求不产品”。需求是产品的基石,也是产品的源头,而需求管理将贯穿于产品的全生命周期始终。



「这个“工具”很好用」


对于企业来说,合适的研发模式和方法论是软件开发的灵魂。


不同规模、不同研发模式的企业,选择也是千差万别的。一个适合企业的需求管理工具,应该具有可持续发展的能力,能够满足未来所需的大规模协同需求,同时还要提供优质的体验,并且具有灵活的自定义能力。


几年前,华为云就能支持敏捷的Scrum以及看板协作等研发流程。此次新发布的华为云CodeArts Req的最大创新之处在于,内置了华为IPD需求管理模板,通过规划与特性管理来组织战略规划,以脑图、甘特图形式对战略进行逐层分解,确保组织战略落地。另外还进一步增强了全方面的追溯以及自定义能力。


华为云CodeArts Req提供的3个IPD的需求管理模板非常典型,分别是IPD系统设备类、IPD独立软件类,以及IPD自运营软件和云服务类,基本涵盖了华为的全业务场景,当然也能够充分满足各类企业基本的开发需求。


IPD系统设备类面向的是软硬件的配套开发场景,产品需求相对固定,也有相关的行业标准。其特点是开发周期较长,而且基本都是阵地战和大规模作战,对产品的质量和稳定性要求较高,决策点也多。而云服务的开发速度要求更快,其主要的研发特点是商业决策和需求决策是分离的,多采用DevOps的敏捷模式。


针对研发模式的差异,华为云CodeArts Req提供了丰富的项目模板,支持IPD、DevOps、精益等多种场景化研发模型,用户可根据企业规模、业务需求、使用场景,选择不同的项目模板,让创意更快地变成产品。


众所周知,产品从规划到上市需要经过复杂的研发过程,如何确保产品就是客户想要的、如何保障客户需求被正确理解和完整传递非常重要。华为云CodeArts Req内置的IPD需求管理提供了基线评审和变更管理能力,实现了版本基线-受控变更-变更评审-变更管理过程,确保产品研发就像履行合同一样严谨。


通过打通需求过程数据孤岛,华为云CodeArts Req将需求开发过程中产生的设计文档、代码、用例、缺陷等有机串联,形成追溯关系网,提前预警拦截风险,问题实时可视,保障研发过程高质量。


此外,华为云CodeArts Req还提供了产品全量特性管理,通过特性树可以更好地管理产品特性,实现关键资产不丢失,让跨代产品的特性快速继承和发展。


大型产品开发往往涉及数千人的协作,协作关系与项目运作沟通成本呈指数级上升。在快鱼吃慢鱼的时代,提升效率是企业的生命线。基于华为IPD跨部门团队理念与实践,华为云CodeArts Req联结项目、人、工作项,提供无限组织层级、无限功能领域的网状跨项目协作管理能力,实现立体高效协同,加速信息流转,助力产品规划到上市周期缩短20%


“以客户为中心”,华为云CodeArts Req打破了传统需求管理工具仅在研发阶段发挥作用的限制,将客户与市场需求也同步覆盖,提供了完整的客户需求采集、价值需求决策、交付与验收流程,让需求进展和动态客户实时透明,市场需求流动提速70%



归纳起来,华为云CodeArts Req最大的差异化体现在:


  • 承载华为公司的IPD作业理念,其中包含的一些独特的需求管理模型划分方式、协同方式,以及基线和特性树概念等,在每一次做需求变更时,能够让需求管理的传递过程更加可靠且可管理;

  • 能够很好地支撑大规模团队协作,不管纵向的组织结构和横向的多项目群管理多么复杂,都可以做到无限层级的连接与扩展,形成高效的需求管理协同;

  • 脱胎于敏捷云服务,既能兼顾小团队作业,支持敏捷的Scrum开发模式、看板开发模式,也能更好地支持大规模协作,在不同模式之间切换,灵活匹配不同团队、不同开发模式下的需求管理过程,并具有自定义能力。


大约从2019年开始,华为所有的研发管理过程就都运行在内部的需求管理平台之上。如今,华为云CodeArts Req已经高效支撑华为13万研发人员的需求协作,月API调用量超过15亿次,累计管理5000多万需求,覆盖华为终端、网络、云计算、芯片、汽车等全业务场景。



「这个“头”开得好」


从12月7日开始,华为云CodeArts Req将在华为云中国站实现全域开放使用,明年还将发布基于混合云的版本,支持企业的私有部署。2023年下半年,更多IPD需求管理能力和行业需求模型也将陆续推出。


现在,很多客户的需求传递还是靠“手拉肩扛”,华为云CodeArts Req的推出将彻底改变这一现状,在众多国外品牌的工具当中,为客户提供一个新的满足自主创新需求的选择,尤其是有数千甚至上万人协作开发需求的客户。


CodeArts Req只是华为云软件开发生产线中的一个套件,它还要与代码、测试用例等关联,并且深度地与周边系统进行集成和对接。这其实也是华为云端到端软件开发服务的一个优势。


在接下来的两年时间里,华为会将其研发工具能力与研发工程能力,与DevCloud深度融合,不断完善和提升CodeArts。这将是一个持续演进的过程。最终,华为云会呈现出一个与研发数字化密切关联的底座,以及庞大而完整的产品家族体系


进入云计算时代,市场竞争、产品竞争日趋势激烈,留给每个新产品的研发窗口期越来越小,因此必须持续提升研发的效率,小步快跑,加速迭代。未来,整个软件都要生在云上,长在云上,软件开发的整个过程当然也要在云上。华为云CodeArts Req与将代码托管、流水线、构建、部署发布等工具协同起来,构成一条完整的软件生产线,推动软件开发上云。


需要特别指出的一点是,虽然上云是大势所趋,但是由于研发场景、研发模式多种多样,企业应该根据产品和项目所需,选择最适合自己的开发方式,而不能“一刀切”,只有“合适”的开发模式才能更好地激发团队创造力。华为云CodeArts具备了这种灵活性和广泛适配能力,真正从客户的需求出发,推动软件开发转型升级。

本文转载自公众号:云报



华为云CodeArts Req服务已正式上线

识别二维码立即体验









戳“阅读原文”,了解更多需求管理CodeArts Req

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存