以服务于中国广大创业者为己任,立志于做最好的创业网站。

标签云创业博客联系我们

导航菜单

项目管理六大控制是啥 什么是项目管理的核心

得益于软件行业更好的成本控制,曾经风靡国外的敏捷项目管理模式在国内也越来越流行。然而,大多数项目经理都是从传统的瀑布式开发管理模式转型而来的,他们对敏捷项目管理模式知之甚少。在这里我记录下我的经验,与大家分享,帮助大家理解敏捷项目管理。

与传统项目管理有什么关系?理解敏捷项目管理之前,让我们看看敏捷项目管理和传统项目管理之间的联系和区别。

传统项目管理模式,一般指瀑布模式。它必须完成上一阶段工作并通过检验才能启动下一阶段工作,将整个项目过程划分为五大过程组。

(传统项目管理模式示范)

而敏捷项目管理模式,一般包含迭代和增量。它将整个项目过程拆分为若干个迭代,每个迭代完成一部分用户可感知的完整功能。一般情况下,每个迭代内的项目过程均遵循五大过程组。

(敏捷项目管理模式演示)

少数项目经理会独立对待PMP和敏捷,认为PMP是传统的项目管理模式。事实上,PMP是指是项目管理专业人士资格认证,的认证知识体系由五个过程组和十个知识领域组成,是知识体系的一个检验过程,或者简单地说,它就是完整的项目管理知识体系。而瀑布模式和敏捷模式都是基于它形成一种项目管理模式。

传统项目管理模式和敏捷项目管理模式的区别可以总结如下:

瀑布模式

敏捷模式

核心驱动

文件和计划驱动

用户可感知的完整功能驱动程序

计划

提前对整个项目过程进行详细的估算、分析和计划

提前为整个项目做一个大致的计划。为每个迭代中的每个迭代制定详细的计划

变化

严格的合同降低变更风险,如果需求变更需要CR流程,则需要对整个项目流程进行重新估算和规划

基于信任,契约让改变变得简单。鼓励变革,关注客户价值,并在后续迭代中评估和规划有利于客户价值实现的变革

风险

项目交付晚,风险实现晚


每次迭代都产生可交付的功能,发现风险的时间早


可视化


项目过程是一个“黑盒子”,对于客户和供应商来说可视化较差


客户、供应商和开发人员之间是紧密连续的合作关系,项目过程可视化较好


应用场景


消耗成本较高的项目过程。如三峡工程、火箭发射


消耗成本较低的项目过程。如软件开发




  • 敏捷项目管理到底是什么?

了解过敏捷项目管理与传统项目管理的联系和差异后,那么敏捷项目管理到底是什么呢?我从定义、本质、框架、常见实践4个方面总结。


一、敏捷项目管理定义


敏捷:是一种通过创造变化和响应变化在不确定和混乱的环境中取得成功的能力。


敏捷项目管理:指在项目活动中运用敏捷的理念,配合专门的知识、技能、工具和方法 ,使项目能够在有限资源限定条件下,实现或超过设定的需求和期望的过程。


二、敏捷项目管理本质


通过敏捷项目管理定义,我想你已经猜到其本质是什么。是的,其本质是一种理念,并基于这种理念进行不断实践在不确定和混乱的环境种取得项目成功,同时将这些实践总结提炼为团队稳定的解决方案。


这种理念也被先驱者们总结为敏捷软件开发宣言和敏捷开发十二原则。


敏捷软件开发宣言:


我们一直在实践中探寻更好的软件开发方法,身体力行,同时也帮助他人。由此我们建立了如下价值观:


个体和互动 高于 流程和工具


工作的软件 高于 详尽的文档


客户合作 高于 合同谈判


响应变化 高于 遵循计划


也就是说,尽管右项有其价值,我们更重视左项的价值。


敏捷开发十二原则:


  1. 我们最重要的目标,是通过及早和持续不断地交付有价值的软件使客户满意。
  2. 欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。
  3. 经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
  4. 业务人员和开发人员必须相互合作,项目中的每一天都不例外。
  5. 激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。
  6. 不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
  7. 可工作的软件是进度的首要度量标准。
  8. 敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。
  9. 坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
  10. 以简洁为本,它是极力减少不必要工作量的艺术。
  11. 最好的架构、需求和设计出自自组织团队。
  12. 团队定期地反思如何能提高成效,并依此调整自身的行为表现。

三、敏捷项目管理框架(方法)


虽然敏捷项目管理的本质是理念,看起来很玄乎。但是敏捷先驱们基于这种里面已经开发出了非常多的看得见摸得着的敏捷管理框架,日常项目管理工作中常见管理框架有以下几种:


SCRUM


SCRUM是一种迭代的增量化过程,用于产品开发或工作管理。它是一种可以集合各种开发实践的经验化过程框架。SCRUM中发布产品的重要性高于一切。


