0
点赞
收藏
分享

微信扫一扫

主力程序员如何走向项目经理


在希腊德尔斐的阿波罗神庙上,刻得着一句神秘的箴言:“认识你自己”。从某种程度上来说,我们都是自己的“最熟悉的陌生人”。认识自己的位置,是每个人获得成长的第一堂课。一个人的位置,对其言行的影响是至关重要的,俗话说:“屁股决定脑袋”,虽然听着粗俗,却饱含人生哲理。既然我们屁股在项目经理的位置上,就应该像项目经理一样去思考问题,做事情。

身为一名IT人员,想要晋升为项目经理,必须要经历从初级程序员到中级,再到高级,然后项目副经理,项目经理,项目总监等过程,面对庞大的码农大军,想要在这个行业站住脚,就必须付出比别人更多的努力。正所谓不想当将军的士兵不是好士兵,如果要给自己定个期限的话,那就是当下,此时也许还有很多不足,但想要摆脱目前的这种尴尬的境地,也不是不可能,首先必须要培养项目经理的意识以及相匹配的技术能力、沟通能力,在攻破各个关卡的同时,让自己迅速成长起来。

下面与大家分享下我个人对项目经理这个岗位的认知,与大家共勉。

1 项目经理的认知

首先说明,不是每个程序员都需要当项目经理,也不是每个程序员都想当项目经理,更不是每个程序员都能当项目经理。因此,当不当项目经理,可以说是一个想不想、能不能的问题。

1.1 主观意愿

主观意愿可以理解为想不想,是一个意愿的问题。这是前提,毕竟强扭的瓜不甜。显然,富二代一般是不想当项目经理的,因为他们想直接当总裁。还有些人,只想钻研技术,不想钻研人,他们也是不会想当项目经理的。但如果你既不是总裁也不是纯IT爱好者,如果还有对自己人生有规划能力的话,那就必须要来刻意培养自己的潜意识了。

1.2 自身能力

老话讲,打铁要自身能力过硬,能不能行,说到底就是能力的问题。但这不是关键问题,因为只要有意愿,能力是可以培养的。要知道程序员连复杂得让人琢磨不透的软件都能搞定,还有什么是搞不定的?多花一些时间来锻炼自己的硬技能,让自己的技术能与之匹配,其实与我们成长的人生一样,活到老,学到老,主动成长总会比被破成长来的要更幸福些。

1.3 意识形态

其实进入任何一家公司工作,首先都要先找准自己的定位,明确定位,怀着不拿自己当小弟培养心态去做事,还要有较强的团队意识,敢于担当,多站在对方的立场上考虑问题。凡事多往前走一步,懂得换位思考,如果我是对方,我会怎么想,怎么做。并且随着自己不断的成长,要为自己制定一系列靠谱的目标,然后下意识的一步步达成,而不是一味的低着头蛮干,然后在进行下一个目标。面对压力的同时,要懂得调节化解,敢于挑战,不畏惧。

1.4 能力提升

众所周知,现在是一个知识爆炸的时代,知识更新非常快。IT 技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识、随时补充和丰富自己,已成为程序员职业发展的核心竞争力。据测算,一个大学毕业生所学到的知识,在毕业之后 2 年内,有效的不过剩下5%。对于软件行业而言,这种形势更为明显,我们赖以立足的,不在于我们现在掌握了多少知识,而是我们有多强的学习能力,以及是否能转化为自己的能力,如果能将这种能力较好的应用于工作中,不仅能为企业创造利润,还能实现自我价值。

2 应具备那些能力

2.1 领导能力

对于一个团队而言,团队的战斗力归根结底要看项目经理的领导能力,项目经理的能力水平很大程度的影响着团队整体的能力水平,正所谓兵熊熊一个,将熊熊一窝。

项目经理良好的领导能力体现在,具备较强管理、协调及沟通能力、解决开发过程中遇到的技术问题;技术预研;团队管理、团队协同;只有这样才能确保开发工作正常顺利的开展,项目的准时上线,尾款的收取。

2.2 专业技能

2.2.1 读程序的能力

很多的软件开发工作不一定会从头开始,这就需要开发人员有良好的阅读程序的能力,能在尽可能短的时间里了解软件整体的架构,理解该软件初始的开发思想,能迅速并有效地参与到项目开发中去。     

2.2.2 编写代码能力     

