[数字化转型,企业应用上云利器DevOps工具链平台]---敏捷开发管理实操

由中国信息通信研究院牵头,云计算开源产业联盟、高效运维社区、BATJ等顶级互联网公司以及各大金融、通信企业共同制定的国内外首个 DevOps 系列标准《研发运营一体化(DevOps)能力成熟度模型》,其中首要的便是敏捷开发管理。

敏捷开发管理通常是对需求进行分析整理并输出用例清单之后,通过Scrum框架实施基于敏捷原则的研发过程管理,以迭代和增量的方式交付高价值的软件系统。

其核心流程如下:

对于DevOps工具链平台的敏捷开发管理通常需要支持以下核心能力:

  1. 产品、模块、项目的定义。(也可以称之为系统、微服务应用及项目的定义)
  2. 计划及需求的管理
  3. 项目的规划
  4. 项目的执行跟踪
  5. 发布上线

一、基础维护---产品、模块、版本、项目

这里我们首先要搞清楚产品、模块、项目的意义和数据结构。通常我们做如下理解:

产品:是能提供一系列完整业务功能的功能模块集合。也可以称之为系统。

模块:是组成具有一个个业务单元的功能模块,由多个模块组合成一个完整产品。通常我们在设计开发过程中也会按模块划分为一个微服务应用。

版本:是指每一个模块的不同版本号,每个版本都对应微服务应用的一个功能升级版本。通常我们会将版本与微服务应用代码仓库的分支进行一一映射。

项目:是实际对客户交付的一系列功能模块的集合,它对应的是由一个产品各个模块的不同版本组合,来满足实际每个客户的个性化需求。

其结构示意如下:                

了解了基本的概念之后我们开始进行敏捷开发管理的实操。

1、系统维护:

系统维护主要是维护系统(产品)的主要信息:系统名称、系统编号、描述信息等。

添加系统后,我们可以对系统进行成员的维护。在成员维护中,我们可以将平台当前租户下的人员选进我们的系统团队中,同时可以设置每个成员的角色权限。

维护好系统的团队成员后,当前系统内的资源仅有被选定的成员才有权限操作。

2、应用维护:

应用维护相当于维护一个产品的功能模块,也视做一个系统的微服务应用。主要是维护应用的应用名称、应用编码、描述信息等。也可以可进行应用的成员维护、镜像分发配置、仓库配置等功能操作。

创建应用时需要选择所属系统。应用创建好后会自动在后台将对应的代码仓库创建好。

应用维护好之后,如果需要权限精细化管理,我们可以针对每个应用进行单独的成员管理。

每个成员可从平台当前租户的人员账号中进行选取,并设置对应的角色。如果应用团队的成员与所属系统的团队成员出现同一人,且权限不同的情况下,以更高权限为准。

3、版本维护:

版本维护主要是维护一个产品模块(微服务应用)的版本,应用的版本可以与代码仓库的分支一一映射。

4、项目维护:

在项目维护界中。主要是维护项目的项目名称,项目编码,周期和起止日期(自动计算可用工作日),项目类型及访问控制类型。同时可选择关联的系统和系统下的应用版本。

维护好项目后,同样支持对项目进行团队成员的维护。用于项目过程管理中各成员的任务安排及任务领取。

通过以上操作我们就可以完成一个项目所需要的基本信息的维护。

二、敏捷开发管理---计划及需求的管理

1、计划维护:

计划是针对单个产品的功能需求分批次实现的管理,每一个项目都可以划分到一个计划中。在系统中的计划维护主要是维护计划的名称、开始日期、结束日期。

2、需求维护:

通常在敏捷开发管理中维护的需求是经过需求梳理完成之后的条目化形式的需求清单。需求可以是已经经过评审;也可以将未经评审的需求维护进来,后续再根据评审结果来修改需求的状态。

    提需求主要是填写需求所属的计划、指定评审人员(可选)、需求工时预估、需求描述信息以及需求验收的标准描述,预计需要实现的起止时间。

三、敏捷开发管理---项目的规划

在敏捷开发管理中,项目通常是规划短期内需要实现的需求或需要解决的Bug范围。这个短周期一般是一到两周的时间。

1、项目维护:

项目的创建可以在基础维护里面的项目创建时关联对应的产品(系统)计划,也可以在系统的计划列表中创建项目。创建项目的步骤与项目维护是一致的。填写好对应的项目名称、代号、周期、关联系统、关联系统的应用版本、关联计划、描述信息等即可。

2、项目的需求和Bug关联:

创建好项目之后,可以进行项目的需求和Bug清单关联。需要注意的是:这里所能选择的需求只能是已经经过评审(或者指定不需要评审)的需求,Bug清单也是已经经过确认后的Bug。

3、任务的拆解:

项目的需求维护完成后,我们可以基于需求进行任务的拆分。在我们的敏捷开发管理中,是支持两级父子任务的拆分的。也就是说我们可以将一个需求维护拆解成一个大的任务,每个任务可以分别拆解成测试用例编写,前端开发,后端开发,测试执行等二级子任务。然后任务指派每个任务的负责人。

    提任务主要是填写任务类型,指派人员,所关联的需求,工时预估,任务描述,优先级,任务的起止日期等信息。

后续项目团队的成员即可各自领取任务,并开启各自工作。

四、敏捷开发管理---项目的执行跟踪

项目的执行跟踪通常是指在任务指派完成后,项目团队成员对各自任务进度的反馈和任务状态的跟踪。以及测试人员在测试执行后提交的Bug解决进度跟踪。

1、任务进度的反馈和状态修订:

前后端开发人员、测试人员、设计人员、运维工程师等。在敏捷开发管理中可以提交各自任务完成进度的备注和工时消耗信息。

在任务工时填报时,可以填写相应的工时消耗、剩余工时、工作进度备注。

2、项目进度看板的使用:

项目进度看板可以总览查看整个项目所有需求、任务、缺陷的总体进度状态。支持在看板上拖拽形式修改其状态。

3、测试缺陷跟踪:

测试人员在测试执行过程中,根据执行结果可能需要登记缺陷信息并指派开发人员解决。

测试主页点击BUG,会展示该系统的BUG列表信息。

 提bug需选择所属系统(默认为当前选择的系统)、选择所属项目、影响版本等信息后、指派Bug对应的开发人员,并填写BUG的描述信息。

开发人员即可进入敏捷开发管理中接收到各自的缺陷修复任务。开发人员可以先点击“确认Bug”后进行缺陷修复工作。

五、敏捷开发管理---发布上线

敏捷开发管理中的发布上线,通常是指创建一个发布上线标记。用于标记当前某个或者多个项目中的需求或缺陷已经经过充分的测试验证,可以进行线上环境的升级发版。

创建发布主要是填写发布名称、版本号、发布日期及描述信息即可。

保存发布名称后可以选择本次发布需要升级上线的功能需求和缺陷。

六、总结

敏捷开发管理是通过小步快跑的方式,快速的实现产品(系统)的功能上线来迎合用户的需求。通过快速的更新迭代、试错方式来不断完善产品的能力。最快速的实现产品价值,减少产品由传统瀑布模式大批量功能上线后带来的巨大试错成本。

以上介绍了敏捷开发管理的基本能力实操,当然基于云原生DevOps的思想,敏捷开发管理后续依然可以继续拓展其他能力。比如基于敏捷的发布功能扩展自动化实现版本上线部署发布操作。基于敏捷开发过程的统计数据提取各个阶段工作效率数据用于优化团队整体效能。当然这分别属于持续集成和研发效能的指标度量,后续再单独话题讲解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值