Kanban(看板管理)


看板管理在工业企业的工序管理中,以卡片为凭证,定时定点交货的管理制度。


XP(极限编程)


极限编程注重的核心是沟通、简明、反馈和勇气。因为知道计划永远赶不上变化,XP无需开发人员在软件开始初期做 出很多的文档。XP提倡测试先行,为了将以后出现bug的几率降到最低。


Lean Startup(精益创业)


精益创业的核心理念可以追溯到软件行业的敏捷开发管理。例如“最小可用品”与“原型建模”非常相似,都追求快速的版本迭代,以及时刻保持与客户的接触并获得反馈等等,精益创业可以理解为敏捷开发模式的一种延续。


Iterative Development(迭代式开发)


迭代式开发也被称作迭代增量式开发或迭代进化式开发,是一种与传统的瀑布式开发相反的软件开发过程,它弥补了传统开发方式中的一些弱点,具有更高的成功率和生产率。


FDD (Feature-Driven Development,特性驱动开发)


特性驱动开发是一个模型驱动的快速迭代开发过程,它强调的是简化、实用、 易于被开发团队接受,适用于需求经常变动的项目。


当然,也有很多不是很常见的敏捷框架,如Crystal Methods(水晶方法族)、ASD(Adaptive Software Development,自适应软件开发)、DSDM(动态系统开发方法)、轻量型RUP等,这里不展开描述。


四、敏捷项目管理常见实践


2020敏捷年度状态报告中统计,Scrum仍然是运用最广泛的敏捷方法(框架),Scrum和Scrum结合其它方法混合使用占比超过75%。所以当你不知如何选用敏捷项目管理框架时,可以考虑Scrum结合其他方法混合使用。毕竟有时候追随别人是最快的捷径。


(2020敏捷年度状态报告:最受欢迎的敏捷方法)


既然Scrum这么受欢迎,在这里总结一下Scrum的要点(以下信息来自:Scrum中文网):


(Srcum工作流程)


1、SCRUM理论基础


Scrum以经验性过程控制理论(经验主义)做为理论基础的过程。经验主义主张知识源于经验, 以及基于已知的东西做决定。Scrum 采用迭代、增量的方法来优化可预见性并控制风险。


Scrum 的三大支柱支撑起每个经验性过程控制的实现:透明性、检验和适应。Scrum的三大支柱如下:


第一:透明性(Transparency)


透明度是指,在软件开发过程的各个环节保持高度的可见性,影响交付成果的各个方面对于参与交付的所有人、管理生产结果的人保持透明。管理生产成果的人不仅要能够看到过程的这些方面,而且必须理解他们看到的内容。也就是说,当某个人在检验一个过程,并确信某一个任务已经完成时,这个完成必须等同于他们对完成的定义。


第二:检验(Inspection)


开发过程中的各方面必须做到足够频繁地检验,确保能够及时发现过程中的重大偏差。在确定检验频率时,需要考虑到检验会引起所有过程发生变化。当规定的检验频率超出了过程检验所能容许的程度,那么就会出现问题。幸运的是,软件开发并不会出现这种情况。另一个因素就是检验工作成果人员的技能水平和积极性。


第三:适应(Adaptation)


如果检验人员检验的时候发现过程中的一个或多个方面不满足验收标准,并且最终产品是不合格的,那么便需要对过程或是材料进行调整。调整工作必须尽快实施,以减少进一步的偏差。


Scrum中通过三个活动进行检验和适应:每日例会检验Sprint目标的进展,做出调整,从而优化次日的工作价值;Sprint评审和计划会议检验发布目标的进展,做出调整,从而优化下一个Sprint的工作价值;Sprint回顾会议是用来回顾已经完成的Sprint,并且确定做出什么样的改善可以使接下来的Sprint更加高效、更加令人满意,并且工作更快乐。


2、SCRUM框架


Scrum框架包括3个角色、3个工件、5个事件、5个价值:


3个角色


  1. 产品负责人(Product Owner):
  2. Scrum Master
  3. 开发团队

3个工件


  1. 产品Backlog(Product Backlog)
  2. SprintBacklog
  3. 产品增量(Increment)

5个事件


  1. Sprint(Sprint本身是一个事件,包括了如下4个事件)
  2. Sprint计划会议(Sprint Planning Meeting)
  3. 每日站会(Daily Scrum Meeting)
  4. Sprint评审会议(Sprint Review Meeting)
  5. Sprint回顾会议(Sprint Retrospective Meeting)

5个价值


  1. 承诺 – 愿意对目标做出承诺
  2. 专注 – 把你的心思和能力都用到你承诺的工作上去
  3. 开放 – Scrum 把项目中的一切开放给每个人看
  4. 尊重 – 每个人都有他独特的背景和经验
  5. 勇气 – 有勇气做出承诺,履行承诺,接受别人的尊重