IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 第十章敏捷软件开发 -> 正文阅读

[开发测试]第十章敏捷软件开发

一、学习内容

(一)敏捷软件开发的诞生

1. 传统的软件过程成为过去

  1. 1970年的瀑布模型弊端:过分强调软件开发的顺序性,导致要到开发后期用户才能看到软件的模样,为软件开发增加了极大的风险;没有迭代和反馈,导致无法应对客户的需求变化;带来了极大的变更成本。

2. 新的软件工程过程发展失控

  1. 有非常多的约束、非常多的工具已经非常多的方法和步骤;
  2. 降低了团队的开发效率,使得进度延期,预算超支;
  3. 降低了团队的响应能力,使得团队经常创建错误的产品。

3. 敏捷软件开发诞生

  1. 2001年17位专家讨论各种轻量级软件开发方法学;

4. 敏捷软件开发特点

  1. 强调程序员和业务专家、用户之间的紧密协作、面对面的沟通,这种方法比书面文档更有效;
  2. 能够很好地根据需求的变化编写代码;
  3. 频繁的交付新的软件版本;
  4. 采用紧凑和自组织的软件开发团队;
  5. 更注重个体在软件开发种的作用。

(二)敏捷软件开发宣言

  1. 个体和交互胜过过程和工具
  2. 可以工作的软件胜过面面俱到的文档
  3. 客户合作胜过合同谈判
  4. 响应变化胜过遵循计划

(三)敏捷宣言遵循的原则

  1. 最重要的是通过尽早和持续交付有价值的软件满足客户需要;
  2. 欢迎需求变化,即使在开发后期;
  3. 经常交付可以工作的软件,时间跨度越短越好;
  4. 业务人员和开发人员应该在整个项目过程种始终在一起工作;
  5. 围绕斗志高昂的人进行软件开发;
  6. 最有效率最有效果的信息传达方式是面对面交谈;
  7. 可以工作的软件是进度的主要度量标准;
  8. 提倡可持续开发;
  9. 不断追求卓越的技术和良好的设计;
  10. 尽可能减少工作量;
  11. 最好的都源于自组织的团队;
  12. 每隔一段时间进行总结。

(四)对比其他的方法

  1. 对比迭代方法:两者都强调较短的开发周期提交软件,迭代开发每个周期更新代码和文档,工作量大,容易出现代码和文档不匹配的问题,敏捷开发时间更短,强调高度协作,看重可以工作的软件而不是文档。
  2. 对比瀑布式开发:瀑布式自由度低,变化难以调整,代价高;敏捷刚好相反。

(五)敏捷软件开发的适用性

  1. 组织文化必须支持协商讨论;
  2. 人员彼此信任;
  3. 人少而精;
  4. 程序员所做决定得到认可;
  5. 环境设施满足成员间快速沟通的需要。

(六)极限编程概述

是敏捷开发中最著名的一个过程和方法,供中小型开发团队用于开发需要快速变化的软件。

1. 价值观

  1. 简单
  2. 交流
  3. 反馈
  4. 勇气

2. 原则

  1. 快速反馈
  2. 简单性假设
  3. 拥抱变化
  4. 高质量的工作

3. 行为

  1. 倾听
  2. 测试
  3. 编码
  4. 设计

4. 实践

  1. 客户作为团队成员
  2. 用户故事
  3. 短交付周期:迭代计划、发布计划
  4. 测试驱动的开发方法:极限编程的重要特点
  5. 验收测试
  6. 结对编程
  7. 集体所有权
  8. 持续集成
  9. 可持续的开发速度
  10. 开放的工作空间
  11. 计划游戏
  12. 提倡简单的设计
  13. 时常对现有代码进行重构
  14. 隐喻

5. 小结

极限编程是一组简单、具体的实践;

(七)Scrum

1. 一个简单的框架

是一个敏捷开发框架,是一个增量迭代的开发过程。

2. Scrum过程

1. Scrum过程
  1. 更新产品订单、冲刺计划会议、每日训话、冲刺增量、冲刺检验、冲刺追溯;
2. Scrum的3个角色,3项活动,3种工具,1个冲刺

3. 3个角色

  1. 产品负责人(Product Owner):负责维护产品订单的人;
  2. Scrum主管(Scrum Master):负责团队运作;
  3. Scrum团队(Scrum Team):负责产品交付。

4. 3项活动

  1. 冲刺计划会议(Sprint Planning Meeting):根据产品负责人制订的产品或项目计划在冲刺的开始时做准备工作;
  2. 每日站立会议(Daily Scrum Meeting):项目状况会议;
  3. 冲刺评审会议(Sprint Review Meeting):为了进行持续的过程改进;

5. 3种工具

  1. 产品订单(Product Backlog):根据商业价值排序和涵盖所有客户需求的产品特性列表;
  2. 冲刺订单(Sprint Backlog):冲刺计划会议上产出的一个产品特性列表;
  3. 燃烧进度表(Burn-down Chart):是一个公开展示的图表,在冲刺长度上显示每天的进展,显示当前冲刺中未完成的任务数目,或在冲刺订单上未完成的订单项的数目,是一个反映工作量完成状况的趋势图,是对工程进度进行控制的有效工具。

6. 自适应的项目管理

  1. 频繁的风险评估和应对措施;
  2. 通过每日站立会议,让计划和模块开发保持透明,让每一个人知道谁负责什么,以及什么时候完成;
  3. 以冲刺评审会为主要形式,频繁召开利益所有人会议,以跟踪项目进展,保持项目开发的节奏;
  4. 没有问题会被藏在地毯下。

7. Scrum较传统开发模型的优点

能尽快的相应变化;

二、小结

  1. 目标:给客户交付最大可能的价值;
  2. 敏捷软件开发是一种面临迅速变化的需求快速开发软件能力;
  3. 敏捷软件开发的原则和价值观构成了一个可以帮助团队打破过程膨胀循环的方法;
  4. 极限编程是敏捷软件开发中最著名的一个过程和方法;
  5. Scrum是目前应用最广的敏捷软件开发方法。
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-11 19:06:55  更:2021-09-11 19:07:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 4:22:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码