【现代软件工程】第四章

敏捷开发是一种以人为核心、迭代、逐步交付的开发方法,强调灵活应对需求变化。极限编程(XP)是敏捷方法之一,注重快速反馈、简单设计和团队协作。Scrum则采用短周期迭代,包括Sprint计划、每日站会和回顾会议等关键活动,通过跨功能团队协作实现高效软件开发。
摘要由CSDN通过智能技术生成

敏捷流程

敏捷是什么

是一种从90年代开始逐渐引起广泛关注的一些新型软件开发方法
XP ( Extreme Programming )
Scrum
瀑布式开发属于非敏捷模型:需求难以变更,程序维护成本高
敏捷开发遵循软件客观规律,不断的进行迭代增量开发,最终交付符合客户价值的产品
敏捷宣言价值观
在这里插入图片描述

敏捷原则
成果交付原则:

1.价值排序,尽早交付,通过尽早、持续交付有价值的软件来使客户满意。
2.拥抱变化,提高优势,在开发的后期,也欢迎需求变更。敏捷过程利用变更为客户创造竞争优势。
3.持续交付,小步快跑,经常交付可运行软件
4.成果达成,衡量进度:可运行软件是进度的首要度量标准。(成果交付原则)
5.追求卓越,强化敏捷:不断地关注优秀的技能和好的设计会增强敏捷能力。 (成果交付原则)
6.精简产品,杜绝浪费:简单——是减少不必要工作量的艺术——是必要的(成果交付原则)

人员交互原则:

1.团队合作,每日互动;
2.信任成员,给予支援;
3.当面沟通,高效明了;
4.各方成员,稳定节奏:提倡可持续的开发速度。责任人(sponsor)、开发者和用户应该能长期保持稳定的开发速度。
5.同心协力,自我组织:最好的架构、需求和设计出自于自组织团队。
6.团队自省,持续改进:每隔一定时间,团队会反省如何才能更有效地工作,并相应调整自己的行为。

敏捷过程是什么

基于敏捷原则进行的软件开发过程,视为敏捷过程。

敏捷过程模型

极限编程XP
Scrum
自适应软件开发(ASD)
动态系统开发方法(DSDM)
特征驱动开发(FDD)
精益软件开发(LSD)
敏捷建模AM
敏捷统一过程AUP

极限编程XP

极限编程的主要目标在于降低因需求变更而带来的成本。
采用迭代的交付方式,每个迭代很短(1-3周时间)。在每个迭代结束的时候,团队交付可运行的,经过测试的功能,这些功能可以马上投入使用。

实施原则

快速反馈 (Rapid feedback)
假设简单 (Assuming simplicity)
包容变化 (Embracing change)

过程

XP 策划
建立一系列描述待开发软件必要特征与功能的“用户故事”
评估每一个故事,并给出以开发周数为度量单位的成本
客户和XP团队共同决定如何把故事分组并置于将要开发的下一个发行版本中(下一个软件增量)
形成关于一个发布版本的基本承诺
在第一个版本发布之后,XP团队计算项目的速度。

XP 设计
严格遵循KIS(Keep it simple)原则,设计只要能满足系统和客户在当下的需求就可以了,不需要任何画蛇添足的设计。
鼓励使用CRC卡作为面向对象环境中考虑软件设计的有效机制。
在某个故事设计中遇到困难时,推荐立即建立 可执行原型。

XP 编码
鼓励“测试驱动开发(TDD)”
鼓励“结对编程”
鼓励“重构”

XP 测试
每天进行集成和确认测试(持续集成)
“验收测试” 由客户确定,根据本次软件发布中所实现的用户故事而确定。

Scrum

采用短周期迭代交付方式

SCRUM流程

一个Sprint就是一个迭代,从Sprint计划会议开始到Sprint回顾会议结束为一次迭代。Sprint有严格的时间控制,一般每次Sprint的周期为2-4周,时间到了Sprint就结束

Scrum中的角色

同项目经理类似的Scrum主管:负责维护过程和任务
产品负责人代表利益所有者
开发团队包括了所有开发人员

Scrum的工件(资料、文档)

Product Backlog产品订单
Sprint Backlog冲刺订单
Burndown chart燃尽图

Scrum的活动

Sprint冲刺
Sprint planning meeting冲刺计划会
Daily standup meeting每日立会
Sprint review冲刺评审会
Retrospective meeting回顾会议

Scrum流程的步骤

1.收集Product Backlog,进行分析,细化,理清相互关系,估计工作量
2.选取Product backlog中的任务加入到sprint中,决定当前的冲刺(Sprint)需要解决的事情 — Sprint Backlog,整个产品的实现被划分为几个互相联系的冲刺(Sprint)。
3.开始执行Sprint,一个Sprint即是一次迭代,往往设置为一周到两周,一个标准的sprint包含以下几个环节:
站立会议要求每日都要举行:我昨天做了啥 ,我今天要做啥 ,我碰到了哪些问题
及时更新燃尽图。
4.交付、验收Sprint
得到软件的一个增量版本,产品经理验收。,然后在此基础上又进一步计划增量的新功能和改进。
5.总结Sprint,总结本次sprint什么做得好、什么做的不好、后续应该怎么做。

敏捷的团队

自主管理(Self-managing)、
自我组织(Self-organizing)、
多功能型(Cross-functional)。

敏捷的适用范围

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值