软件外包项目管理指引
如果不去亲身经历几个外包项目,读者是难以想象这种”焦油坑的恐怖。外包项目因为规模较大,涉众较多,在管理上往往更为复杂。本文,阐述外包项目的特点以及笔者的管理经验,希望能便帮助读者管理好外包项目。
1 项目中常见的问题
常见问题 | 现象 |
外包项目中凸显的一些问题 | 现象 | 解决方法 |
2 项目管理经验总结
- 促成一致意见 多数外包团队看中的是程序员编码能力,而不是合作的能力。PM需要做两件事情:第一,确保讨论不要被一个人或一种言论所支配,当然共识的除外;第二,帮助不敢发言的人或说不清楚的人表达他们的意见。PM大多时候需要促成团队的一致意见,如对编码规范,周知的项目组约定等。促成一致意见需要轻度的领导,高压政策下的一致意见,不能反映出团队的意愿。PM在促成一致意见时最重要的是保持中立。需要知道,集体的决策比从集体中的个体独立做出选择更具有风险倾向。如果将这种决策模式应用与软件项目,很可能会看到这样的结果:更复杂的结构和算法、过度的质量、过度的扩展性考虑、范围浅变等。这是因为开发者并不会考虑项目的整体维度,而只会关心编码。因此,对于PM促成一致意见,不等同于从众或折中,有些时候单独的做出决策才是对的。因此,并非所有决策都倾向与群体决策,群体决策会产生一种负面影响,即——个人贡献和能力将降到最低。作为PM应该,清楚这种负面影响,并为团队营造一种鼓励和支持”创新的大环境。不要让团队中形成小的团体对立,这样,任何人的出头行为都很招致小团体成员的怨恨。这种现象在外包团队更为明显,因为可能源自不同公司,会不同时间入职。不要让这种风气在团队中成为主流。另外,不要轻易的折中,因为折中往往会失去亮点。
- 明确优先级 PM必须面对现时,项目是技术和经济结合的产物,受制于多方制约,需要综合分析这些制约因素和用户诉求,制定合理的优先级。
- 为团队争取好的办公环境 外包团队的工作环境通常比较恶劣。IT业公认的:更安静、更宽松的工作空间对提高编程效率有作用。如果能够让团队整体在一个独立区域办公应该是极好的了。但我们也得面对现时,外包团队不会有很好的待遇,因为,至少作为PM我们应该争取不要让团队分散,因为那会提高沟通成本,和沟通中的噪音。另外,被分出去的开发者会感到孤立,进而与其他人员疏远,长期下去不利于团结成员间的协作。
- 让开发人员少受打扰 编程是一种耗费脑力的持续活动,开发者不喜欢被打扰,愿因很简单,打断思路会影响编码。所以,很多时候大家会听到程序员抱怨说”我不是网管。在外包团队中,打扰就不那么简单了。程序员与关键用户的比例是极其悬殊的,开发者会经常被打扰,解答各种无聊问题,甚至和甲方闹矛盾。这不是个好现象。PM需要做两件事情:第一,明确角色职责,并让甲方人员清楚,有问题了该找谁,不要一个问题在团队中踢皮球;第二,明确向甲方表示,投诉直接找PM,走投诉流程,别单独去和开发者理论,如果矛盾激化,之后很难处理。
- 管理牛仔 无疑的,牛仔程序员是能力很强的,但却缺乏团队合作概念。牛仔程序员如果放任不管,那么他往往会写出别人难以理解的代码。他们特立独行,不愿与人合作,并且喜欢在代码中烙印自己的风格。虽然程序员们都有强烈的性格倾向,但牛仔显然更加突出,他们往往不是那种喜欢与人交往的类型。牛仔程序员具有以下特点:他们反对任何形式的标准、约束和规范,不喜欢受他人的监控,也不喜欢和他人协同开发。追求创造性多过考虑软件可用性、可靠性和成本。外包团队中,不要去尝试改变牛仔程序员,这不是短期能做到的。牛仔对团队是否有益,取决于PM。好的实践是:第一,将整个工作分解,把相对独立的、具有挑战性的工作分配给牛仔。这些工作应该尽可能独立,与其他工作之间只存在简单的接口,不需要与其他人员频繁的沟通;第二,对他们的工作进行监督,不能忽略这些牛仔的存在;第三,不要用领导的口气当众压制牛仔,因为他们往往固执己见且自负,最好在私下约谈。
相关推荐
飒水飞月 2020-04-20
coolham 2020-02-11
mohanzb 2019-12-15
SusanXu 2019-11-17
yanglin 2012-05-16
laj0 2011-04-23
phpboy 2010-04-11
upzhai 2010-03-30
laj0 2009-09-17
thug 2019-06-30
CherrylinORC 2013-09-12
燃烧的梦 2016-09-01
homesmile 2016-07-16
软件产品W 2019-06-21
hraceo 2011-10-25
dctrue 2009-12-08
uuussseeennn 2018-09-28
塔隅蜗牛 2018-08-01