2、对问题的思考角度
开发人员和非开发人员思考问题的角度通常是不一样的,这里笔者并是强调项目经理非要按照开发人员的思维考虑问题。比如项目 经理在跟客户交流的时候是绝对不能用开发人员的思维跟客户交流的。但是同样的问题如果你在跟开发人员交流的时候,能够按照开发人员的思维方式表达出来那么结果是皆大欢喜。由此可见技术能力对项目经理是比较重要的。
3、统一的描述语言
目前的开发实践中似乎缺少一个统一的思维表达方式,RUP,UML似乎并不能完全解决我们的问题。“用户不懂java,同样也不懂UML” 因此项目经理的技术能力就跟显得重要了。他能够把用户的要求用程序员的语言表达出来。
综上所述有管理才能的技术高手来担任项目经理还是比较合适的。
讨论完中小型团队中的项目经理,下面我们来探讨一下中小型团队中的主力-程序员。他们应该如何组织呢?
笔者个人认为有以下几点可以参考
1、如果开发团队的人数小于5人,那么有项目经理直接领导。
2、如果开发团队大于六个人可以将它们划分为若干个小组每个小组不少于三人不多于5人,同时每个小组设组长一名。这里笔者提醒大家都是,在一个小组中组长的技术能力要高于组员,不要让小组中存在和组长技术能力不分上下的人。这样不利于小组的和谐。诚然,现实的工作中有很多李云龙,赵刚似的好担当。但是那确实很好,我们没有必要冒这个风险。
3、在项目的开发过程中有很多需要进行技术攻关的任务,这个任务通常是项目经理一人来搞定(条件是他有这个实力)或者有些团队会设定专门的技术攻关小组。笔者并不反对这一点做法,只是如果在条件允许的情况可以将这些任务适当的分配到各个小组,这样能让每个开发团队的成员都有机会接触到新的东西,毕竟没有谁喜欢一直调用别人的API。