“敏捷开发”并不是一门技术或者工具,而是一个软件开发方法,也可以说是思想。 敏捷,不意味着快速、越快越好,加班加点写代码、赶进度。 什么是敏捷开发? 敏捷开发是一套软件开发的价值和原则,倡导演进式开发,提早交付,持续改进,鼓励对变化做出快速灵活的反应。对于敏捷,我们可看作是轻量级、高效。 一般而言,传统软件开发时通常是罗列大堆需要的功能,之后再进行线性流程开发,这也被称作瀑布流开发流程。而敏捷开发则是将项目分解成多个“小目标”,通过分阶段不停完成这些小目标,进而完成一整个大项目。 敏捷开发的核心思想是? 敏捷开发是一种面临迅速变化的需求快速开发的能力,它有四个核心思想: 1、强调面对面的沟通 2、把精力集中在可执行的程序上,可以运行的产品胜于编制综合性文档,也就是强调了原型、模型、Demo等的重要性 3、团队合作和团队激励,合作胜于谈判,敏捷开发能将需求、开发、测试等全部团队成员融合成一个整体,大家都是一条线上的蚂蚱 4、超强的适应能力,适应变化胜于按部就班,敏捷开发的特点就是快速。对于互联网行业来说,这点非常重要 如何进行敏捷开发? 敏捷开发的体系建设主要有如下六个方面: 1、团队密切协作 2、不断反馈和调整 3、保持软件可用 4、短迭代,增量发布 5、提早集成,不断集成 6、自动化集成、测试与部署 综上所述,敏捷开发最大的一个特色就是迭代式开发,不过迭代式开发也并非敏捷思想的全部,团队协作与自动化开发也是敏捷管理的精髓所在。 敏捷开发的原则是? 关于敏捷开发这里有12条原则,分别是: 1、我们最优先考虑的是尽早和持续不断的交付有价值的软件,从而使客户满意(使客户满意)。 2、即使在开发后期也欢迎需求变更,敏捷过程利用变更可以为客户创造竞争优势(拥抱变化)。 3、采用较短的项目周期(从几周到几个月),不断的交付可工作软件(短周期持续交付)。 4、业务人员和开发人员必须在整个项目期间每天一起工作(跨职能)。 5、围绕富有进取心的个体而创建项目。为他们提供所需的环境和支持,信任他们所开展的工作(信任)。 6、不论团队内外,传递信息效果最好且效率最高的方式是面对面交谈(面对面沟通)。 7、可工作软件是度量进度的首要指标(用户价值)。 8、敏捷过程倡导可持续开发。发起人、开发人员和用户要能够共同维持其步调稳定延续(可持续开发)。 9、坚持不懈的追求技术卓越和良好的设计,从而增强敏捷能力(技术卓越)。 10、以简洁为本,最大限度的减少工作量(简洁)。 11、最好的架构、需求和设计出自于自组织团队(自组织团队)。 12、团队定期的反思如何能提高成效,并相应地协调和调整自身的行为(回顾总结)。 这十二条原则囊括了软件项目管理的所有基本流程,而且这些流程要足够具体,才可最终达成有效途径。 敏捷开发模式的分类? 敏捷开发的实现主要包括 SCRUM、XP(极限编程)、Crystal Methods、FDD(特性驱动开发)等等。 同样是敏捷开发,XP 极限编程更侧重于实践,并力求把实践做到极限。这一实践可以是测试先行,也可以是结对编程等,关键要看具体的应用场景。 SCRUM则是一种开发流程框架,也可以说是一种套路。SCRUM框架中包含三个角色,三个工件,四个会议,听起来很复杂,其目的是为了有效地完成每一次迭代周期的工作。 |
|