• 在合作环境下由自组织的团队进行产品迭代开发的过程
  • 敏捷软件开发宣言
    • 个体和交互胜过过程和工具;
    • 可运行的软件胜过面面俱到的文档;
    • 客户合作胜过合同谈判;
    • 响应变化胜过遵循计划。

  • 敏捷产品开发过程的关键要素
    • 产品待办列表(Product Backlog); 按优先次序排列系统所需事项清单。
    • 敏捷流程(Scrum)); 最流行的敏捷实施框架,按规律步调、固定长度迭代开发软件
    • 冲刺(Sprint); 指定完成特定任务,使开发阶段得以进入审查环节的一段时期。
    • 产品主管(Product Owner); 代表客户利益,决定代办列表最终内容的那个人。
    • 敏捷教练(Scrum Master); 是团队和主管之间的协调者;激发团队的创造力,给团队授权;提升工具生成率;改进工程工具和实践;确保团队取得进展的信息实时更新,让各方成员均可见。
    • 敏捷团队(Scrum Team)。 通常由7个人组成,也可增加或减少2个人

  • 敏捷产品开发的关键原则
  1. 我们的首要任务是通过尽早和持续交付有价值的软件来满足客户;
  2. 即使在开发后期,我们也欢迎需求变更。敏捷流程将这些变更转化为客户的竞争优势;
  3. 频繁地交付可运行的软件,数周或者数月交付一次,时间间隔越短越好;
  4. 项目期间,业务人员与开发者共同工作;
  5. 招揽积极主动的人员来开发项目,为他们提供所需的环境和支持,相信他们做好自己的工作;
  6. 开发团队里最省时有效的信息传递方式是面对面交流;
  7. 可运行的软件是衡量进展的主要标准;
  8. 敏捷流程有利于可持续开发。发起人、开发人员和用户应始终保持一个固定的前进步伐;
  9. 持续关注先进的技术和优秀的设计,提高敏捷性;
  10. 简洁————令待办工作最少化的艺术是一切的基础;
  11. 只有自组织团队才能做出最好的架构和设计;
  12. 团队定期反思如何提高效率并调整工作流程。

优势

  • 快速应对变化、迅速解决问题、运营成本最小

局限性

  • 出现范围蔓延、成本和实践预估不准、受人员因素影响较大、适用于快速变化的小型项目