这点会涉及到开发人员对所用语言的熟练程度,和该开发人员的编程风格。是否拥有良好的编程习惯,能遵循通用的编程规范,并作好注释,对该开发人员所开发代码的易读性和易维护性有很大的影响。

2.2.3 调试测试能力     

现代的软件行业中,代码的调试和测试时间并不比编码时间短,甚至会超出,当然,很多的调试和测试工作并不都是编码人员完成,但测试工作是很多软件开发人员的必经之路。 

2.3 沟通能力

在项目实施阶段项目负责人要根据项目的周期与项目的需求选派人员进行项目实施工作,而在实际项目中对于不同人员的任务分配也可以提高项目的成功率。

2.3.1 队友的沟通

首先根据项目需要,充分了解每位队友的个人能力,再依照事情的轻、重、缓、急来进行任务分配,当然员工所承担的工作内容要比其个人能力高一些,以便于员工的进步。

在日常工作中,要对培养员工独立思考的能力,而不是什么都帮他们想好。在任务分配的同时让队友明确不同的时间结点,包括每天的工作项目和明确工作的目标。

最后对于未能及时完成工作的队友,要及时交互明确未完成原因并予以修正,避免错误反复,造成严重后果。

2.3.2 领导的沟通

从主力程序员走向项目经理,其实就是由基础岗位转向管理岗位的一个过程,在这个过程中,不能在像以前一样等待任务被分配。而要学会与领导沟通,掌握领导的动向,分析出领导的意图,能够想在领导之前,做在领导之前,这才算合格的准项目经理。

尤其在做项目中,要及时向个人领导上级交互项目中遇到的事情及项目进程,让领导能够实时把控项目,不至于产生脱节。有问题也要实时向领导反馈,协调资源解决问题。

在项目中可能会涉及到公司产品的扩展开发或者技术攻关,面对这种情况一定要提前与公司进行资源协调,同时将工作量进行评估,不要临时“抱佛脚”,这样既不利于项目的推进也很容易让客户认为我们不专业,进而影响公司的名誉。 

2.3.3 客户的沟通

老话说 “一个项目经理80%的时间在沟通,剩下的20%的时间在准备沟通”,在一个项目中,不仅要与内部领导,队友沟通,更重要是与客户之间的沟通。定期向客户汇报项目进程,注明哪些已完成,哪些正在完成以及剩余工作内容项目的人天统计等等,打消客户的疑虑,同时也避免一些无端的争议。

在和客户沟通的过程中,要时刻记录交互内容,保证在一次沟通交互后,可以梳理出来沟通的内容需求,尽量不要因为同一件事反复去找甲方客户沟通。切记沟通前,要想好问题列表,以及客户可能会问到的问题,想好解决方案,而不是想到什么说什么,毫无逻辑。

遇到需求变更时,也要学会拒绝,不能由客户来主导,应由我们来引导,如果客户需求不强烈的话,可以沟通协商,看是否留在二期再来操作。如果实在强硬的需求,并且符合当前实际需求,可以评估下工作量,并请示领导后,召开会议,双方领导确认后,纳入开发项目中。

3 明确项目的步骤

3.1 项目准备

在我们公司一个项目开始前,需要做项目准备,首先公司内部会成立项目组,目的是明确项目组成员的工作责任和权限。然后召开项目启动大会,与项目组成员项目目标、范围及工作方法。最后确认项目所需基础设施环境,客户方服务器环境搭建等事宜。

接下来就是项目蓝图,也就是需求调研与计划设计,通过各种办法积极的深入了解客户的需求以及客户对系统的期望。然后在了解企业业务现状、信息化现状后,分析各业务模块之间的业务衔接环节,进行问题梳理及标准制定,根据业务需求完成功能详细设计和开发方案,为客户提供概要设计(设计规格说明书)、技术标准规范文档、细化至人天的工作安排/计划。蓝图设计之后,正式开始项目实施。

3.2 项目实施

