敏捷开发是指一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个项目,各个子项目的成果都经过测试,具备集成和可运行的特征。
敏捷开发的原则:
1.尽早并持续地交付有价值的软件以满足顾客的需求;
2.敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势;
3.经常发布可用的软件,发布间隔可以从几周到几个月,能短则短;
4.业务人员和开发人员在项目开发过程中应该每天共同工作;
5.以有进取心的人为项目核心,充分支持信任他们;
6.无论团队内外,面对面的交流始终是最有效的沟通方式;
7.可用的软件是衡量项目进展的主要目标
8.敏捷流程应能保持可持续的发展。领导、团队和用户应该能按照目前的步调持续合作下去;
9.只有不断关注技术和设计,才能越来越敏捷;
10.保持简明——尽可能简化工作量的技艺——极为重要;
11.只有能自我管理的团队才能创造优秀的架构、需求和设计;
12.时时总结如何提高团队效率,并付诸行动;
敏捷开发的方法论:
1、XP(极限编程,eXtreme Programming)
2、FDD(特性驱动开发, Feature-Driven Development)
3、Scrum
4、ASP(自适应软件开发Adaptive Software Development)
5、DSDM(动态系统开发方法,Dynamic System Development Method)
6、AUP(敏捷统一过程,Agile Unified Process)
7、Crystal等。
敏捷开发存在的问题:
怎样体现各个需求和任务之间种种复杂关系;
怎样将任务从产品级描述细化到技术实现层面
要正确做好例会,体现例会的价值
如何能明确定义好任务,明确任务时间
敏捷对团队的要求:
自我管理、自我组织、多功能型