以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 软件工程论坛 』   (http://bbs.xml.org.cn/list.asp?boardid=48)
----  [转帖]初为项目经理的经验与大家分享(一)  (http://bbs.xml.org.cn/dispbbs.asp?boardid=48&rootid=&id=35663)


--  作者:xiaofeng
--  发布时间:7/16/2006 1:51:00 PM

--  [转帖]初为项目经理的经验与大家分享(一)

这一天终于来到了:你从一个一线开发人员被提拔为项目经理。也许你一直在期盼,也许你心里还忐忑不安,也许这是你的职业发展选择,也许你只是不情愿的答应老板“试一下”。不管哪种情况,可能你并没有项目和人员管理及领导的教育背景或者培训经历。

领导和管理(这两者是不同的)远非简单的与Dilbert
的老板背道而驰(译者注:Dilbert 是一个漫画人物,以“拥有”一个“白痴老板”而著称)。当你计划如何做好项目管理时,考虑采取以下列出的行动。也许你想做的事情很多,但下面的这些建议会帮助你集中到那些能提高效率(你自己的效率和团队的效率)的事情上。

设立优先级

你要着手的第一件大事很可能就是有意识的设立你作为项目经理的优先级。尽管你可能因为各种原因还需要很大程度上参与软件的开发,但除此之外,你还有一些新的职责。很多新任的项目经理都摆脱不了技术的诱惑,以致忽略了项目成员向自己寻求的帮助。

富有效率的项目经理知道,他们最高优先的就是为项目成员提供服务。这些服务包括:指导和教育,处理冲突,提供资源,设立项目目标和优先级等等,适当时也要提供技术指导。我发现,把自己视为为成员工作,而非监工是很有价值的。不管你正在做或者将要做多重要的事,来你这儿寻求帮助的项目成员应该有“非屏蔽中断” (译者注:非屏蔽中断是一个硬件术语,此处意即最优先的)优先级。

你第二优先的是让你所在组织的客户满意。作为一个项目经理,如果你不再涉足产品的一线开发,也许你很少有直接的机会可以让客户满意。但你必须为你的项目成员创造一个环境,使得他们在这个环境下工作,可以最有效的满足客户的需求。这是项目经理的一个重要职能。

你第三优先的是你自己的事情。可能是一个与项目有关的技术问题(当然也是你感兴趣的),也可能是你的老板要你做的某件事。但当这些事与上面两个较高优先级冲突时,你要做好延后处理的准备。


你最低优先的是那些纯粹取悦你的老板的事情。在一个正常的组织(非Dilbet 式的组织)中,如果你做好了前面所说的更重要的三件事情,你的老板已经是非常惊喜了。尽管并非每个人都那么幸运可以在一个“正常”的组织工作,但还是努力做好这三件最重要的事。把注意力放在尽可能的帮助下属富有效率--
并且快乐-- 上,而不是取悦于那些“上面”的人。

分析你的技能差距

初为项目经理,通常你会意识到你在领导和管理技能方面的差距,除非你已经为这个新职位做了充分准备。你有很强的技术背景,可能这也是提拔你领导技术团队的一个原因,但你还需要一些其他的技能。你需要客观的评价自己的长处和短处,并且着手缩小自己的差距。

做软件的人常常被认为缺乏出色的交际能力。你需要加强你的人际处理能,诸如调解矛盾、说服他人、“推销”自己。你需要应付一些不想应付的场面,比如解雇你的下属、在进度上“讨价还价”、为争取下属的绩效“吵架”。

伴我开始经理职涯的是倾听(Listening)技能的课程,我觉得很有价值。一线开发时,往往我们都有过人的精力来表达自己的技术观点。但作为管理人员,更需要一种包容和聆听的工作风格和交流方式。然后,从“听”的位置走到“说”的位置,你需要提高你的演讲(Presentation)技能。如果你对在公众场合演讲感到不适,你需要接受一些专门的演讲培训。这对你今后的工作很有好处。

作为一个项目经理,协调他人的工作、计划和跟踪项目、必要时进行项目回溯并采取纠正措施等等都是你的职责。可能的话,接受有关项目管理的培训,学习如何设立优先级、如何主持高效的会议、如何明白无误的沟通等等技能;多看一些项目管理和风险管理的书籍和杂志,比如Project Management Institute 的月刊《PM Network》(译者注:你也可以从《PMT 评论》获得大量有价值的软件项目知识)。你还可以从SWCMM(软件能力成熟度模型)中找到很多有关软件项目管理的有用建议。


定义“ 质量”

尽管绝大多数人都认真对待质量,也想生产出优质的产品;但是,有关软件质量的定义仍存在很大争议,比如高质量是“足够好”还是更为经典的质量观点--“无缺陷”。为了领导你的团队走向成功彼岸,你需要花些时间和你的下属以及客户一起来明确,对于他们,质量意味着什么。

你的下属和客户是不同的两帮人,他们很可能对质量没有一致的看法,也就容易抱有不同的目的。如果客户很强调交货期,那他很可能没有耐心听程序员解释为什么需要额外的时间去检查每一行代码。如果客户看重的是软件的可靠性,那他在增加功能和减少Bug之间多半会选择后者。如果客户习惯了老版本的键盘操作,那他很少会对新的图形操作界面感兴趣。

在我曾经负责的一个项目中,为了更好的了解客户的质量要求,我举办了一次开放式讨论会(Open Forum),除了项目成员和客户参加外,我还客户的上司们一起来参加讨论。这次讨论很有价值,因为我们发现很多原有的想法是和客户真正的质量需求背道而驰的。了解这些想法的差异,使得我们可以把力量集中在让客户满意的事情上,而不是放在让“开发满意”的事情上。

软件质量通常被理解为合乎规格说明,满足客户需求,以及在文档和代码中尽量少的缺陷(Defect)等等,这些都是比较“经典”的定义。“六西格码质量”(Six-sigma Quality,译者注:是一种质量标准及相应的质量管理方法)为缺陷密度(Defect Density)和/ 或失效率(Frequency of Failure)设定了一个很高的标准,但是,它没有涉及质量的其他方面,比如交货期、可用性、特性集和性能价格比等等。无论我们是作为生产者还是消费者,我们都希望产品的质量在所有这些方面都是尽量高的,但事实上,我们总要在其中做出权衡和选择。

我们在需求阶段就考虑,对于客户哪些质量特性是重要的,并把它们列举出来(比如,交互性、正确性、易学性等)。然后,我们找来一些关键的客户代表,请他们对这些质量特性打分。这样,我们就可以掌握哪些质量特性是最主要的,哪些是次要的,从而就可以有的放矢,为这些质量特性而优化设计。

我听说的更有意思的一种软件质量定义是“客户回来的,但产品没有”(the customer comes back, but the product does not)。和你的下属以及客户一起定义合适的质量目标,一旦定义了,则要不遗余力的为达成这些目标而努力。也要以身作则,以高标准要求自己。记住这句话: “非完美不争取,非卓越不满足”(Strive for perfection; settle for excellence)。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
4,730.469ms