敏捷开发介绍
来源:互联网 发布:淘宝售假次数如何计算 编辑:程序博客网 时间:2024/05/22 16:05
“敏捷”在互联网和软件开发领域从涓涓细流逐渐演变为行业潮流,往小了说是改进了开发方法,往大了说是革了瀑布流式的命——把产品开发引向了快速迭代、小步快跑的路线上。
今天我们来讲一下什么是敏捷开发。
1、敏捷开发的概念
从1990年代开始逐渐引起广泛关注,是一种以人为核心、迭代、循序渐进的开发方法。强调以人为本,专注于交付对客户有价值的软件。是一个用于开发和维持复杂产品的框架。
2、敏捷开发的流程
(图为禅道敏捷开发流程管理)
2.1 产品负责人将整个产品设计成产品代办列表。就是一个个需求列表。(可以理解为需求或者要做的事情)
2.2 召开产品迭代计划会议,确定哪些需求是需要在第一个迭代中完成的,评估迭代的时间(建议是2-4周),得到相应的迭代周期任务列表。
ps:提前发布功能需求列表,会议提倡所有团队人员参与
2.3 把迭代的功能需求写在纸条上贴在任务墙,让大家认领分配。(任务墙就是把未完成、正在做、已完成的工作状态贴到一个墙上,这样大家都可以看得到任务的状态 )
Ø 举行每日站立会议,让大家在每日会议上总结昨天做的事情、遇到什么困难,今天开展什么任务。(每日站立会议,是在每天早上定时和大家在任务墙前站立讨论,时间控制在15分钟内)
Ø 绘制燃尽图,保证任务的概况能够清晰看到。(燃尽图把当前的任务总数和日期一起绘制,每天记录一下,可以看到每天还剩多少个任务,直到任务数为0 ,这个迭代就完成了)
ps:在开发人员开始开发一个任务时,需要找来对应的测试人员讲解该任务功能,以便测试人员有一致的理解,并且一开始就进行测试用例、自动化系统测试脚本的开发(若需要自动化测试的话)。
(上图为小编粗图)
2.4 评审会议(演示会议)是在迭代完成时举行,要向客户演示自己完成的软件产品,并获得客户的反馈 。
ps:很多用户对软件开发是没有概念的,他只知道自己有某种需求。所以就要通过不断的让用户看到产品的模型,这个过程用户才会逐步的对产品产生概念。
2.5 最后是总结会议,以轮流发言方式进行,每个人都要发言,总结好的实践和教训,并落实到后续的开发中。不要流于形式。
3、敏捷开发适用原则
1、个人与互动:重于流程与工具
——强调人与人的沟通,所以尽可能要集中化办公。异地开发模式容易让人疲惫。
——个人技能要提高。尤其对于架构师要求要高。
——管理者要多参与项目有关的事情。
——减少对开发人员的干扰。
2、可用的软件:重于详尽的文件
——强调文档的作用。必要的文件必须的。且文档要具有传承性。
3、与客户合作:重于合约协商
——做好客户引导。客户都是想在尽可能短的时间内,交付尽可能多的功能。做好版本控制。
4、回应变化:重于遵循计划
今天我们来讲一下什么是敏捷开发。
1、敏捷开发的概念
从1990年代开始逐渐引起广泛关注,是一种以人为核心、迭代、循序渐进的开发方法。强调以人为本,专注于交付对客户有价值的软件。是一个用于开发和维持复杂产品的框架。
2、敏捷开发的流程
(图为禅道敏捷开发流程管理)
2.1 产品负责人将整个产品设计成产品代办列表。就是一个个需求列表。(可以理解为需求或者要做的事情)
2.2 召开产品迭代计划会议,确定哪些需求是需要在第一个迭代中完成的,评估迭代的时间(建议是2-4周),得到相应的迭代周期任务列表。
ps:提前发布功能需求列表,会议提倡所有团队人员参与
2.3 把迭代的功能需求写在纸条上贴在任务墙,让大家认领分配。(任务墙就是把未完成、正在做、已完成的工作状态贴到一个墙上,这样大家都可以看得到任务的状态 )
Ø 举行每日站立会议,让大家在每日会议上总结昨天做的事情、遇到什么困难,今天开展什么任务。(每日站立会议,是在每天早上定时和大家在任务墙前站立讨论,时间控制在15分钟内)
Ø 绘制燃尽图,保证任务的概况能够清晰看到。(燃尽图把当前的任务总数和日期一起绘制,每天记录一下,可以看到每天还剩多少个任务,直到任务数为0 ,这个迭代就完成了)
ps:在开发人员开始开发一个任务时,需要找来对应的测试人员讲解该任务功能,以便测试人员有一致的理解,并且一开始就进行测试用例、自动化系统测试脚本的开发(若需要自动化测试的话)。
(上图为小编粗图)
2.4 评审会议(演示会议)是在迭代完成时举行,要向客户演示自己完成的软件产品,并获得客户的反馈 。
ps:很多用户对软件开发是没有概念的,他只知道自己有某种需求。所以就要通过不断的让用户看到产品的模型,这个过程用户才会逐步的对产品产生概念。
2.5 最后是总结会议,以轮流发言方式进行,每个人都要发言,总结好的实践和教训,并落实到后续的开发中。不要流于形式。
3、敏捷开发适用原则
1、个人与互动:重于流程与工具
——强调人与人的沟通,所以尽可能要集中化办公。异地开发模式容易让人疲惫。
——个人技能要提高。尤其对于架构师要求要高。
——管理者要多参与项目有关的事情。
——减少对开发人员的干扰。
2、可用的软件:重于详尽的文件
——强调文档的作用。必要的文件必须的。且文档要具有传承性。
3、与客户合作:重于合约协商
——做好客户引导。客户都是想在尽可能短的时间内,交付尽可能多的功能。做好版本控制。
4、回应变化:重于遵循计划
——无理变化,举棋不定的结果,并不是说都需要及时响应,会导致很多浪费。
阅读全文
0 0
- 敏捷开发-介绍
- 敏捷开发介绍
- 移动敏捷开发介绍
- 敏捷开发介绍
- 敏捷开发(一):介绍
- 软件开发模式之敏捷开发介绍
- 敏捷软件开发和极限编程介绍
- 敏捷开发(agile development)介绍
- Scrum--敏捷开发过程框架介绍
- 【原创】敏捷开发的介绍及应用
- 敏捷开发的实战经验介绍
- 敏捷开发之一—笼统的介绍
- 敏捷开发介绍以及xp和scrum
- “敏捷开发、迭代开发、瀑布开发”的简单介绍
- 软件开发模式对比(瀑布、迭代、螺旋、敏捷)---这里主要介绍敏捷开发
- 敏捷开发&敏捷测试
- 敏捷开发为什么敏捷
- 敏捷开发为什么敏捷
- 【Mybatis】多表查询
- 输出一个整数的每一位
- typedef
- 一张图看尽 Linux 内核运行原理
- 认识kettle
- 敏捷开发介绍
- HDU 5952 Counting Cliques(无向图定向搜索)
- C和指针之字符串编程练习6
- 1305 Immediate Decodability(字典树)
- 自定义类型(结构体、位段、枚举和联合)
- Statement、 PreparedStatement 、CallableStatement 区别和联系
- 在 Linux 下使用 find 指令查詢目錄與檔案的速查筆記
- jQuery
- 【hdu 4970】 Killing Monsters 【2014 Multi-University Training Contest 9 】