敏捷agile软件开发
什么是敏捷(agile)
敏捷软件开发是指一组基于迭代开发的软件开发方法,其中需求和解决方案通过自组织的跨功能团队之间的协作来开发的
Scrum
是敏捷方法中其中一种流程框架,它不仅仅适用于软件开发,scrum 的目标是交付最高的商业价值,但是通过尽可能短的时间。
sprint 冲刺是 scrum 的核心也是 scrum 的开发方法中的基本单元,每日开站会 15 min 以内,每个成员说明昨天做了什么今天做了什么,有什么障碍
这篇 博文 讲的很好关于 scrum
Xp
xp 即极限编程,xp 虽然使用不如 scrum 广泛,但它依然是敏捷联盟中非常亮眼的存在,它起源于黑客文化方法论
xp 的核心是沟通,简单,反馈,勇气,如若再拓展一个那就是谦逊:
- 沟通即鼓励开发口头沟通达到协调工作之间不存在障碍
- 简单提倡系统够用就好,做到精简满足需求,但不代表扩展性不好
- 反馈各团队之间重视反馈
- 能有勇气面对快速开发,面对重新开发
- 大家保持谦逊和尊重的态度完成工作
极限编程这篇 博文 也讲得非常细致
Crystal
水晶方法,敏捷的一种。其目的是发展一种提倡“机动性的”方法,包含具有共性的核心元素,每个都含有独特的角色、过程模式、工作产品和实践
可见 此文
FDD
特征驱动开发(FDD),是敏捷开发方法中的一种,他来源与新加坡的一个大型软件开发项目,由著名软件专家 Jeff de Luca 、Eric Lefebvre、Peter Coad 共同提出的。它强调特征驱动,快速迭代,即能保证快速开发,又能保证适当文档和质量
可见 此文
ASD
ASD(Adaptive Software Development,自适应软件开发)由 Jim Highsmith 在1999 年正式提出。ASD 强调开发方法的适应性(Adaptive),这一思想来源于复杂系统的混沌理论。ASD 不象其他方法那样有很多具体的实践做法,它更侧重为 ASD 的重要性提供最根本的基础,并从更高的组织和管理层次来阐述开发方法为什么要具备适应性
可见 此文
DSDM
DSDM(动态系统开发方法,也称业务中心框架开发方法)是众多敏捷开发方法中的一种,它倡导以业务为核心,快速而有效的进行系统开发。我们可以把DSDM看成一种控制框架,重点在于快速交付、并补充如何应用这些控制的指导原则的框架。DSDM 的基本观点是,任何事情都不可能一次性的圆满完成,应该用 20% 的时间完成 80% 的有用功能,以适合商业目的为准。实施的思路是,在时间进度和可用资源预先固定的情况下,力争的最大化满足业务需求(传统方法一般是需求固定,时间和资源可变),交付所需要的系统。对于交付的系统,必须达到足够的稳定程度以在实际环境中运行;对于业务方面的某些紧急需求,也要求能够在短时间内得到满足,然后在以后迭代阶段中对功能进行进一步完善
可见 此文
轻量型 RUP
RUP(Rational Unified Process)就好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。RUP和类似的产品–例如面向对象的软件过程(OOSP),以及OPEN Process都是理解性的软件工程工具–把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内
可见 此文