常见的问题敏捷是如何解决的?
敏捷痛点及解决方式
产品复杂性过高及解决方式
扩展-其他主流的敏捷方法论
特性驱动开发(FDD)
为产品开发一个整体的模型,构建特性列表和工作计划;团队对开发的特性进行设计和构建。
FDD实践
领域对象建模:描述问题领域中重要对象的类型及其相互关系,为系统设计提供一个整体框架,其中包括构造类图等。这个在数据仓库设计的应用较多。
按照特性开发:将需求问题分解成可以解决的小问题。
类(代码)所有权:指定某个人负责某个类的代码一致性、性能和概念的完整性。
特性小组:组长更像是教练去做协调,而不是超级开发人员。
配置管理:设计、测试用例、脚本等等也应该受到版本控制。
定期构建:更容易的创建演示程序。
可视化的进度报告:如白板。
FDD小结
特性驱动开发(FDD)就是将需求化成小问题。
FDD实践:领域对象剑魔、按照特性开发、特性小组、配置管理、定期构建、可视化的进度报告。
动态系统开发方法(DSDM)
也称为业务中心框架开发方法,是敏捷方法的一种。倡导以业务为核心,快速而有效的进行系统开发。重点在于快速交付并补充如何应用这些控制的指导原则框架。
DSDM提倡20%的时间完成80%的功能,已经在数据仓库、组件开发、原型业务等应用。
DSDM开发周期
项目准备阶段:确保启动、建立正确的项目,可行性研究阶段和业务阶段都是顺序进行的,为后续的冲刺、增量式开发,制定了基本规则。
可行性研究阶段:侧重评估DSDM方法是否适用于本项目,以便确定这样做是否值得;在制定一份全面的可行性报告,还需要提供应对和控制风险的策略,如果对业务叨叨足够的理解了就可以了,即足够就好,无需过多。
业务研究阶段:对业务流程进行分析和定义。功能性需求还是非功能需求分类,并且划分对应的优先级。所有制定优先级的原则也必须要以业务为导向,把技术上要求先实现的功能作为高优先级。这个开发计划应该包含功能建模阶段和设计编程阶段的开发策略、测试策略和配置管理计划。
功能建模阶段(冲刺式):深入分析业务区定义的功能并进行细化,在分析原型的基础上构建软件模块,将创建的原型交付给用户评审;评审后,进一步的充实和改进。这样不断的冲刺,使得原型逐渐演化成可工作的软件。产出物带有优先级的功能、功能性原型评审文档、非功能性需求、实施计划(业务方案、培训计划、各种知识和技术的准备等)。
系统设计编程阶段(冲刺式):根据功能建模的标准建造实际的系统并通过测试,测试应该是贯穿于整个功能建模和设计编码过程的。
实施阶段:培训用户,完成系统开发环境向生产环境的移交。
项目后期:评审当前使用的方法并评估是否达到预期的结果。
DSDM小结
提倡20%的时间,完成80%的功能。
开发周期:项目准备阶段、可行性研究阶段、业务研究阶段、功能建模阶段(冲刺式)、系统设计编程阶段(冲刺式)、实施阶段、项目后期。
水晶(Crystal)
水晶方法体系与XP一样,都是以人为中心的理念,但实践上有所不同。水晶方法考虑到人们一般很难遵循一个纪律约束性很强的过程。因此,与XP的高度纪律性不同,水晶方法体系探索了用最少的纪律约束而仍能产出成果的方法,从而在产出效率上与易于运作上达到纪律约束而仍能产出成本的方法,从而在产出效率与易于运作上达到一种平衡。虽然水晶系列不如XP那样产出效率,但是会