对于国内大多数软件公司,一人身兼多职是很常见的事情,当然我也不反对,完全没有异议。一人身兼项目经理和架构师更是普遍的,所以只拿项目经理与架构师两个职位做个案例分析。
每当我带新人的时候,我都会首先问他们一句“你了解哪些技术,对什么感兴趣,以后想干什么?”,了解到这些,我才能更好的把相关知识点暴露在他们面前,至于他们能获取多少,我也不会多加提点,一切都点到为止,我是个“无良导师”嘛。新人的起步很重要,无论是对企业,对团队,还是对他们个人来说,特别是刚从学校出来的童鞋,筑基好坏直接影响他们一生。
工作中,我们要分清项目经理与架构师的职责和看事物的颗粒度。项目经理与架构师都得做到对全局的把控,只不过一个从资源调配层次,一个从技术调配层次。现今,国内一些企业对项目经理要求过于简单,他们认为项目经理需要有很深的技术功底,有个几年工作经验就可以,架构师要求同上。不要笑,很多招聘网站职位要求都是这样,好多企业此时都在演绎。我曾今参加过这样一个项目,项目经理自身技术很强,项目业务一般,但那个项目大家维护得很累,比预期拖延了一半的工期,客户满意度很差。
究其原因:1、项目过程管理很差,源代码有丢失,编码规格各不相同,修复bug很困难,基本是重新设计;
2、项目没有合理测试,业务逻辑基本没测;
3、项目没有基准,没有验收标准,客户可以任意变动需求;
4、项目前期成本控制不当,维护成本急剧上升。
其实对于个人来说,我们要有明确的职业规划。我为那个项目经理感到可惜,他的技术很强,但他放弃了他的强项。资源与技术的调配都不是一个简单的过程。项目经理需要对团队人员性格做到了如指掌,对客户业务做到胸有成竹,对组织成本做到合理控制,对过程风险做到及时防控,这最基本的事情做好才能正确调配资源。架构师需要有很深的技术功底,对相关领域应该耳熟能详,这样才能把客户业务融入到技术中,用熟悉的技术表达客户业务。分清两者的职责,做好各自的职责,我们才能把项目做得更好。上面我也说过,我不反对项目经理与架构师可以由同一个人担当,对于资源缺少的企业,我能够理解,但是这样对这个担当者的要求就非常之高、非常之严格,他要随时切换自己的思维,从不同维度思考问题。项目经理与架构师抉择,对企业项目至关重要。记得做过的一次关于车道管理的集成项目,用户场景是:“在现有高速公路运行的收费系统上,加入对货车计重收费的业务,不能影响原有的业务”。对于这种业务变更场景,大家项目中都常见。当时的项目经理是勇哥,架构师是东哥,他们管理与技术分工很明确,那段时间也是我技术转折点。现在我工作的好多经验都是借鉴他们的。 车道管理采用领域驱动设计开发,各个模块领域模型边界都很清晰,加入计重业务对现有模型基本没有改动,很少出现牵一发而动全身的情况。交付时,全省收费站试运行三天便正式应用。
项目经理与架构师,其实好比篮球队的教练与队长。祝大家在比赛中折桂,在比赛外开心每一天。
我的目标是:架构师,首席! ——Aaron.Pan 2013/05/19