12.0 瀑布与周期性项目管理(第 5 部分)——管理周期性项目的条件

用户/客户积极参与 #

周期性项目管理的每个周期都涉及需求的开发、设计、执行和测试。 这意味着在一个循环过程中必须做出许多选择。 如果该计划要准确地代表客户的愿望,则客户必须是项目团队的积极成员。

客户必须尽可能清楚地将他们的要求传达给程序员和设计师。 这通常需要每周(或至少每两周)参与项目团队。

在一个项目中,消费者有助于定义所需的功能和周期规划。 他们在验收测试中合作,批准或拒绝临时结果,并为项目的总体方向做出贡献。 此外,在使用瀑布方法时,积极的客户参与可以改善结果。

团队被授予做出选择的权力。 #

在一个周期内,项目团队必须有权做出自己的决定。 如果项目团队缺乏这种权限,项目管理的循环模式将无法发挥作用。 如果整个周期都需要得到上级的不断批准,这可能会导致停滞。 此外,外部人员经常不知道发生了什么,因为他们没有积极参与项目团队;这使他们难以做出理性的决定。

项目的输出(软件)可以分解为更小的组件。 #

循环项目管理是一种管理项目的方法,其中项目的一部分在一系列周期中完成。 只有当正在开发的软件可以分解成许多或多或少不同的组件时,这才有可能。

管理层对项目管理软件的要求主要是全球性的;管理层不强加直接、具体或具体的要求。 循环项目管理的优势之一是客户、设计人员、程序员和任何测试人员在循环期间的密切协作。 如果在项目开始时就确定了具体的具体要求,这会限制项目团队在做出设计选择时使用最佳判断的能力。 一个项目的许多要求在过程中被揭示需要适应,因此不应该在开始时(太)牢固地确立。

客户了解活动。 #

如果客户难以理解的重大技术工作必须在一个周期内进行,则客户可能无法有效地为团队做出贡献。 在这种情况下,客户在必须做出的设计决策中几乎没有发言权。

当客户不知道进度时,也存在类似的风险。 例如,大部分工作可能专注于编码,而很少关注用户界面。 客户必须充分了解周期的实质和进展,以避免被推到场边。

应该可以回溯自己的脚步。 #

即使在周期性项目管理中,团队偶尔也会走上不正确的道路。 在这种情况下,倒退一步应该是可能的。 如果发现在一个周期中创建的新模块不足,则必须可以继续使用前一个模块工作。 这对项目材料的归档和文档提出了要求。 CVS 和 Subversion 是完成这些任务的两个有用工具(请参阅附录 3 以获取完整的工具列表)。

除了编程技能外,程序员还应该能够与客户有效交互,反之亦然。 团队成员必须是知识分子。 需要纪律来继续工作。

项目所在的组织也必须为这种运作模式提供足够的支持。 需要时间跟踪、存档和调度系统来支持项目。 这些注册系统提供了必要的开放性,以保证跨项目和时间段的资源公平分配。

优先排序 #

应给予项目足够的重视,并应为项目提供团队成员。 要求团队成员同时处理过多的任务是无效的。 如果一个组织没有充分适应基于项目的工作,周期性的项目管理灵活性很可能会导致混乱。 此外,瀑布技术受益于有组织的项目管理方法(参见 Wijnen,2004,第 111 页)。

一家软件开发公司的主管,比经理更有远见,几乎每个月都有一个好主意,并不断在他的公司中发起新的计划。 结果,旧项目从未完成,工人同时从事多达五个项目。 这位魅力十足的主管刚刚读完一本关于快速应用程序开发 (RAD) 的书,对此感到非常兴奋——尤其是“快速”元素。 他将 RAD 的基本思想贴在复印机上,然后期望每个人都开始使用这些概念。 毕竟,这是一项出色的技术。

周期性项目管理的风险 #

周期性项目管理技术有时没有足够的时间来执行所需的功能。 由于项目的持续时间是固定的,几乎肯定会添加比最初预期更少的功能。

虽然这是一个合理的问题,但它也是瀑布方法所固有的。 瀑布方法的定义步骤需要对需求进行深入检查。 这种分析可能会改善时间管理。 由于上述原因,在现实中通常情况并非如此。

此外,由于缺乏开发它们的资金,这种方法中省略了功能。

在循环方法中以务实的方式处理需求。 例如,可以使用 MoSCoW 标准 (Stapleton, 2003) 对周期中的需求进行如下分类:

  • 必须具备:系统关键要求
  • 应该具备:用户真正渴望的关键需求
  • 可以拥有:容易被忽视的理想需求
  • 想要拥有:这次不会满足的要求:可以等到以后的要求

无论某些功能是否不再可用,DANS 项目经理都认为,与瀑布方法相比,周期性工作会导致更高的客户满意度。 在任何情况下,预期都会得到更有效的控制,项目通常会产生有效的结果,即使它们没有最初设想的那么复杂。

了解潜在的缺点 #

XP 的一个普遍被提及的缺点是大量的权力被转移给了程序员。 如果他们滥用此权限,他们可能会利用客户缺乏技术专长的优势。 避免这种情况需要一个项目负责人,他可以兼顾程序员和客户的利益。 这些项目负责人帮助他们的客户选择和规划周期,使他们的选择的技术基础易于理解,并提供管理和报告。

最后,XP 的另一个缺点是该方法的实现需要程序员、经理和消费者的高学习曲线。