敏捷开发
敏捷开发是一种软件开发思想,目标是:快速交付高质量软件,并能灵活应对需求变化。
它来自2001年的《敏捷宣言》,重视:个体互动、可工作的软件、客户合作、响应变化。特点:灵活、沟通、反馈、持续改进。
敏捷开发主要采用迭代式开发(Iteration)或冲刺开发(Sprint),每个Sprint通常为2~4周。
流程:需求收集->计划会议->迭代开发->每日站会->测试与评审->迭代回顾
- 需求收集:由产品经理或客户提出的功能需求,每个需求写成用户故事
- 计划会议:团队从产品代办列表中选择本次迭代要做的任务,明确每个任务的负责人和完成标准
- 迭代开发:团队在固定周期内实现功能,每日站立开会,每人回答昨天做了什么、今天准备做什么、有什么问题或障碍
- 测评与评审:展示完成的功能,让客户或产品负责人进行评审并给出反馈
- 回顾会议:团队思考本次迭代中,哪些做的好,如何改进,如何更高效
常见框架
- Scrum(最常见)
事件:Sprint、每日站会、评审会、回顾会 - Kanban(看板方法)
永可视化“任务流”管理开发状态
to do->doing->done - XP(Extreme Programming,极限编程)
偏重技术实践:测试驱动开发(TDD)、持续集成(CI)、结对编程、重构与代码质量
优点
灵活性高、快速响应变化;客户反馈及时、风险可控;提高质量与透明度
缺点
不适合需求非常固定的大型项目;团队沟通成本高;缺乏经验的团队容易混乱
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 JasmineRain's blog!
评论
