[项目]如何从程序员转变为项目经理?

项目经理是一个很普遍的职位,每年在中国拥有PMP证书也是几何倍的增长。而在中国的项目经理,大多是从程序员转变而来。每个人都希望自己积累了一定技术经验后,或许可以从事管理工作。但并不是每个程序员,都能做到项目经理的职务。就算考过PMP理论这一门,面对实际问题还是需要用经验来解决。而经验从来不是一蹴而就的马上获得,是需要从现在开始有心的去经营。程序员的工作任务是开发,那么我们可以将开发当成是项目管理来看待。转变思维,改变观念,谋定而后动,才能心想事成。


项目经理

以下的程序员不是指单纯机械式编码人员,而是指拥有系统设计能力的开发人员。程序员每次接受的任务大多是一个整体功能,要完成用户某一需求。那我们就可以将这一个整体功能任务看成是一个项目要完成。项目管理抛开商业模式等因素,管的核心总结起来就是人、事、时。

人的管理

项目管理中的人是指干系人,而在我们程序员开发任务中可以缩小范围,单纯是指协同我们工作的内部人员。内部人员是项目组内的项目经理、功能上下关联的同事。

项目经理,相当于项目中的用户,他作为我们的需求方,确认需求范围和需求结果。在他的沟通中要了解用户想要完成这个功能的作用。一个好的项目经理能告知你用户背景、梳理业务逻辑,并提供你一些和任务相关性的辅助资料,如涉及流程,可能提供组织资料等。

功能上下有关联的同事,相当于项目中项目成员,虽然没有真正的层级关系,但是有着合作、协同共同完成同一目标的前提。他们的管理主要是要了解各人的开发习惯,提前进行规划合作事宜处理。如接口的处理等。

事的管理

事的管理的意义在于降低用户潜在的需求变更,和对于未来的影响。这也是从需求分析到系统分析的降解过程,主要分当下的事、未来的事、防范的事三种。

1.当下的事是指将需求分解成可执行的工作包。

这里有两个名词,一个是可执行,何为可执行?可执行是指每句话都可以用少量的程序翻译。

举个例子:在请假流程中完成新建功能,这句话看似没有问题,其实是不可以直接被执行。原因是要完成新建功能会有很多的提前,要先判断当前登陆人是否在人事系统中存在,判断当前登陆人的班别,如果是常日班是直接新建,如果是轮班是另一种新建方式。
因此可执行是要细化到可以用少量的程序就能直接到的结果,并不是隐藏着很多的语句。

第二个名词是工作包,在PMP书中有写到,工作包的定义为完成一项具体工作所要求的一个工作单元,即为完成一项活动的工作所要执行的任务,此外还包括活动的开始和完成日期。换句话来说,也就是要在可执行上加上一个期限。

2.未来的事是指现在工作对于未来的延展性,具体来说就是指在设计过程中的定死还是可使用配置方式进行。我们大家都知道虽然政府定了很多劳动法的规则,但实际上各公司还是会有各公司的细则。比如一年以后职工享有五年的带薪年假。那如何休呢?可以一小时一请,四小时一请,或是一天一请,并没有具体说明,这个权利就放给各公司。

对于这些功能的设计,在集团化公司内部会变得尤为突出。在表单设计雷同下,这些规则我们往往就会采用配置的方式进行。用同一表单上不同的配置,以减少未来的需求变化,也可应对不同公司的不同规则制度。

3.防范的事是指在某些特殊业务处理下,需要做的提前风险管控。风险管理是事的管理中必不可少的,如果只是单一的做事,没有项目经理的全局观、风险意识,往往会使得人疲于应付工作,无法抬头去发展。

时间的管理

时间是一个项目中最重要的因素,项目是一个时间,程序员拿到的任务开发也会有相应的时间。而在这个时间中,自己也需要根据项目管理的方式划分自己的时间点。

比如项目管理分为需求分析、系统设计、编码开发、单元测试、集成测试,按这基本的五大时间点,在自己的任务时间轴中进行大致的划分。而针对在编码中可能会碰到的一些新技术的应用和了解,建议在系统设计阶段提前留出时间先进行验证和分析,以保证整个项目在无风险下按时间进度完成。

总体来说,要想做项目经理,必须先要有项目经理的思维,在平时的工作中应用起来。抓住人、事、时的配合,以增强自我管理和团队合作意识,以达到项目经理所要的技术经验和项目管理经验的积累。

你可能感兴趣的:([项目]如何从程序员转变为项目经理?)