软件敏捷开发宣言中提出了以下12个原则:
- 持续、尽早交付有价值的软件以满足客户,是我们优先要做的首要任务。
- 拥抱需求变更,甚至是在开发的后期。敏捷过程利用变更为客户带来竞争优势。
- 频繁交付可执行的软件,从几周到几个月,交付时间越短越好。
- 在整个项目过程中,业务人员和开发人员必须每天在一起工作。
- 激发每个团队成员的积极性来打造项目。为他们提供所需的环境与支持,并且信任他们可以完成工作。
- 在一个开发团队内部最有效的传递信息的方式是面对面的交流。
- 可执行的软件是进度的首要检验对象。
- 敏捷过程倡导可持续发展。赞助商,开发人员和用户应该尽可能保持一致的步伐。
- 保持关注先进的技术与设计会增强敏捷性。
- 尽量用艺术化来简单阐述未完成的工作是很有必要的。
- 最好的架构,需求,和设计出自于自我组织管理的团队。
- 每隔一段时间,回顾反思如何让团队变得更高效,并相应地调整其行为。
尽管许多这些原则可能看起来只有直接应用到开发团队才讲得通,但是如果我们了解了这些原则的精神,我们还是可以获得一些非常有用的价值。并且这些价值能够使我们的项目管理变得更敏捷。
- 沟通:无论是开发人员,管理层,或是客户之间,对于任何敏捷项目来说开放的沟通是必要的。项目经理应确保参与项目的各个部门间的沟通及时、清晰、有效。包括每一个开发人员和利益相关者。记住,敏捷项目是“拥抱需求变更的”。这意味着,只有不断的沟通才是唯一的办法,从而确保变更不被丢失,并且避免出现团队成员在完成工作的时候,对于需求变更还什么都不知道的情况。
- 简单:一个项目成功的关键因素应该是尽可能做到最简单的形式,并且所有项目管理活动都应当做出可度量的贡献值。项目经理的职责是,与利益相关者共同来决定项目中各个任务,交付件,和交付产品的价值,从而让项目以最简单的形式体现又具有最高的价值。
- 反馈:“乐观主义是软件开发行业的职业病,反馈是治愈这种病的良药”。定期反馈是敏捷开发项目的关键,因为它让错误和缺乏沟通及早地被发现。降低了交付的产品与项目干系人需求背道而驰的风险。
- 魄力:项目经理作为领导者,其领导力需要魄力。敏捷项目常常需要不断改变开发方向,需要很大的勇气来应对这些变更所带来的后果。
- 透明:作为最好的项目经理,他们并不是什么都知道。相反地,他们常常依赖各个项目成员的各种专业知识,来打造一个透明化的大环境,从而让成员们互相学习,各取所长。
[1] 敏捷开发宣言:敏捷宣言背后的原则 – http://agilemanifesto.org/principles.html
[2] 解析极限编程, Kent Beck, Addison Wesley, 1999