敏捷开发之一:开篇简介

敏捷开发总论:IT开发项目中使用敏捷思想的Scrum开发方式。

从2005年开始研究如何可以让技术项目开发的更快更好,2011年前尝试过很多方法,我自己总结为这些是半敏捷的办法,有一定的敏捷思想,然后还不是很成体系,同时对于需求分析和测试、质量控制兼顾不够,当时的测试更多的是生产验收测试。2012年开始,一方面继续对半敏捷的方法进行实践,同时也开始试验基于敏捷框架实现的Scrum方法,通过连续的Sprint,来保证项目的迅速开发和迭代。

目前我们使用的是基于Scrum为主的敏捷开发方法,一次Scrum至少有2-3个Sprint,比较复杂的项目会有几个Scrum并行。

对于从需求提出、需求分析、技术分析、开发、测试、生产验收、生产配置等环节的主要流程基本支持的很好,新项目不算的话,一个Sprint基本可以在两周完成。并且在单元测试、案例测试、功能测试、生产验收测试上总结出一套行之有效的方法,达到敏捷开发的核心思想:快速+质量。

敏捷团队大约15个人左右,再多就不太好管理了,基本涵盖产品、UED、开发、测试等team,加上Scrum Master和QA等,20个人里面效率比较高。如果实在要超过20个人,建议分拆成不同的大team,单独配置Scrum Master和QA。

我们用的敏捷工具主要是Jira+GreenHopper,因为我们大部分的瀑布式项目还是基于Jira,所以用了Jira的敏捷插件后,对于Issue层面的管理没有什么问题,电子看板、燃尽图、Epic-User Story等Scrum特有的功能学习起来也很快。

我对敏捷开发的基本思想是兵无常势,水无常形,不拘泥于敏捷理论,通过对Scrum-Sprint-Epic-User Story/Defect/Bug的拆分,通过对每个Issue的时间控制,根据开发和项目发展的情况进行适度调整。