[项目管理][敏捷开发] 以华为云敏捷管理为例帮助理解敏捷开发流水线

169 阅读4分钟

前言

本文参考

www.bilibili.com/video/BV1FY…

旨在通过案例项目,熟悉敏捷开发的流程。

敏捷开发2周为一个迭代,每个迭代交付一定的功能。是区别于传统瀑布流交付的灵活的开发流程。

过去开发流程:用户提需求,程序员开发,6个月后开发完毕,程序员交付,用户说,这不是我想要的软件。这是瀑布流的缺点。

敏捷开发流程:用户提需求,项目经理做好规划,确定每个迭代需要向用户交付什么内容,用户如果对需求有其他要求也可以及时提出,更加灵活,而且用户每隔一段时间都能看到软件的开发进度。

 

敏捷开发分为以下6个步骤:

1. 规划与设计

2. 开发与检查

3. 测试与反馈

4. 编译与构建

5. 自动化部署

6. 交付流水线

华为云凤凰商城案例

 

华为云DevCloud敏捷开发流水线图

image.png    

凤凰商城软件架构

image.png  

凤凰商城上线故事

  image.png  

 

 

一、持续规划与设计

背景:

  • 通过前期开发,已完成凤凰商城1.0版本的开发。
  • 刚刚接到业务部门的通知,要求月底前必须上线【门店网络查询功能】,可以在凤凰商城中查询各个门店的相关信息。

 

 

任务:

规划与设计

1. 添加功能需求工作项

2. 待办列表管理

3. 管理迭代计划,掌握开发进度

4. 使用看板模式进行项目展示及管理

 

 

1. 新建项目

 

image.png  

 

image.png  

 

2. 规划

战略=>用户需要的功能=>(工作项)从用户角度描述需求(有优先级)=> 分解成开发任务,指派给具体成员

image.png  

 

3. 建立工作项

image.png 工作项视图如下

 

从用户角度描述需求,用户故事详细信息

image.png

 

 

4. 建立迭代对部分工作项进行实施

建立一个迭代,确认好哪些工作项要在这个迭代实施。

将对应工作项拖入迭代中。

  image.png

 

 

5. 迭代看板-跟踪迭代进展

迭代看板对迭代任务进行宏观监控,管理。 image.png

 

6. 仪表盘-跟踪项目进展

 

image.png

 

 

二、持续开发与集成

 

image.png

 

代码托管是将团队的代码放在git仓库中,团队成员在修改代码后进行提交,发起合并到dev分支的请求,在经过评审人评审代码后确认是否可以合入dev分支。

 

代码检查对代码质量进行扫描。提供修改建议。

 

 

三、持续测试与反馈

 

在前面的步骤中,我们完成了迭代4的需求规划,此时测试人员可以同步的进行测试用例编写,这样测试人员在迭代之初就可以进行软件测试工作。

 

步骤:

  1. 编写和配置测试用例并使用管理套件进行测试规划。
  2. 执行测试用例并反馈测试结果。
  3. 使用测试总览跟踪测试进度和质量。

 

 

 

编写测试用例

image.png  

 

 

新建测试套件对应着一个迭代的测试用例

  image.png

测试质量报告

 

image.png

   

四、持续部署与发布

代码编写=>编译构建=>部署

 

编译构建可以得到我们平常的安装包,安装软件。

部署是为了将应用部署到目标主机上。

  image.png

image.png

image.png  

a.自动化部署

要对应用进行部署,首先要有个目标主机,

可以到华为云购买一台EXS弹性云服务器。

 

image.png

 

image.png  

 

 

 

b.交付流水线

 

前面以及成功部署了增加‘门店网络’ 功能的凤凰商城软件项目。后续如果还有新的功能需求迭代,是不是还需要重复同样的工作?DevOps有一个特点是’自动化一切可自动化的’,那么我们是不是可以把之前一系列工作自动化。

 

答案:

DevCloud有一个流水线功能,提供可视化、可定制的持续交付流水线服务,实现缩短交付周期和提升交付质量的效果。我们可以通过代码变更自动出发持续交付流水线任务。

完成应用的自动化测试、构件及部署。

 

 新建流水线任务

  image.png

设置流水线

image.png  

 

设置质量门禁(代码检查出的问题数)

image.png  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

释放云服务器资源****

不用了删除掉防止持续收费