项目管理的经验之谈

有朋友咨询项目管理师和PMP考试的内容,对于工作几年后参与了很多项目和需求的开发工作,如果去主导一个项目应该如何去做,系统的学习下项目管理会有一定的帮助,结合实际项目去思考会更好,这里结合一些内容,再简单说下我对项目管理的一点认识。

项目管理的经验之谈

项目与项目管理

项目是为创造独特的产品、服务或成果而进行的临时性工作。

项目的”临时性”是指项目有明确的起点和终点。当项目目标达成时,或当项目因不会或不能达到目标而中止时,或当项目需求不复存在时,项目就结束了。项目所创造的产品、服务或成果一般不具有临时性。大多数项目都是为了创造持久性的结果。

项目有大项目和小项目,可以称之为项目组合、项目集,它们之间存在着相互影响或制约的关系,项目组合是为了实现战略目标而组合在一起管理的项目集、子项目组合和运营工作的集合。项目集包含在项目组合中,其自身又包含需协调管理的子项目集、项目或其他工作,以支持项目组合。单个项目无论属于不属于项目集,都是项目组合的组成部分。虽然项目组合中的项目或项目集不一定彼此依赖或直接相关,但他们都通过项目组合与组织战略规划联系在一起。

项目管理是在有限的资源下,运用管理的知识、工具和技术,对项目的工作进行有效的管理。

  • 有限的资源:人、时间、预算、场地、服务器……
  • 项目的工作:范围、质量、进度、成本、风险等
  • 有效的管理:提高质量、提高效率、提高交付价值

项目管理的意义

项目管理是组织实现项目目标管理的阶段性过程工作,是通过对有效资源的有效计划、组织、控制,实现项目管理目的,保证项目目标实现的系统管理方法。

在我们日常的项目管理也是这样,通过项目的规范性管理,解决业务、产品、技术间的冲突矛盾,避免无效的需求变更,在规定的时间内,保证软件产品或服务的按时上线,同时通过复盘,总结归纳出问题经验,形成标准的知识库,为后续的项目工作提供必要的指导。

项目团队角色

项目管理的经验之谈

每个角色都有其所属的工作范畴,项目经理主要是制定项目计划、把控项目进度、协调各个组之间的问题,控制风险等。根据以往的经验,目前互联网电商公司有PMO的不多,大部分产品经理充当了项目经理的角色,但在实际工作中却关注产品多于项目管理,没有完成角色的统一,产品经理应该具备项目管理的能力,这些于个人发展会有好处。

产品经理主要是需求管理、分析、确认评审及产品验收,这里的验收不仅是上线前的验收,还要包括项目上线后的产品跟踪和回馈,将产品的表现同步给相关的干系人,这样有助于后续的合作。

开发经理主要是工作量评估、任务拆解、交付、任务分配、代码审核等,他(她)们是项目产品的实现者,这里的工作量评估也是非常重要的,每个人能力不同完成的时间肯定有所区别,可以根据平均值进行合理安排,不同级别的人承担的责任不同,完成的工作也应该不同,因为薪酬也不一样。

任务的拆解要遵循独立性、可协调性、有价值、可估算、短小的INVEST原则,注意项目的迭代周期,在交付和代码审核部分主要是进度控制和风险识别。

其它负责人包括测试、运维、数据、安全等,测试在项目管理过程中是质量的保证部门,是项目中后期就是及时介入的,有些在项目初期就需要介入。

根据以往经验,在测试中沟通的成本是相当高的,产品与测试、研发与测试、测试与测试间都要经过多轮的讨论、确认,在沟通中因为需求不明确导致的变更也是比较多的,矛盾在些阶段也是比较常见的,这时需要项目负责人协调好、控制好,在没有项目经理时,需要产品经理去拍板,决定取舍,控制风险。

项目管理的进程

从项目立项开始,就应该按照项目规范进行,通常要将一个项目拆分为多个子项目或任务,制定里程碑,在敏捷项目管理中,项目团队的人员是7-9人,天体战士迭代的周期是1-2周,每日站会是通过看板来进行项目回顾,述说问题、领取新任务。项目经理应该进行总体的协调,保证各个小组间是沟通是顺畅的,保证问题和风险能够及时暴露出来,从而去推动和解决。

