Archive

Monthly Archives: April 2011

问:TL工作职责到底包括什么?

T字决定了TL工作的大部分职责都是围绕技术展开的。

交付方面TL需要及早察觉技术风险,通过技术公关去解决技术风险。关注架构,以及架构有没有落地,实现的如何,需要怎么调整。

流程方面TL需要持续关注提交纪律,持续集成的纪律,代码质量,测试纪律。

客户方面TL要有能力需要推动技术方案,对于客户提出的业务需求面临的技术挑战及时提出意见,把团队建设成为客户的技术建议者。

团队方面TL要关注团队的技术能力成长,扎扎实实通过结对编程,培训等方式,方法传授工作方法。

还想聊聊得是TL要警惕和项目经理永远一个鼻孔出气,在我看来,他们代表着两种不同得利益和力量,短期利益(交付)VS 长期利益(技术投资,人员投资),需要不断博弈才能形成健康得平衡。考虑到交付通常是最强势的,TL一定要时刻敏感得察觉交付压力对技术方案、成员成长、个人情绪上造成得影响,在大多数情况下,TL是团队成员中最有资历人,他最有力量改变项目经理想法,

熊节在InfoQ上发表过一篇Tech Lead的三重人格写的很详细,推荐读一读。

问:PM的工作职责到底又包括什么?

交付方面PM 需要根据速度不断调整发布计划,跟客户磨范围,保证项目在发布前要技术就绪以及业务就绪,扫清项目前进道路上的任何障碍。

流程方面PM 开发流程就不再多说了,PM大都对流程足够重视了,要单独说说的是付款,我常常把它当作和客户关系的晴雨表看,及时付款说明客户对我们的工作还是比较认可的,良好的现金流也是公司能够把业务继续下去的有效保证。

客户方面PM需要不断尝试把团队从外包商的地位中脱离出来,成为客户可以信任的建议者,另一方面要注意客户满意度 = 感知 - 期望,不能单纯靠不断交付更多,更好的功能取悦客户,适当降低客户的期望也是一样重要的,保持项目的透明(standup meeting, showcase, IPM and etc)是一种有效的保持合理客户期望的方法。

团队方面PM需要和RM及早沟通,需要多少人,释放多少人尽早的给RM一个计划,有助于公司的合理的计划资源。还要了解每个人的心理需求,谁想作前端,谁想多做技术公关,谁家有小孩儿要早走都是PM该关心和考虑的。

项目管理方面的书太多,经典著作譬如人件,人月神话等大家可能都不陌生了,在我看来项目管理的黑暗面在于当项目管理者开始脱离项目的实际工作,项目将不可避免的、可悲的成为excel里面的数字游戏,更多的邪恶PM相信他们可以通过改变数字的方式改变现实,永远不要成为这样的PM!!,现场管理者要多了解现场,在现场管理,而不是躲在会议室里面开会写报告。

问:如何完成从Dev到PM/TL的转换?

做我们上面提到的工作,再就是心理层面要认识到PM/TL作为基层管理者,你所面对的世界已经不再是非黑即白的计算世界,数学世界,而是充斥着很多灰色区域的需要经验和对上下文的了解去灵活掌握的区域了,很多时候要放下自己的喜好(特别是技术喜好!我爱iBatis不爱Hibernate之类),多去听听现场和团队的声音。

问:有个具体问题,作为一个TL,团队现在的技术栈我没啥经验,怎么办?

没特别好的办法,要做TL,技术视野一定要广,平时要多积累,每年学一门语言是没错的,再就是如果你对某种语言和周围的生态环境有比较深刻的理解,你会发现不同语言,框架背后面对的问题域是非常相似的,原先的经验绝对能派的上用场,而把时间花在积累语言,特定产品的Tips的“专家”(通常是微软技术栈)往往在这时候就抓瞎了,把技术钻深是正确的,宽展视野是正确的,要有一个T型的技术领域。

此外,早点上升问题,引入外部的专家做短期的支持也是很好的解决问题的思路。