华为软件开发云使用分享:秒杀现有研发团队协作工具

举报
ktwl 发表于 2019/09/25 11:54:47 2019/09/25
【摘要】 一、研发痛点在传统的开发模式下,研发过程分为需求阶段、设计阶段、开发阶段、测试阶段和维护阶段, 整个过程存在很多痛点。1、人员成本高每个阶段都需要有对应人员,这些人员通常属于不同部门,人员分工较细,数量较多。2、迭代速度慢完成一个软件研发过程,需要至少5个阶段,阶段之间是串行关系,环环相扣。一个阶段完成了,才能进入下一个阶段。阶段和阶段之间有大量的评审和文档生成,非常耗时。造成整个研发过程持...

一、研发痛点

在传统的开发模式下,研发过程分为需求阶段、设计阶段、开发阶段、测试阶段和维护阶段, 整个过程存在很多痛点。

华为软件开发云使用分享:秒杀现有研发团队协作工具


1、人员成本高

每个阶段都需要有对应人员,这些人员通常属于不同部门,人员分工较细,数量较多。

2、迭代速度慢

完成一个软件研发过程,需要至少5个阶段,阶段之间是串行关系,环环相扣。一个阶段完成了,才能进入下一个阶段。阶段和阶段之间有大量的评审和文档生成,非常耗时。造成整个研发过程持续时间非常长,通常需要几个月的时间才能完成一个迭代。

3、开发质量管控难

由于整个研发过程中,前一个阶段是后一个阶段的输入,一旦前一个阶段出现问题,就会导致后一个阶段出现问题。并且,最终的产品要到最后一个阶段才能看到。发现问题的时候,通常已经到了最后阶段,造成修改问题的代价非常大。为了管控质量,不得不依赖于大量的评审和文档,难度非常大。

二、使用软开云的先决条件

建立一个敏捷开发组织是使用华为软件开发云的先决条件。

1、传统研发组织

传统研发组织通常如下所示:

华为软件开发云使用分享:秒杀现有研发团队协作工具


传统研发组织是对应传统研发过程而产生的组织架构,职能化特征明显。部门之间极有可能存在部门墙。打破部门墙要产生大量的沟通和协调工作。这需要一名强有力的项目经理才能完成这一挑战。

2、敏捷开发组织

敏捷开发组织是一个全功能的团队,通常如下所示:

华为软件开发云使用分享:秒杀现有研发团队协作工具


我们会按照功能特性组建<10人的全功能团队,俗称“2披萨团队“,可以实现业务快速开发、决策与上线,角色的作用如下:

  • PO:Product Owner,负责产品规划、设计、分析

  • 运营:负责产品运营

  • UE:UCD工程师,负责用户研究、交互设计、美工、视觉

  • SL:特性经理Service Leader,对应敏捷模式Scrum Master,带领团队进行开发

  • TL:技术leader,对应于系统工程师SE,负责架构、系统设计

  • 开发:负责代码实现

  • 测试:负责测试验证

  • 运维:负责部署、发布、运维、监控

三、软开云解决了什么问题

华为软件开发云实际上解决了敏捷开发过程的管控问题,一个典型的敏捷开发过程可分为如下阶段:

华为软件开发云使用分享:秒杀现有研发团队协作工具


1、需求规划

这个阶段由PO负责,会把项目需求逐层分解:Epic->Feature->Story,软开云提供了很好的工具:

华为软件开发云使用分享:秒杀现有研发团队协作工具


从Story分解到Task(开发任务),需要SL介入,每个开发任务对应哪个Story,关系一目了然。

2、代码开发

华为软件开发云提供了代码托管和代码检查服务:

  • 代码托管

代码托管服务支持三种新建方式:普通新建、按模板新建和导入外部仓库。如果担心代码安全,可以把代码放到华为云以外的服务器,然后通过“导入外部仓库”方式导入,但是服务器必须通过外网ip地址能够访问,同时不支持代码提交时自动触发代码检查。

  • 代码检查

支持多种语言的代码检查,基本上常见的开发语言如Java、C++、C#、JavaScript、Python、Go等都已囊括。同时内置了非常全的代码规则集。取代Sonar、Findbugs等工具完全无压力,同时跟流水线集成得很好。

华为软件开发云使用分享:秒杀现有研发团队协作工具


3、编译构建

支持从华为软开云、GitHub和通用Git取代码进行编译构建。同时支持22种构建工具,包括Maven、Gradle、Ant、Npm等常用工具。

4、软件测试

提供测试管理、移动应用测试、接口自动化测试和性能测试,值得肯定的是,接口自动化测试能够通过流水线跟代码开发任务、编译构建任务等其他任务很方便的集成到一起,对实现CI/CD意义重大。不足之处是不支持UI自动化测试。

5、部署发布

支持4种部署模板,包括:SpringBoot应用部署、Tomcat应用部署、Docker应用部署(Linux)和容器应用部署(CCE/CCI)。

通过流水线,我们可把代码托管、代码检查、编译构建、软件测试和部署发布任务集成起来,实现代码提交以后的一系列自动化操作,最终实现CI/CD,能够极大的提升我们的研发效率。

华为软件开发云使用分享:秒杀现有研发团队协作工具


四、结论

华为软件开发云作为一种敏捷开发过程的管控工具,对我们践行敏捷开发提供了很大的帮助。通过流水线等一系列工具,我们能非常容易和快速地实现CI/CD,而实现CI/CD是实现敏捷开发的必要条件。

然而,华为软件开发云毕竟是一种工具,如果不能深入理解敏捷开发的理念,也没有对应的敏捷型开发团队来使用该工具,那么使用华为软件开发云的效果将会事倍功半。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。