通常的项目都是前期耗费太多的时间在需求、设计上,针对一些可能并不重要的部分内容花费过度的时间,导致在项目中期压力变大,项目后期则要通过加班赶工。

所以在管理过程中首先要对项目涉及的各个任务进行详细拆解,确定关键路径,划分任务的重要性和优先级,其次要合理分配任务,确保每个人的工作任务能够与个人的能力匹配,尽量避免能者多劳的情况出现,同时要大胆的启用新人,让其参与并成长。

根据以往经验,因为互联网项目多是时间紧迫、业务关联多、系统复杂型,团队领导习惯于让有经验的几个人承担重要的部分,这会导致这些人过度使用而其他人总是打杂,不利于整个团队的成长。

项目的里程碑可以按照需求、设计、开发、联调、测试、集成测试、上线几个阶段设定,每个阶段要有输出物,如需求PRD,设计接口文档、测试用例、部署方案等等。

通过阶段性的验收,也可以及时暴露出项目的问题与风险,有问题不怕通过迭代去解决就好,需求变更也是正常的,以正常的心态去面对即可。

1.需求

需求识别与分析,需求评审是在需求阶段比较难的部分,通过需求分析要进行合理的优先级划分,哪个需求先做、哪个后做如何确定,是需求方法的。

一般通过价值来衡量,如通过预估节约的成本、通过性能或购物流程优化可以带来的GMV等,用数据说话比较好,所有的需求要有具体的跟踪人,在需求池中每个需求都要定期更新和重新评估,因为随着时间的发展,有些需求要升级或剔除,保证做有意义的需求,以结果为导向去规划,站在组织的层级去考虑,避免”这个需求是老板提的”这种个人倾向主义的需求。

项目管理的经验之谈

项目进行过程中,需求变更要把握好,通过敏捷的快速迭代可以消除一些影响,但是是要经过不断的迭代去填补的,积极的拥抱变化,但不要偏离项目的最终目标。

2.实现

这里主要是指研发如何去实现这个产品需求,产生项目成果的过程。

对于技术人员要注意的是不要过度的钻到技术实现的细节中或新技术的应用上。架构师与程序员的区别在于,架构师考虑的取舍,程序员考虑的细节的实现,仔细回味一下,就会有很多感触。

每个研发人员可能都梦想有朝一日成为架构师、技术总监或CTO,通过一个个项目经验、技术的积累慢慢朝这个方向努力,虽然本人前途无望,但希望大家能够走到终点。

以往的经验,在多个项目中接触过很多中级、高级技术人员,有很大一部分都觉得只有自己写的代码或研究的技术可以,其他人的都不屑,这也就是在公司中重复造轮子的根源所在,数据孤岛、不同系统相同功能的范例很多,目前有些公司提出中台概念,如果不解决团队的认识,效果可能不明显。

3.质量

项目中的质量、进度是非常重要的,质量受很多因素的影响,需求是否合理,实现是否有遗漏或简单粗暴的解决方式,服务器配置、网络资源、数据库的性能、接口间的调用逻辑是否复杂、测试用例是否覆盖全业务流程、性能测试是否达标等等。

这个不是在测试或集成测试时才要关注的,它是从项目开始到项目结束贯穿于始终的,要项目团队的所有人都要重视的。

取与舍在质量保证方面同样重要,是牺牲某部分功能保证性能,还是用资源换效率等等,这些在项目管理过程中都要考虑,也是项目负责人一直关注的。

有限的资源、有限的时间,通过合理的管理、协调、实现来保证质量。

写在最后

对于项目和需求,之前也尝试引入过一些好的方式方法,最重要的还是来源于实践,如果没有参与过大的项目,只是有些理论知识肯定是不行的,项目负责制、敏捷项目管理是我前期团队中推崇的,已经有一段时间没有参与实际的项目了,以上内容也是看了朋友给我的资料有感而发。

业界动态

双11第一泛滥背后各不同,是时候该给第一降降温了

2020-11-17 10:10:33

业界动态

如何写出好创意的方法论?

2020-11-17 10:16:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索