学习敏捷开发的流程
一、什么是敏捷开发?
在软件工程的语境里,“敏捷流程”不是指某一种具体的方法论或过程,而是一系列价值观和方法论的集合。
二、敏捷开发的原则
1. 尽早并持续地交付有价值的软件以满足顾客需求。
2. 敏捷流程欢迎需求的变化, 并利用这种变化来提高用户的竞争优势。
3. 经常发布可用的软件,发布间隔可以从几周到几个月,能短则短。
4. 业务人员和开发人员在项目开发过程中应该每天共同工作。
5. 以有进取心的人为项目核心,充分支持信任他们
6. 无论团队内外,面对面的交流始终是最有效的沟通方式
7. 可用的软件是衡量项目进展的主要指标
8. 敏捷流程应能保持可持续的发展。 领导, 团队和用户应该能按照目前步调持续合作下去。
9. 只有不断关注技术和设计才能越来越敏捷.
10. 保持简明 - 尽可能简化工作量的技艺 - 极为重要。
11. 只有能自我管理的团队才能创造优秀的架构, 需求和设计.
12. 时时总结如何提高团队效率, 并付诸行动。
三、敏捷开发的流程
敏捷开发的具体方法论有哪些呢?Scrum,极限编程(XP),动态系统开发方法(DSDM),特征驱动开发(Feature Driver Development)等等。这里我举以Scrum例的开发流程:第一步,找出完成作品所需要做的事情,估计好工作量。第二步,决定当前的冲刺需要解决的问题,团队人员进行主导任务的估计和分配。第三步,冲刺,进行每日立会,依次报告昨天做了什么,今天要做什么,遇到哪些问题。第四步,得到软件的一个增量版本,发布给用户,在此基础上又进一步计划新功能的改进。
敏捷的团队要求十分简单:自主管理(自己挑选任务,每次sprint结束后,总结不足,提出改进并实施)、自我组织(所有人联合起来对项目负责)、多功能型(每个人全面负责,自己搞定规格说明书、测试)。