随谈项目管理之传统和敏捷项目管理
随着计算机、互联网的兴起,软件研发行业的项目管理变得越来越重要。我们在工作的过程中,特别是初融合的团队,会发现在项目研发过程中出现各种问题,这个时候,项目管理就会被自然而然地需要。
项目管理是有多多种模式的,主要分为传统式项目管理和敏捷项目管理,而每个项目管理模式中还有不同的项目管理框架。
在工作过程中,对不同的模式不同的框架,总是看不到整体的全面的东西,很是疑惑。在工作的同时,也去找了一些参考资料对各个模式的项目管理框架进行比较,现做一个总结。由于我本人是从事软件开发类,所以谈论的角度均是站在软件开发的角度展开。
一、各个项目管理模式的认识和理解
1、PMP:传统型
有项目经理
PMP的框架是基于知识点出发的,它的知识框架基本可以覆盖所有的领域,即是其框架是综合和通用的,而不是完全的软件开发项目管理,所以我们经常也会发现在工程领域的PMP框架运用,如:建筑工程类、硬件类、软件开发类等等。
传统型的项目管理模式,分为五大阶段,十一个领域。
五大阶段分别为:启动、规划、执行、监控、收尾
十一个过程领域:范围管理、时间管理、质量管理、成本管理,(多快好省),人力资源管理、干系人管理、采购管理等。
每个阶段和过程领域都会有一定的概念介绍、输入输出内容、工具,提供给项目人员进行合理运用。
比如你们公司是纯软件类公司,且所做的软件/app等是自营的,无须与客户纠缠成本,那么你的重点要在需求范围、进度管控、质量交付等其他领域,而不需要过度关注直接成本,你管控的进度、时间已经间接地管控了成本。
在PMP中,项目经理的作用,即是五个阶段的控制者、领导者,同时也是需要对结果负责的。
2、SCRUM:
在scrum中是项目经理的这一角色的,但是有scrum master.
Scrum的目标是能够使开发过程能够及时审视,更加透明,并达到持续开发。
Scrum 的核心是sprint,每个sprint即为一个迭代,或者一个相似工作的重复周期,为产品或系统产出增量。同一个产品的每个sprint周期是固定的。
基于sprint,我们制定product backlog,即待办事项列表,根据产品的不同,我们可以定制不同形式的backlog。核心目标是相同的,即明确目标、检查任务完成及时度,审视过程中存在的问题。
SCRUM的敏捷性在于,每一个sprint都是连续性的,在每个sprint的时间窗内,都会有15%的时间来制定sprint计划,并且每相邻的sprint之间没有时间间隔,即开发是连续性的,上一个sprint结束之后立即启动下一个sprint。
Scrum的团队在这里不做多的描述,主要说明一下Scrum Master的职责。
Scrum master 的职责:
1、并不是项目经理、IT经理的角色,是一个服务型的指引人。
2、负责scrum流程,使其正确使用并达到最大的效果。
3、根据sprint的执行情况,组织回顾会议,整个团队讨论刚刚完成的sprint可以做哪些优化使得下一个sprint更有效率
3、IPD(Integrated Product Development)集成产品开发:
现在在实行和推广的公司有:华为、海康、大华、联想、长虹、美的、步步高等。大华和海康推行得不是特别彻底,主要是因为每个项目管理模式的选取与实施和自身的产品性质有关。
个人认为IPD比较适合软硬件结合或纯硬件的产品,由于接触不多,不做过多的阐述和个人意见发表。
如果以后工作有需要接触此项目管理模式,可以深入研究学习。目前不做研究。
二、对敏捷项目管理的理解(敏捷的理解内容部分比较少)
对于互联网行业来说,行业发展速度比较快,传统的项目管理模式已经不再适用。
就拿健身app来说吧,随着健身观念的普及,越来越多的大众投入到健身的队伍中,但是我们会发现,有一大部分人都是未健身成功的。原因就在于他们没有合理的健身观念,标准的健身动作,而请私教又是一大笔钱,很多人不会舍得投入这么多钱到健身私教中去。这个时候,我们只要抓住了用户的需求点,健身app就可以应时而生。产品经理规划了很多东西,户外跑步记录、大卡计算、跑步机跑步记录、动作教程、网上私教等等,如果按照传统的项目管理模式,那么我们要所有的需求整理出来,再有整套系统的设计文档,评审,开发等等,等一个整的app做好之后,其他家看好这个契机的产品早就已经进入市场,吸引流量了,如果再有一些产品亮点,通过用户与用户之间的传播,那你做出来的产品基本上就没什么机会了,很大情况就成为了炮灰。
由此看来,在互联网行业,敏捷项目管理是非常重要的。但是纯敏捷,对团队的自管理要求比较高。为什么这么说呢?一个项目团队实施纯敏捷,以需求的迭代为核心,更多地关注在需求、进度上,而容易忽视掉技术上或者其他方面的一些细节,这对初形成的团队或者新加入的员工就是不太友好的。
在接触项目管理这么多时间以来,我在工作中接触更多的是结合了传统项目管理和敏捷项目管理的模式,通常是将
项目管理也是过程的优化,我们不断地发现项目中的问题,不断地根项目所处的情况调整自己的项目管理模式。
其实传统的项目管理与敏捷项目管理各有优势,在使用的过程中选取适合自己项目的内容来使用即可。
三、对现有软件项目管理的理解
现在我们来谈谈站在项目管理角度看,如何使用各个项目管理模版?
1)商业型项目:
每个项目都会谈价钱,那这个时候就需要更强地控制成本、需求,这个时候,项目经理的作用就会比较明显,要直接对项目结果负责,包括成本、质量、需求是否按要求完成等等。那么这里我们在起初的时候需要用到传统型项目,对每个节点严格把控,各个节点进行评审,尽早让需求方参与项目以及时调整项目的完成方向(当然变更需求除外,变更需求还是要重新评估的),这里说的及时调整项目的完成方向是指,我们在研发过程中,或多或少会对需求有误解读,让需求方尽早参与可以起到及时矫正的效果。
当然,为了保证项目的质量,也可以结合敏捷一起使用,迭代性交付。
2)自研发型项目或:
不与外部公司计算项目的价格,做出的产品提供给自己的公司、部门使用,或不受外部需求方的需求时间限制,产品目标即软件的商业目标。这个时候我们更重要的是让整个团队的目标更加一致,不管怎么说,提高团队的凝聚力对团队都是一种支撑力量。
这种能够自己控制和规划产品的需求的产品,更多的时候是不需要项目经理的,项目管理的职责由产品经理或研发经理担任即可。那么这个时候的敏捷就派上了用场,我们制定好一定的技术规范、项目管理规范,通过不断地优化需求沟通,发现项目中的问题、解决问题,通过不断地优化项目过程即可。
3)结合型项目:
有业务方压时间,也有自研发产品。这种产品我们在排计划的时候就需要根据优先级来进行执行。
以上为个人拙见,欢迎各位项目管理人士指导。
版权声明:本文为callmelexi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。