1.敏捷项目管理基础
1.1 项目管理和迭代开发方式项目的定义:一系列活动,有一个明确的目标或目的,并且必须在特定的时间和预算内依据规范完成
项目管理:运用技能,方法与工具,为满足或超越项目有关各方对项目的要求与期望,所开展的各种计划,组织,领导控制等方面的活动。
项目的三角:
- 范围:要求做什么,也规定了不能做什么
- 时间:必须完成的时间框架或最后期限
- 成本:可用于项目的费用
- 质量(不属于三角):
- 产品的质量:项目的可交付成果的质量
- 过程的质量:项目管理过程本身的质量
项目管理的目的:在有限的资源投入条件下,在要求的时间内完成既定的项目目标。
在回顾中会:keep change try
Scrum还是KANBAN都是为了顺畅,高质量地交付有用的价值
2.云效敏捷项目管理
2.1 项目管理云效实操云效项目管理中的项目分类:
- 研发项目:适用于有明确结束时间的项目,或者没有明确时间但是研发团队固定的项目
- 默认启用的服务:还包括迭代,测试用例,应用
- 业务空间:管理产品或者业务的需求池,业务划分
- 默认启用的服务:需求,缺陷,图表
- 共同点:二者创建完毕后可以随意地增减默认启动的服务。
3.需求管理与版本规划基础
3.1需求收集与分析:
3.2.4 需求优先级与排期发布与迭代的关系:一个项目可以有多个发布,一个发布可以有多个迭代去实现。
4.软件代码与质量管理
4.1版本控制
- 追踪与控制软件变更的实践
- 用来辅助进行版本控制的工具
- CVS,clearcase,svn,git,tfs
为什么要版本控制:
-
记录谁在什么时间做了什么
-
多人团队协作
- 同步
- 并行
-
发布管理
-
Commit Message提供额外的信息,解释变更的原因
-
Bug调试
分支策略:
-
主干开发,分支发布:
- 优点:管理简单
- 缺点:主干问题会阻碍开发进程
-
分支开发,主干发布:
- 优点:提供可靠的代码隔离
- 缺点:主干问题会阻碍开发进程
-
分支开发,分支发布:
- 优点:提供可靠的代码隔离,主干问题不会阻塞发布
- 缺点:集成时间点可能延后
5.软件测试与质量保证基础:
5.1软件测试:软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别
5.2 软件测试活动
5.3软件测试设计方法等价类:满足相互独立完全穷尽边界值:
5.4探索式软件测试探索式软件测试的价值:
- 理解学习被测软件
- 强迫被测软件展现所有功能
- 快速发现重要的缺陷
5.5软件分层分层自动化建议:
服务层:建议开发人员 业务层:建议开发人员或者测试人员 页面层:建议测试人员
6.云原生与DevOps
云原生应用的关注点:微服务,容器技术,CI/CD,DevOps
容器:与系统其他部分隔离开的一系列进程。提供了一种逻辑打包机制,以这种机制打包的应用可以脱离其实际运行的环境。
常见的容器:Docker,CoreOs rkt,LXC,OpenVZ,containerd,CRI-O
基本工作流:
- Build:从Docker File Build到Image
- Ship:Image push到容器仓库
- Run:Image运行起来成为一个容器实例
来源:大槐TuT
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!