[size=medium]越是小的软件公司,由于分工不能太细的缘故,对项目经理的要求越高。因此,在小公司里要想做好项目经理的角色也是非常不容易的。从毕业到现在,本人一直在小规模的公司里供职,从普通的程序员到项目经理,再到开发经理,其中的感触也是非常的深刻。虽然,最后公司的规模也发展起来,但当时做项目经理的日子至今难忘,今天总结开来,与csdn的网友一起分享。
1.代码能力,包括解决技术难题的能力,编码速度和读别人代码的能力。
有的公司可能纯粹的需求或业务人员就可以做项目经理,但在小公司里这样的是行不通的。小公司人力有限,不可能让项目经理完全脱离于技术,因此项目经理必须承担起核心编码的任务,而且一切的技术难题必须得亲自解决或组织一定的资源进行解决,这个现实的问题必须面对,而且必须要有合适的答案。
另外一个,小公司对产品或项目的进度要求是非常苛刻的,不太可能有充足的时间让你按照正常的软件过程开展项目,但是软件的质量要保证。需求和设计必须仔细,并且不能太急,因此必须提高编码速度。也许很多的同行,尤其是刚入行的同行,在遇到程序异常或错误时,习惯于用开发工具提供的调试功能。我现在想说的时,这样做是非常浪费时间的。设计阶段项目经理要把尽可能会出现的错误想到,和成员沟通好,这样在程序编译出错的时候,尽量凭经验或记忆去解决程序可能除错的原因。这样会大大节省编码时间,当然这是以编码经验和记忆力为前提的。如果还没有足够的经验,就多多看看书吧。
在小公司做过得同行都应该有所体会,铁打的营盘流水的兵,有时候公司的人员变换就象走马灯一样,这应该是所有的小软件公司都可能会遇到的问题,然而再怎么变换,项目经理也要保证进度,保证质量。如果是在需求或设计阶段有人员离职还好,凭着经验还能把握住全盘。倘若是在编码阶段,更要命的是,编码就要结束的时候,这时候要是有人离职,项目经理的压力就很大了。所以,必须要有较强的读别人代码的能力,尤其是读那些新手们的代码,和一些不太听话的老手们的代码,否则,程序很可能就会出现重大的缺陷。
2.沟通能力。
作为项目经理的必修课之一,良好的沟通能力是必须要具备的,但在小公司里,只有良好还不够,起码要做到较强。这些公司的老总往往都是公司的首席市场人员,他帮你拿到项目后,有时候只是一个潜在的项目的,他只是帮你牵线搭桥一下,剩下的工作就都交给你了。如何在客户面前侃侃而谈,面面俱到是项目经理需要思考的问题。在项目完成交付后,维护任务同样不小,客户一有问题就会直接打到项目经理这儿来。有时候会打给公司老总,老总还是把电话转给你;有时候打给项目组成员,项目组成员会用求救的眼神忘着你,最后还得你来解决。遇到性格温和的用户还好对付,能尽快解决的就尽快解决,不能解决的就说点好话拖着。遇到脾气暴躁的用户,上来就一顿抱怨,有时候甚至还会粗口。你也就只能先忍着,等他发泄完了,再好言相劝,然后赶紧去解决问题。
另外一项,在小公司里,项目经历就是夹心层,你既要满足老板的的各项要求,又要安抚属下的情绪。大多数小公司大老板都是急功近利的,进度能提多快就提多块,花销能省多少就省多少。所以,大多数的程序员要干着非常繁重的活,却不一定能得到相应的报酬,更别提优厚的福利了,大家的情绪可想而知。项目经理这时候作为老板认为是最信任的人,就要发挥作用了。首先当然是要尽量开通老板,摆明厉害,但大多数时候这样做都是无用功,反过来只能在程序员的身上下功夫。动之以情,晓之以理,让他多看重公司的未来和个人的成长,不要只停留在目前的待遇上。这样的招数在新手身上是非常灵验的,本来新手在公司工作的目的就是为了锻炼,但在一些老鸟身上基本上就没有什么作用了,所以还得区别对待。总之,这个时候项目经理的沟通能力就起了非常重要的作用,总不能让项目组人心涣散,项目以失败告终吧?
3.文档能力。
项目过程中的文档,从需求到部署实施,项目经理必须要的全盘通吃的。这还不够,就像上面说得老板牵线搭桥后,剩下的就都要靠项目经理了。所以项目方案要出写,客户要的一些报价和产品对比资料要写,有时候客户要向其上级提交的一些申请之类的行文你也要帮着写,还有就是产品出来以后的宣传资料。所有这些,在一些大公司里都由市场人员活专门的文案人员分担了,但在小公司里,都是项目经理的活,勇敢的去承受和面对,在这个过程中,不断的提高自己的文档编写能力吧。
4.产品规划能力。
大公司里有CTO,小公司里就只有项目经理了。小公司大多是靠项目维持生计的,但也有青黄不接的时候,此时总不能让程序员天天放羊,老板也不会给一边给你钱一边让你搞内部学习之类的东西,即使没有项目,也得找些东西来做。而青黄不接的时间到底有多长,谁也不会预见,所以这时候项目经理的就要挺身而出,切实体验一把做CTO的感觉了。首先要有一定的技术和市场积累,还得有一定的市场嗅觉,做的东西周期又不能太长,也许某些小的管理系统或第三方控件是最佳的选择。总之戴着沉重的镣铐跳舞也必须要把舞蹈跳好,因为老板是要看营收的。
5.技术分析能力。
没有一个公司会在一个固定的规模下长期发展下去,要么辉煌起来,要么萎靡下去。还好,我曾经的东家是前者。公司的规模一旦起来,产品也就丰富起来的,不可能还像原来那样,只用单一的技术实现单一的产品。在遇到一个新的产品定位的时候,选择什么样的技术来实现他也就成了摆在老板和项目经理面前的现实问题,项目经理当然要在其中起到非常关键的作用,选择的开发技术或工具直接决定了产品未来和公司的未来,其承担的风险和压力可想而之,由此看来,丰富的技术积累和较强的分析能力是必须要具备的。[/size]
1.代码能力,包括解决技术难题的能力,编码速度和读别人代码的能力。
有的公司可能纯粹的需求或业务人员就可以做项目经理,但在小公司里这样的是行不通的。小公司人力有限,不可能让项目经理完全脱离于技术,因此项目经理必须承担起核心编码的任务,而且一切的技术难题必须得亲自解决或组织一定的资源进行解决,这个现实的问题必须面对,而且必须要有合适的答案。
另外一个,小公司对产品或项目的进度要求是非常苛刻的,不太可能有充足的时间让你按照正常的软件过程开展项目,但是软件的质量要保证。需求和设计必须仔细,并且不能太急,因此必须提高编码速度。也许很多的同行,尤其是刚入行的同行,在遇到程序异常或错误时,习惯于用开发工具提供的调试功能。我现在想说的时,这样做是非常浪费时间的。设计阶段项目经理要把尽可能会出现的错误想到,和成员沟通好,这样在程序编译出错的时候,尽量凭经验或记忆去解决程序可能除错的原因。这样会大大节省编码时间,当然这是以编码经验和记忆力为前提的。如果还没有足够的经验,就多多看看书吧。
在小公司做过得同行都应该有所体会,铁打的营盘流水的兵,有时候公司的人员变换就象走马灯一样,这应该是所有的小软件公司都可能会遇到的问题,然而再怎么变换,项目经理也要保证进度,保证质量。如果是在需求或设计阶段有人员离职还好,凭着经验还能把握住全盘。倘若是在编码阶段,更要命的是,编码就要结束的时候,这时候要是有人离职,项目经理的压力就很大了。所以,必须要有较强的读别人代码的能力,尤其是读那些新手们的代码,和一些不太听话的老手们的代码,否则,程序很可能就会出现重大的缺陷。
2.沟通能力。
作为项目经理的必修课之一,良好的沟通能力是必须要具备的,但在小公司里,只有良好还不够,起码要做到较强。这些公司的老总往往都是公司的首席市场人员,他帮你拿到项目后,有时候只是一个潜在的项目的,他只是帮你牵线搭桥一下,剩下的工作就都交给你了。如何在客户面前侃侃而谈,面面俱到是项目经理需要思考的问题。在项目完成交付后,维护任务同样不小,客户一有问题就会直接打到项目经理这儿来。有时候会打给公司老总,老总还是把电话转给你;有时候打给项目组成员,项目组成员会用求救的眼神忘着你,最后还得你来解决。遇到性格温和的用户还好对付,能尽快解决的就尽快解决,不能解决的就说点好话拖着。遇到脾气暴躁的用户,上来就一顿抱怨,有时候甚至还会粗口。你也就只能先忍着,等他发泄完了,再好言相劝,然后赶紧去解决问题。
另外一项,在小公司里,项目经历就是夹心层,你既要满足老板的的各项要求,又要安抚属下的情绪。大多数小公司大老板都是急功近利的,进度能提多快就提多块,花销能省多少就省多少。所以,大多数的程序员要干着非常繁重的活,却不一定能得到相应的报酬,更别提优厚的福利了,大家的情绪可想而知。项目经理这时候作为老板认为是最信任的人,就要发挥作用了。首先当然是要尽量开通老板,摆明厉害,但大多数时候这样做都是无用功,反过来只能在程序员的身上下功夫。动之以情,晓之以理,让他多看重公司的未来和个人的成长,不要只停留在目前的待遇上。这样的招数在新手身上是非常灵验的,本来新手在公司工作的目的就是为了锻炼,但在一些老鸟身上基本上就没有什么作用了,所以还得区别对待。总之,这个时候项目经理的沟通能力就起了非常重要的作用,总不能让项目组人心涣散,项目以失败告终吧?
3.文档能力。
项目过程中的文档,从需求到部署实施,项目经理必须要的全盘通吃的。这还不够,就像上面说得老板牵线搭桥后,剩下的就都要靠项目经理了。所以项目方案要出写,客户要的一些报价和产品对比资料要写,有时候客户要向其上级提交的一些申请之类的行文你也要帮着写,还有就是产品出来以后的宣传资料。所有这些,在一些大公司里都由市场人员活专门的文案人员分担了,但在小公司里,都是项目经理的活,勇敢的去承受和面对,在这个过程中,不断的提高自己的文档编写能力吧。
4.产品规划能力。
大公司里有CTO,小公司里就只有项目经理了。小公司大多是靠项目维持生计的,但也有青黄不接的时候,此时总不能让程序员天天放羊,老板也不会给一边给你钱一边让你搞内部学习之类的东西,即使没有项目,也得找些东西来做。而青黄不接的时间到底有多长,谁也不会预见,所以这时候项目经理的就要挺身而出,切实体验一把做CTO的感觉了。首先要有一定的技术和市场积累,还得有一定的市场嗅觉,做的东西周期又不能太长,也许某些小的管理系统或第三方控件是最佳的选择。总之戴着沉重的镣铐跳舞也必须要把舞蹈跳好,因为老板是要看营收的。
5.技术分析能力。
没有一个公司会在一个固定的规模下长期发展下去,要么辉煌起来,要么萎靡下去。还好,我曾经的东家是前者。公司的规模一旦起来,产品也就丰富起来的,不可能还像原来那样,只用单一的技术实现单一的产品。在遇到一个新的产品定位的时候,选择什么样的技术来实现他也就成了摆在老板和项目经理面前的现实问题,项目经理当然要在其中起到非常关键的作用,选择的开发技术或工具直接决定了产品未来和公司的未来,其承担的风险和压力可想而之,由此看来,丰富的技术积累和较强的分析能力是必须要具备的。[/size]