编辑: sunny爹 | 2014-09-30 |
2005 年8月01 日 本文来自 Rational Edge:迭代和增量开发要求项目管理人将每次迭代看作是一个单独的项目,并 在最终的交付环境中进行管理.
本文是具有三个部分的系列文章中的最后一个部分,其中探究了 关于项目和质量管理问题的适当观点如何引导开发团队走向成功. 对于一个项目来说,以迭代和增量的方式进行运作意味着什么?在本 系列的文章中,我们通过分析涉及项目的各种观点来回答该问题.在
第一篇文章中,我们定义了什 么是我们所谓的迭代和增量开发,并分析了这种方式对生产软件的核心开发团队来说意味着什么. 在
第二篇文章中,我们集中讨论了以迭代和增量方式运作项目对客户意味着什么.在这最后一部分 中,我们考虑迭代和增量开发对项目管理团队的影响. 一旦您让那些在一系列共享的迭代工作中进行协作的业务和开发团队致力于将业务价值移交回业务 中,您就需要考虑管理观点以及为什么它是重要的. 首先,设想一个缺乏管理指导的软件开发项目.(也许您已经参与过一个这样的项目).这种项目经 常缺少中长期的方针,前进的方向似乎按照随机路线,并且很少有团队成员知道他们努力的方向. 不制定迭代,您很难知道项目什么时候完成、完成项目需要什么资源,或者什么时候需要这些资 源.不估计产品的成本,很难使客户和赞助人为最平凡的项目提供资源,且不能显示出项目是如何 朝着交付解决方案的目标前进的. 人们很容易陷入这样一种理想的思维困境,即如果一个团队受委托要达到一个目标,那么他们将自 动地自行组织并实现他们对组织的所有承诺,且迅速有效地交付高质量的软件.事实上,甚至最好 developerWorks? ibm.com/developerWorks/cn/ 什么是迭代开发? 第2页,共7的团队也需要一些监督来确保日常的工作向长期的目标进展着.更重要的是,管理的任务是将能够 进行这样工作的团队集合起来. 糟糕的管理从根本上导致许多项目的失败,这一点也不意外.
1 很容易令人相信的是(如许多非管 理人员所想的)管理只不过是疏远官僚主义,管理人员的作用是在其他团队成员工作时阻止官僚主 义.事实上,许多普通的管理是这样的.但是,如果所有的管理人员都这样做,那么项目将很可能 失败. 管理不仅是记录意见、保持进度及考虑预算:提供领导能力和方针是达成结果所必要的.适当的管 理为必要的问题提供清晰的答案: ?? 我们解决的问题是正确的吗? ?? 我们拥有交付解决方案的资源吗? ?? 我们现在是在处理正确的东西,朝着最终的目标进行着吗? ?? 我们是在欺骗自己,认为能在分配的时间和资源之内真正交付解决方案吗? 计划和测量不是到他们自身的终结,而是帮助管理人员回答这些问题的工具. 项目管理人员的观点 如我们在第一部分所讲的,一个迭代包含将软件开发的核心规程应用于生产出可证明的,可执行的 开发后的产品,并确保在一系列的迭代后(每次都根据产品和由先前迭代而来的教训)产品会不断 增进.这在图 3-1 中表现出来,依赖于第
1 部分的图
3 和第
2 部分的图
1 和5中所示的开发团队、 业务分析员和客户的观点. 图3-1:从项目管理人员的观点考虑的迭代项目 从项目管理人员的观点出发,每次迭代似乎是将软件开发的所有规程应用于生产满足具体的已达成 协议的目标集合的产品的过程中的小型独立的项目.迭代是小型项目的观点与应用最普遍的项目定 义一致,如: 项目:承担创建独特的产品、服务或结果的临时努力.