本阶段主要根据数通畅联特有的项目实施方法开展工作,通过完备的管控方法及产品功能实现客户的需求。

  • 内部日报、成员周报:数通畅联的日报及周报管理制度,对项目人员人天/周工作内容及计划进行审查追溯,可及时发现项目中已知或未知的问题,并加以解决防控。
  • 项目周报、项目追踪:对于项目周报采取双周滚动制,每周为客户发送本周项目工作总结、下周工作计划、后续工作安排,便于客户精准掌握项目进度;项目追踪对项目投入人天情况、功能完成进度进行严格汇报把控,有效控制项目进度,防止项目偏离拖期。
  • 客户参与、培训协作:数通畅联在项目中注重与客户的沟通,定期向客户汇报当前项目的进展情况(项目周报,项目会议),让客户能够实时的掌握项目的进展情况,加强对项目的认知度与参与度;同时在项目进行中针对客户方技术人员进行一些产品及功能原理、使用方面的培训,使客户能更快速的掌握产品。
  • 重点突破、局部上线:数通畅联遵循敏捷机制,在项目开展2个月左右,部分功能即可上线供客户使用,在保证系统稳定的情况下,对其它功能进行重点攻克,之后进行灰度升级。
  • 步步为营、逐步推进:在项目中数通畅联注重对每一个里程碑的掌控,并根据里程碑逐步推进项目进度,最终保障项目的顺利验收。
  • 全面测试、消缺完善:数通畅联对项目中完成的每个功能都会进行全面的测试,包括:自测、功能单元测试、小组之间互相测试、项目内部功能联测、用户真实测试等,在测试过程中会对功能问题进行不断的完善,并撰写系统使用手册、系统维护手册、系统项目测试手册,在项目验收时交付于客户。

3.3 项目推进

  • 项目的试运行阶段:项目开发结束后,在试运行阶段解决项目中遗留的BUG和待完善的功能。逐一进行相关问题的处理,保障全方位的运维支持。
  • 项目逼近验收阶段:尽早提出验收申请,明确项目验收还需要完成哪些工作项,再三确认这些工作项完成后是否能够签署验收报告。期间及时和甲方项目负责人交互,了解验收的需求标准,尽快的进行功能调整和完善。同时,验收相关文档也需要进行整理,需求文档、设计文档、用户操作手册、服务器配置清单、上线确认单、验收报告、验收备忘录等。

3.4 项目验收

验收阶段主要工作是对项目整体实施工作的回顾和总结,对实施工作的认可,也是对双方高层领导的一个工作汇报,验收合格后,转入系统维护期。

  • 在项目验收时我们会针对项目情况进行汇总及文档整理;
  • 召开项目验收会议,对项目实施过程、业务内容、工作程序和结果进行汇报及演示;
  • 将项目中所有文档交接于客户,包括:需求规格说明书、开发规范与集成标准、系统设计规格说明书、所有项目管理过程文档(周报、会议纪要、需求变更等)、测试手册、测试报告、使用手册、维护手册;项目源码、测试环境、正式环境;
  • 专派技术人员现场驻守,保证稳定运行后撤离,后期进行远程维护。

4 自我分析与定位

4.1 自我分析

身为一名底层技术人员,我觉得自身的代码能力以及管理能力还有些许不足之处,但我有信心,在我们公司成熟的集成产品套件以及完善的项目经理培训体系下。能够较快的成长起来。我深切的知道,当前公司对于人才的渴望。我把这当作一次自我锻炼的机会,也可称之为可遇不可求的捷径,只要我能够把握住,克服住层层困难。我相信我的晋升速度会远超我们公司其他员工,甚至是其他同行业IT技术。

有时候我会问自己,目前是否是晋升项目经理的好时机,但又一想,到底什么时候才算准备好呢?不如一边做一边思考,给自己定下更高的标准要求,也许会有意外的收获。有些人属于先转变思维,进而转变角色。有些人可能先转变位置,再带动思维转变!我也许就是后者,但无论怎样,我相信自己可以做到。

4.2 自我定位

本文我也提到了,我们数通畅联把每位成员都当作项目经理来培养,我也不例外,既然公司对我寄予厚望,我定不会让公司失望。

在日常工作中,我较其他同事先接触IT行业,继而我的知识储备以及代码能力是有一定经验积累的。对于其他同事的提问,我也是乐于解答的。因为在讲解的同时,可以加深自己对以往问题的理解,兴许还能挖掘一些以前没有经历过的盲点,从而充实自己。

在日常生活中,多利用业务时间,开拓些眼界,多浏览各大论坛,了解一些技术盲点,另外多关注其他人的表达方式,锻炼自己的口语表达能力,例如在描述事情和问题的时候,可以先想想怎么表达,才可以让别人能快速的了解我的意图,多听听别人的沟通技巧等。还要多看些书籍,老话讲,书中自有颜如玉,书中自有黄金屋,阅读的范围更广泛,便能较清晰的认识自己,定位自己。

举报

相关推荐

0 条评论