项目管理方法论:演变与收益

最初发表于Knowedgehut!

几十年来,由于市场需求,业务需求,应客户要求,技术进步并符合法规要求,已经启动或执行了项目。 随着企业在管理项目上达到某种程度的成熟度,有必要简化和标准化这些项目的执行方式,无论是产品开发还是提供服务。

人们采用了多种项目管理方法,实际上,较新的方法已经发展起来,并已被组织采用,这取决于人们所面临的文化挑战和抵抗的程度。 我们将研究当今世界遵循的一些关键项目管理方法。
瀑布

温斯顿·罗伊斯(Winston W. Royce)早在1970年的一篇文章中就经常引用瀑布模型的第一个正式描述,尽管他在该文章中并未使用“瀑布”一词。 这是第一个引入的过程模型,简单易懂。 瀑布方法在需要或要求已得到很好理解且随时间变化不大的项目中得到了广泛的应用。 它遵循具有明确定义的阶段门和审查流程的阶段线性发展。 每个阶段都向下层叠,并且将在上一个阶段满足定义的目标并签署时开始。

这些阶段是-

  • 需求分析: —通过研讨会,启发和业务规则收集用户需求,定义模式
  • 系统设计:—绘制了系统蓝图。
  • 实施: —开发实际的产品或软件
  • 系统测试: —证明该软件可以通过单元/集成测试并修复其缺陷来正常工作。
  • 系统实施: —量产软件
  • 维护: —生产软件的操作,维护。

此模型的主要优点是,它允许像部门一样分割工作并轻松管理它们。 这个模型还面临一些重大批评,甚至导致罗伊斯改变了对瀑布的看法。 在设计阶段更改需求的成本较低,而在已经开始施工时适应更改的成本则更高。 该方法在生产之前也不会向客户端提供工作版本的软件,并且由于没有反馈机制,因此无法中途改进系统的设计。

在固定范围和固定价格合同上可以采用“瀑布式”方法,客户不希望需求随时间而频繁变化。 如果项目团队还具有这种由计划驱动的重量级方法交付优质产品的经验,那也将是有益的。 项目的绩效是根据交付日期和使用的预算来衡量的。

敏捷

2001年,许多使用极限编程,SCRUM,DSDM,自适应软件开发,Crystal和功能驱动开发的从业人员在犹他州滑雪胜地召开会议,他们同情需要替代文档驱动的重量级软件开发流程的需求。 结果,签署了“敏捷宣言”,为敏捷软件开发铺平了道路。 它是几个迭代和增量开发的总称,其中一些流行的名称包括Scrum,XP,Crystal,DSDM,FDD和Lean。

“如果将两者冻结,则可以轻松进行规范的水开发和软件开发。”
–爱德华五世·贝拉德

Waterfall和Agile之间的根本区别是Waterfall在项目结束时交付产品增量,而Agile则强调通过多次迭代更频繁地交付较小的增量。 敏捷利用了客户的竞争优势,并提出了在游戏后期就进行帐户更改的流程。 这是通过自适应计划和进化设计来实现的。 与瀑布式方法不同,客户也参与了整个开发过程,并且在每次迭代中都会通过反馈循环接收反馈,并根据反馈来改进产品。 但是,所有项目都可以在敏捷中执行吗? 答案是否定的,因为每个项目都是唯一的,并且如果项目的范围清晰如静水并且不会随时间变化,那么在敏捷中执行这些项目将是一个过大的杀伤力。

广泛使用并获得普及的最常见的敏捷方法是Scrum和Extreme Programming。 Scrum专注于称为Sprint的较短迭代(通常为2周到1个月),并强调每个Sprint交付可交付的产品增量。 在Scrum中,设计会随着时间的推移而出现并不断发展。 Scrum框架由产品负责人,Scrum主管和开发团队组成。产品负责人:—负责产品愿景和建立产品权利。 好的产品所有者应优先考虑需求,并有权对产品做出决策。

Scrum Master: —担任仆人领导,帮助团队成员紧密合作,消除阻碍进步的因素,促进会议和讨论。

团队: —跨职能部门,负责由谁负责哪些任务,必须遵循哪些工程实践以实现项目目标。

由肯特·贝克(Kent Beck)创建的极限编程Extreme Programming)还主张在较短的开发生命周期中频繁发布。 XP中最常见的元素是结对编程,代码审查,测试优先开发,连续,集体代码所有权,隐喻,编码标准,重构,简单设计和频繁的客户协作。 该想法基于将传统软件工程实践带入极端水平的好处。 有时Scrum还将采用XP的一些工程实践,例如重构,简单设计,TDD等。

敏捷甚至在开发后期就通过欢迎需求来利用客户的竞争优势。 敏捷方法将最适合时间和材料合同,其中时间和成本是固定的,但范围会根据客户需求而频繁更改。 敏捷项目的绩效是根据交付给客户的价值来衡量的。

看板
大卫·J·安德森(David J. Anderson)提出的看板方法(源自丰田生产系统)也像敏捷方法一样是渐进的和进化的,并建议系统更改以使组织发挥最佳功能。 看板主要致力于为客户提供持续的价值流,并通过在系统上施加约束来实现这一目标。

它基于以下核心原则,

  • 可视化工作流程: —能够查看彼此的所有工作项
  • 限制在制品: —平衡每个通道上的工作项目流以生成最佳输出
  • 管理流程: —每个工作项目完成后,从待办事项中提取项目(而不是推送),从而快速增强值的流程。
  • 明确流程: —明确定义流程并与团队进行社交。
  • 反馈循环: —鼓励站立会议(10-15分钟),进行审核以纳入反馈
  • 改善协作: —团队通过共享知识和集体理解来实现持续交付。

当优先级频繁变化时,看板会更有用,它还能在需求与吞吐量(周期时间和提前期)之间取得平衡,从而确保将最有价值的功能交付给客户。 与任何敏捷方法类似,此方法对更改具有高度响应性。 通过消除浪费和不增加价值的活动,它还使未完成的工作量最大化。 Scrum不允许在sprint的中途进行更改,但是看板可以在项目期间的任何时候帮助添加或删除积压项目,并有助于持续交付。

当有连续的​​工作流并且流畅且并行地处理少量任务时,看板得到广泛使用。 它也适用于类似于Scrum Framework的时间和材料合同。

结论
行业中采用了更多的项目管理方法,每个项目可能都要求使用特定的方法才能成功。 现在,混合模型正在不断发展,就像瀑布和敏捷的混合物一样,为项目的特定方面提供了灵活的枢纽和使用最佳方法的灵活性。 无论采用何种方法成功完成项目,也将需要工具以及足够灵活的过程模型,以允许在整个企业范围内进行协作并交付项目。