笔者最开始是搞对日软件开发,后来当国内软件项目的项目经理。在管理国内软件开发项目组过程中,遇到了很多管理上和技术上的问题,有很多困惑。刚好有机会去日本,带着这些问题我到了日本,希望能从日本人那里得到答案。有幸参与了很多日本项目的开发,从中学到了不少东西。回国后,应用到国内的项目中。总结出了这些现场经验。
不管是在日本和中国,小型软件公司都是占多数。中国与日本不同的是:中国的软件大公司很少。日本超过2000人的单纯的软件公司就有几十多家。其中有不少赫赫有名的公司。例如:富士通、NEC、日立、日本IBM等。而中国只有华为、中兴和用友等。
日本大公司有很强的实力,可以自己定义成体系的软件开发的管理模式。并且能够执行到位。
大公司通过分包模式,帮助小公司提高了管理水平。日本很多小公司管理也十分正规。
而国内的很多小公司的管理可以用混乱来形容。没有形成一个成体系的管理模式。还处于自发的总结阶段。
受公司规模的限制,很多国内的软件公司接到的项目都是几个人到十几个人参与开发的小项目。
公司内同时实施多个项目。
很多项目都是击败了众多对手获得的,当然价格不会很高。成本压力很大。
受公司规模和成本的限制。公司经常出现,项目马上签约了,项目经理还没有找到。
不可否认,技术人员涨工资最好的办法是跳槽。经历了2009年萧条后,现在招人的公司很多,很多公司都能提出有竞争力的工资。跳槽现象重新抬头。
中国中小软件公司处境就是如此。如何同时管好几个甚至十几个项目。是技术副总面对的问题。如果项目很多,单个技术副总管理不过来,可以下设项目总监。
下面探讨技术副总/项目总监如何管好多个项目。
谈到软件项目管理,首先面对的需要那种软件技术人员来组成项目组。很有意思的是,笔者查阅了很多本软件项目管理的书,很少谈到这个问题。
在实际中,由于国内的项目经理通常都是技术出身,经常提出要由技术高手组成团队。这样的团队,存在的问题:技术高手跳槽容易,工资高,经常间经常互不服气。
在《人月神话》这本书中,介绍了外科手术团队的组成方式。到日本后笔者发现,日本的很多团队都采用了类似的结构。
笔者提出了一个类似的结构,1个项目经理 + 2个技术高手 + 5到7个普通技术人员(二本以下新毕业的学生)。
项目经理负责协调和指挥,技术高手负责解决高难度的问题。普通技术人员解决一般技术问题。
很多中小软件公司由项目经理按照自己的流程和规范来开发软件。导致了7个项目经理7种流程规范。直接导致了难于更换人员,难于维护,难于监督等多种问题。
技术副总/项目总监用标准化的方法解决这个问题。在公司内定义统一的流程和规范。
制定适合自己公司的优秀的流程和规范并不容易。可以先有统一的流程和规范,然后不断地完善和优化。
笔者的经验,对于中小软件企业,用范例来定义和说明流程和规范,比采用条文方式来定义,效果会更好一些。
技术出身的项目经理,喜欢通过下属的灵性来解决问题。可以帮助他们理解:通过流程来解决问题,效果更好。例如:笔者参与的一个日本大型开发项目,处理逻辑相似的程序,注释的位置和内容都是相同的。日本人是通过一系列的管理流程,保证了代码的一致性。
严密的计划,对项目管理很重要。每一本软件项目管理的书籍在这方面都介绍的很多。这里就不多谈。
如何监督实施计划是难点。对技术副总/项目总监来说,监督的关键是抓住评审环节。
建议技术副总/项目总监应该要求项目组和组员每天都写日报,每周都有周报。
很多人对此都面有难色。认为技术人员写日报难以实施。
技术副总/项目总监不仅把日报作为监督工具,还经常通过日报来发现解决项目中存在的困难,做到有利于项目的管理和沟通。实施起来难度就会下降。
技术副总/项目总监的时间和精力都是有限的。监督和管理好众多项目是很艰难的。通过透明和公开的方法,借助各种外部机制可以扩大监督的范围。
例如:把项目文档,日报和程序都放到SVN上。让销售部的Sales也能全部看到。Sales有动力去监督项目的进展。因为这关系到他的佣金。
丰富的文化活动,良好的工作氛围也是留住人才,提高开发效率和团队凝聚力的好手段。特别是在难于调整工资的情况下。
文化建设有很多方法,定期小组聚餐,搞体育活动,外出旅游,表彰先进工作者等
项目经理主要关心项目的进展。而在项目开发中获得的知识和技能在整个公司内共享和传承,从而提高整个公司的技术能力,是技术副总/项目总监的重要职责。
可以采用的方法:
1定义公司自己的开发框架,把知识和技能融入开发框架。
2 设立良好的培训课程。
3编写解决问题的文档。可以指定专人从下面文档中收集和整理。
QA(Question&Answer)列表
BUG列表
课题列表
项目总结报告
4制作良好的文档范例和编程范例
对于中小软件企业的技术副总/项目总监的能力要求。笔者总结如下几点。长期的经验积累和丰富的阅历才会具有下面的能力。所以至少应该有8年以上的工作经验。推荐35岁以上。
中小软件企业的技术副总/项目总监是需要懂技术的。因为需要把握技术路线,更快速的决策,更容易与技术人员沟通,丰富的第一线的经验,管理过很多项目。
这不需要多讲。
良好人品和职业道德有利于公司的发展。以德服人、以理服人对软件项目管理非常重要。
中小软件企业经常通过外部招聘的方法来组建团队。这就需要:
懂招聘的技巧,包括筛选简历和面试的方法。
懂培训的方法和技巧。
掌握劳动法。
通过项目组内部的文化建设,更好的管理人和凝聚人。
更好的与销售部和客户沟通。化解销售人员和项目组间的矛盾。
项目的完成需要各方的协调,有销售部、财务部和人力资源部等等。技术副总/项目总监需要帮助项目组协调各方面的关系。