;

优秀 IT 项目经理的五个必备素质

发布时间: 作者:系统管理员 访问量:127

有很多文章论述了项目经理所应具备的能力。有些文章重点讨论了项目管理中的“艺术” 与“科学”,有些文章阐述了“领导者”与“经理”的区别。它们都得出这样的结论,成功的项目经理应该是两者的结合体。领导艺术要求项目经理具备很强的沟通,预见和人际交往能力,而经理科学则要求项目经理掌握应用方法和工具的具体知识,同时要具有很强的分析及解 决问题的能力。“出色”的 IT 项目经理的定义不是一成不变的。随着经济和商业因素的改变,项目经理 的角色进行调整以适应新的需求,迎接新的挑战。

  除了一般的意见之外,还有一种看法就是,在组织中,不同的人对于项目经理的看法也不同。对于雇主来说,优秀的项目经理应该能够按时,在预算范围内完成项目。而对于项目团队成员来说,优秀的项目经理应该营造并保持一个令人愉悦的日常工作环境 (而不是面临 一个又一个的危机)。无论是从高级管理层的角度还是从团队成员的角度来看待项目经理,成功的项目经理应该具备五种关键能力:说服领导者支持项目,与团队坦诚沟通,激励团队,遵守标准方法和流程,了解你支持的技术。

  1、说服领导者支持项目

  毫无疑问,项目经理所应具备的最重要的能力就是与他人沟通的能力:无论是与个人、小组还是在众人面前讲话。项目经理必须能够清楚明白地描述最终产品并向相关方面,包括最终用户宣传产品能来的益处。通常这需要项目经理有一对一的说服能力,得到高级发起 人,IT 经理,首席财政官(CFO),项目团队成员及供应商等的信服,以采取具体行动或支持某些新的流程实现未来的目标。没有说服能力,人们就无法确定最终结果,对项目经理的说明产生疑问,用大量的时间进行内部讨论,最后才能做出决策。

2、了解你所支持的技术

  了解项目中正在应用的科学技术 (硬件或软件) 的项目经理比不了解的项目经理更有优势。在项目管理领域中有很多纯化论者,他们认为优秀的项目经理可以管理一切事务。但是,有很多 IT 项目经理无法控制项目的例子,因为他们的技术领导提供了错误的估算或项目落 后于进度的错误原因,或购买了不必要的软件。很容易发生这种情况的原因就是项目经理的 技术背景薄弱,无法了解区别所在。

这并不意味着项目经理应该是技术专家——但应该具有足够的知识了解并询问技术人员的需求,这样才能正确地估计估算是否合理。了解科学技术并具备扎实的沟通技能使得 IT 项目经理能够向非技术成员阐释技术方面的问题,从而赢得技术人员更多的尊重。

  3、激励团队

  项目经理所应具备的更为重要的技能之一就是激励他的员工,赞赏和表扬那些完成目标的员工能够最有效地达到激励的效果。人们希望感觉到自己的重要性,如果员工知道自己会在同事面前收到赞赏,他们通常都愿意付出时间完成任务。

  4、坚持标准方法论与流程

  为了领导团队,项目经理必须了解,遵守并加强项目管理方法论和组织流程。项目管理协会(PMI)出版的《项目管理知识体系指南》(PMBOK Guide),《软件开发生命周期》(SDLC)的方法论以及组织政策都会项目更为顺利快速的进展。

  项目经理也要负责保证项目团队的所有成员了解并遵守标准流程 如果每个项目经理都用自己的方法,那么团队成员就会浪费时间和精力来学习其它项目经理的工作方法。同样,如果下属没有掌握技能,项目经理也无法信任下属提交的状况报告。没有标准的流程,项目经理就无法识别关键路径,这对为即将到来的项目阶段分配资源是非常不利的因素。

5、与团队成员坦诚沟通

  成功的项目经理必须具备良好的倾听技巧,表现出专注的神情,对项目团队成员给予赞 赏和表彰。在整个项目生命周期中,会不断出现意外情况,导致产品范围,进度计划和成本 发生变更,严重影响到项目的成败。项目经理必须积极倾听他人阐述他们所关心的事情。这不仅会赢得团队的尊重,还会在早期了解问题的征兆,防患于未然。在倾听他人的陈述,并于他人沟通时,项目经理应该对个人或团队正在经历的事情表现出关注。这对了解整体环境 氛围,重述团队成员的个人忧虑非常重要,这样他们才会了解你会考虑他们所关注的事情。

  通过培训这五个方面的能力,IT 项目经理将在项目团队中树立威信,有助于在预算范围 内及时交付高质量的产品,有效地向用户群体以及高级管理层推广终端产品。


最新发布

    FreeMarker template error (DEBUG mode; use RETHROW in production!): For "#list" list source: Expected a sequence or collection, but this has evaluated to an extended_hash+string (com.jmis.contentmng.pojo.Content wrapped into f.e.b.StringModel): ==> [in template "jmis/pm/article/detail.html" at line 185, column 13] ---- FTL stack trace ("~" means nesting-related): - Failed at: #list content as chann [in template "jmis/pm/article/detail.html" at line 185, column 6] - Reached through: @cm_content_list count="5" titleLen="... [in template "jmis/pm/article/detail.html" at line 179, column 8] ---- Java stack trace (for programmers): ---- freemarker.core.NonSequenceOrCollectionException: [... Exception message was already printed; see it above ...] at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:285) at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:200) at freemarker.core.Environment.visitIteratorBlock(Environment.java:595) at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:81) at freemarker.core.IteratorBlock.accept(IteratorBlock.java:67) at freemarker.core.Environment.visit(Environment.java:326) at freemarker.core.Environment.visit(Environment.java:368) at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2727) at com.jmis.contentmng.action.directive.abs.TemplateDirectiveUtil.ProcessTemplate(TemplateDirectiveUtil.java:316) at com.jmis.contentmng.action.directive.ContentListDirective.execute(ContentListDirective.java:254) at freemarker.core.Environment.visit(Environment.java:426) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:101) at freemarker.core.Environment.visit(Environment.java:326) at freemarker.core.Environment.visit(Environment.java:332) at freemarker.core.Environment.process(Environment.java:305) at freemarker.template.Template.process(Template.java:384) at com.jmis.contentmng.common.web.springmvc.SimpleFreeMarkerView.renderMergedTemplateModel(SimpleFreeMarkerView.java:153) at org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:167) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1286) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1041) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:984) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:209) at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:244) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.frame.core.cache.PageEhCacheFilter.doFilter(PageEhCacheFilter.java:102) at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:86) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.frame.core.web.filter.XssFilter.doFilter(XssFilter.java:20) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1526) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1482) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)