敏捷开发十二原则
1 我们的最高目标是,通过尽早和持续地交付有价值的软件来满足客户。
2 欢迎对需求提出变更——即使是在项目开发后期。要善于利用需求变更,帮助客户获得 竞争优势。
3 要不断交付可用的软件,周期从几周到几个月不等,且越短越好
4 项目过程中,业务人员与开发人员必须在一起工作。
5 要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务。
6 无论是团队内还是团队间,最有效的沟通方法是面对面的交谈。
7 可用的软件是衡量进度的主要指标。
8 敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度。
9对技术的精益求精以及对设计的不断完善将提升敏捷性。
10 要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术。
11 最佳的架构、需求和设计出自于自组织的团队。
12 团队要定期反省如何能够做到更有效,并相应地调整团队的行为。
敏捷是一种指导思想或开发方式,但是它没有明确告诉我们到底采用什么样的流程进行开发,而具体的开发方式有哪些呢?
Scrum,极限编程(XP)
,精益软件开发,动态系统开发方法(DSDM),
特征驱动开发(Feature Driver Development),
水晶开发(Crystal Clear)等等。
结合我们之前的开发过程,我们采用的是Scrum开发方式
Scrum 是一个用于开发和维护复杂产品的框架 ,是一个增量的、迭代的开发过程。在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是2到4周(互联网产品研发可以使用1周的Sprint)。在Scrum中,使用产品Backlog来管理产品的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum团队总是先开发对客户具有较高价值的需求。在Sprint中,Scrum团队从产品Backlog中挑选最高优先级的需求进行开发。挑选的需求在Sprint计划会议上经过讨论、分析和估算得到相应的任务列表,我们称它为Sprint backlog。在每个迭代结束时,Scrum团队将递交潜在可交付的产品增量。 Scrum起源于软件开发项目,但它适用于任何复杂的或是创新性的项目。
Scrum流程如下图:
image.png
详细可以参阅http://www.scrumcn.com/agile/scrum-knowledge-library/scrum.html#tab-id-1
网友评论