一个公司是否需要建立项目管理流程,取决于项目管理流程是否能为该公司带来好处。从一般意义上讲,如果一个公司收益的主要来源是项目,那么这个公司就需要建立专门的项目管理流程。比如很多IT公司他们的业务主要集中在为不同的客户定做不同的IT解决方案,并对此方案进行实施。在这种情况下,大部分的方案及其实施过程之间都存在一定的差异,但是对这种项目的管理却存在着一定的共性。在这样的公司内,建立正规的项目管理流程是非常必要的,可以通过对单个项目的成功管理,实现公司的整体目标。此时选择一种合适的项目管理方法显得至关重要,项目管理的方法论有很多。不同于其他科目,很多来自于理论。项目管理的方法论基本上来自于项目实践,并跟随历史发展、组织的进步一起成长。下面将介绍20种常用的项目管理方法,希望对你能有所帮助。
1
敏捷(Agile)
敏捷(Agile)作为一种开发流程, 目前为各大公司所采用, 敏捷流程的具体实践有XP 和Scrum,敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。作为一种项目管理方法,敏捷是高度交互的,允许在整个项目中进行快速的调整。它通常用于软件开发项目,很大程度上是因为能够快速识别问题,同时在开发过程的早期进行变更也会很灵活,而不必等到测试完成。敏捷提供了可重复的过程,减少了风险,允许即时的反馈,能够提供快速的周转,并降低了复杂性。它把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
2
极限编程(XP)
极限编程是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。XP的核心价值观是沟通(Communication)、简单(Simplicity)、反馈(Feedback)、勇气(Courage)、谦逊(Modesty)。
3
水晶方法(Crystal)
水晶方法,Crystal ,是由 Alistair Cockburn 和 Jim Highsmith 建立的敏捷方法系列,其目的是发展一种提倡“机动性的”方法,包含具有共性的核心元素,每个都含有独特的角色、过程模式、工作产品和实践。Crystal 家族实际上是一组经过证明、对不同类型项目非常有效的敏捷过程,它的发明使得敏捷团队可以根据其项目和环境选择最合适的 Crystal 家族成员。水晶系列与XP一样,都有以人为中心的理念,但在实践上有所不同。
透明水晶方法的七大体系特征:
体系特征一:经常交付
体系特征二:反思改进
体系特征三:渗透式交流
体系特征四:个人安全
体系特征五:焦点
体系特征六:与专家用户建立方便的联系
体系特征七:配有自动测试、配置管理和经常集成功能的技术环境
4
动态系统开发方法(DSDM)
动态系统开发方法(DSDM)倡导以业务为核心,快速而有效地进行系统开发。可以把DSDM看成一种控制框架,其重点在于快速交付并补充如何应用这些控制的指导原则。DSDM是一整套的方法论,不仅仅包括软件开发内容和实践,也包括了组织结构、项目管理、估算、工具环境、测试、配置管理、风险管理、重用等各个方面的内容。
5
精益开发(Lean)
精益软件开发一词起源于Mary Poppendieck 和Tom Poppendieck写的一本同名书籍。这本书将传统的精益原则以一种新的方式呈现---作为22种敏捷开发实践工具之一,并且和其他工具进行了比较。精益生产最初是由丰田公司设计的,旨在减少浪费的同时最大化产出,以增加利益相关者的价值。虽然精益起源于制造业,但如今它已应用于各行各业,因为它的重点不是针对特定行业的。精益生产遵循七个关键原则:减少浪费,提高质量,与他人分享知识,保持持续改进的状态,加快周转,消除筒仓,保持一个相互尊重的环境。
6
Scrum
Scrum是敏捷框架的一部分,本质上也是交互式的。它是用于开发、交付和持续支持复杂产品的一个框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是一至四周。通过“Scrum会议”或“30天的sprints”来确定任务的优先级。Scrum master通常被用来帮助项目经理,而不是作为项目经理。小团队可以独立地专注于特定的任务,然后会与scrum master会面,评估进度或结果,并重新确定积压任务的优先级。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法。Scrum之间的合作称为“Scrum of Scrums”。
7
看板(Kanban)
看板管理(Kanban)最初是丰田汽车公司于20世纪50年代从超级市场的运行机制中得到启示,作为一种生产、运送指令的传递工具而被创造出来的。经过近50年的发展和完善,已经在很多方面都发挥着重要的机能。其关注于持续的协作,并能够促进一个持续学习和改进的环境。它会使用可视板和卡片来帮助团队查看已完成、正在进行和未完成的任务。所有的活动都是基于对日常任务的可视化、对工作进度的仔细平衡和对待办事项的管理。
8
Scrumban
Scrumban方法论是由软件开发爱好者Corey Ladas在他的书《Scrumban: Essays on Kanban Systems for Lean Software Development》中提出的概念。他认为Scrumban是为了让开发团队从Scrum迁移到精益(依靠创建,界定,学习周期,持续改进和专注与提供给客户的最终价值)。Scrumban设计于替代Scrum,它的方法论包含了Scrum和看板的基础元素。它将Scrum和看板方法结合到项目管理中。它有看板的灵活性,并添加了一些Scrum结构来创建管理项目的新方法。为产品开发和支持团队提供了来自Scrum和Kanban的最佳特性。通过结合Kanban的拉动系统和Scrum的待办事项列表优先级和短周期,团队不仅能够快速有效地完成工作,还可以通过暴露弱点来改进流程。通过利用这两种框架的优点,团队最终可以减少浪费、缩短交货期、周转时间,并交付更高质量的产品和服务。
9
混合模型(瀑布和敏捷)
虽然许多团队都倾向于使用瀑布方法或敏捷方法,但是这两种方法的好处可以为混合项目管理方法的解决方案创造一个案例,其中计划和需求阶段是在瀑布方法下进行的,而设计、开发、实现和评估阶段则遵循敏捷方法。
10
瀑布开发(Waterfall)
瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求、分析、设计、编码、测试的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等。瀑布法允许在每个阶段增加控制,但是如果项目的范围在已经开始之后发生了变化,那么它就会变得非常不灵活。
瀑布模型的优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。
瀑布模型的缺点:
(1)开发过程一般不能逆转,否则代价太大;
(2)实际的项目开发很难严格按该模型进行;
(3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。
(4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。
瀑布模型的使用范围:
(1)用户的需求非常清楚全面,且在开发过程中没有或很少变化;
(2)开发人员对软件的应用领域很熟悉;
(3)用户的使用环境非常稳定;
(4)开发工作对用户参与的要求很低。
11
关键路径法(CPM)
关键路径法(Critical path method, CPM)是一种循序渐进的方法,适合用于具有相互依赖活动的项目。它包含了一个活动列表,并需要使用一个工作分解结构(WBS)和一个要完成的时间表,以及依赖项、里程碑和可交付成果。它通过计算完成任务所需的“最长”(在关键路径上)和“最短”(浮动)时间来确定哪些活动是关键的,哪些不是,从而概述了关键和非关键活动。
12
关键链项目管理(CCPM)
关键链项目管理(Critical Chain Project Management,CCPM)方法是Eliyahu Goldratt博士在其专著《关键链》(Critical Chain)中提出的一种新的方法,其支持者们认为,这是一种全新的、革命性的思维方式,可以有效地缩短工期,提高项目满足进度与预算约束的能力,关键链项目管理(CCPM)与CPM的不同之处在于,它关注项目内部资源的使用,而不是项目活动。为了解决资源的潜在问题,内置了缓冲区,以确保项目按时进行,并且不会损害安全性。
13
六西格玛(Six Sigma)
六西格玛(Six Sigma,6 Sigma)是一种管理策略,它是由当时在摩托罗拉任职的工程师比尔▪史密斯(Bill Smith)于1986年提出的。这种策略主要强调制定极高的目标、收集数据以及分析结果,通过这些来减少产品和服务的缺陷。六西格玛背后的原理就是如果你检测到你的项目中有多少缺陷,你就可以找出如何系统地减少缺陷,使你的项目尽量完美的方法。一个企业要想达到六西格玛标准,那么它的出错率不能超过百万分之3.4。通俗的说就是一般企业的瑕疵率大约是3到4个西格玛,以4西格玛而言,相当于每一百万个机会里,有6210次误差。如果企业达到6西格玛,就几近完美地达成顾客要求,在一百万个机会里,只有3.4个瑕疵。
14
精益六西格玛(Lean Six Sigma)
精益六西格玛(Lean Six Sigma,简写为LSS)是精益生产与六西格玛管理的结合,其本质是消除浪费。精益六西格玛管理的目的是通过整合精益生产与六西格玛管理,吸收两种生产模式的优点,弥补单个生产模式的不足,达到更佳的管理效果。精益六西格玛不是精益生产和六西格玛的简单相加,而是二者的互相补充、有机结合。
15
事件链方法(ECM)
作为关键路径方法或关键链方法的一个附加选项,ECM侧重于在项目开始时就能够识别、分析和管理任何潜在的风险。目标是确定风险成为现实的可能性、可能发生的时间以及对项目的影响。指导ECM的主要原则有六个:识别事件链、识别其时间和状态、识别关键事件、绘制事件链、监控事件链的性能,并量化影响。
16
功能驱动开发(FDD)
FDD是为大型项目开发的,但也适用于任何规模的项目,它通过开发快速的、可重复的流程来帮助解决大型项目可能带来的一些复杂性,这些流程可以由组织中的各个团队在更短的时间内完成。此方法需要遵循一些关键流程,包括开发整体模型、编译特性列表、根据每个已识别的特性来进行规划、设计特性和构建特性。FDD"是一个以Architecture为中心的,采用短迭代期,日期驱动的开发过程。它首先对整个项目建立起一个整体的模型,然后通过两周一次‘设计功能-实现功能'的迭代完成项目开发"。此处的"功能"是指"用户眼中最小的有用的功能",它是可理解的、可度量的,并且可以在有限的时间内(两周)实现。在开发过程中,开发计划的制定、报告的生成、开发进度的跟踪均是以上述"功能"为单位进行的。在FDD中,它认为:只有良好定义的并且简单的过程才能被很好地执行。另外,由于在FDD中采用了短周期的迭代,最小化的功能划分法,所以可以对项目的开发进程进行精确及时地监控。
17
自适应软件开发(ASD)
这种方法可以帮助团队在处理变更时变得更加敏捷。鼓励团队保持不断学习的状态,以改善开发。ASD是建立在三个阶段上的,即推测、协作和学习。
18
快速应用程序开发(RAD)
RAD关注基于测试的用户输入,以及与预期目标相比的,产品的工作效果。RAD首先会确定需求,然后快速构建原型并获取用户输入。然后根据输入,识别需求并再次构建原型。最后进行用户测试并交付最终产品。
快速应用程序开发是指一种以最小幅度的规划并迅速地将原形完成的软件发展方法论。采用RAD进行软件开发的规划是和撰写软件本身交错同时进行的。通常能在没有大量预先规划的情况下,让软件更快写完、更容易变更需求。
19
受控环境的项目管理(PRINCE2)
受控环境下的项目管理第二版(PRojects IN Controlled Environments,简写为PRINCE2)是一种项目管理方法。它包括项目的管理,控制和组织。“PRINCE2”是这种方法的第二个重要版本。
PRINCE2为项目管理提供了一种结构化的方法。这种方法为管理项目提供清晰界定工作框架。PRINCE2介绍了如何协调项目中的人和活动、如何设计和监督项目以及在项目发生变更的情况下如何调整的流程。每一个流程都详细标出关键的输入、输出和具体目标及要执行的活动,这为计划偏差提供了自发的控制。
这种方法把项目划分为多个管理阶段,保证让所有资源得到有效的控制。依靠严格的监控,项目在控制和组织的方式下得到执行。作为一种被广泛认可和理解的结构化方法,PRINCE2为项目中所有参与方提供了一种通用语言。它完整阐述了参与项目的各种管理岗位和职责,并可以根据项目的复杂程度和组织能力来适当调整。
20
项目管理的知识体系(PMBOK)
项目管理的知识体系(Project Management Body of Knowledge, 简称为PMBOK)。是项目管理的一个知识体系。是一部公认的项目管理专业标准。“标准”是一种描述既定规范、方法、过程和做法的正式文件。与法律、医学、会计等其他专业一样,该标准所包含的知识也提炼自项目管理工作者公认的良好做法。
PMBOK(项目管理知识体系)把项目管理从总体上分为5个过程:启动过程、计划过程、实施过程、控制过程、收尾过程,共包含了十大领域的知识:整合管理、范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、风险管理、采购管理、干系人管理。
优培东方送你一张问题日志:
问 题 日 志
项目名称: 准备日期:
问题编号 | 分 类 | 问 题 | 对目标的影响 | 紧急程度 |
责 任 方 | 措 施 | 状 态 | 到 期 日 | 说 明 |