敏捷项目管理 - 简介

最近几年,科学技术急速发展。软件的复杂性和CPU处理速度也呈指数增长,而不是线性上升。这种增长率的变化导致的连锁反应,增加了市场的波动,这反过来又要求企业能够快速适应消费者的需求。行动缓慢的庞然大物被普遍认为是缺乏竞争力的,在交付新特性方面也存在更大的风险,这已经是老生常谈或是过时的问题了。

这也为敏捷开发方法的兴起做出了贡献,例如极限编程(XP),SCRUM,功能驱动开发等。这些方法都力求降低变更成本,并把风险最小化。这些都是通过实践中的应用来实现的,比如:

SCRUM 迭代图

       image002.gif

当然这不同于传统的管理理论,传统方法通常:

瀑布过程图

     

      image004.gif

此外,对于那些拥有成熟开发流程的企业组织,往往都是经过较长一段时间的实际经验积累(成功的或失败的)建立起来的。

与传统的管理方法相比,也难怪高管们在实施敏捷方法时会遇到管理不够正式,混乱,无计划性等问题 。某些时候,他们甚至会鼓励工程师们不顾日程安排,按照他们的想法开发来脱离管理。

这是因为大多数敏捷实践都没能够彻底解决软件项目的管理层面;即人、流程及技术。相反,他们往往更加注重编码、测试和功能交付等方法上面。

所以,如果我们想要把敏捷的概念应用到软件项目的管理层面,这也是软件开发变革自然要经过的一步,我们就必须回答以下问题: