外包软件项目管理经验总结

建立良好合作模式

外包开发的软件不能达到企业的质量要求,我们往往会在第一时间把罪过推给外包商。但实际经验告诉我们,很多失败的原因是企业本身没有提供一套完整的软件系统规格说明、没有跟进开发的进度、没有定期与外包商沟通与协调、没有在开始时建立好质量指标和测试流程或者没有做出适当的技术和开发环境的评估。但最重要的一点,是没有在决定软件外包时处理好双方合作模式与关系的建立。

千万不要认为软件外包可以减少企业的管理时间。相反,外包项目有时需要双倍的管理时间。在我们决定外包软件开发的时候,我们首要决定是整个应用系统的开发由外包商承包,还是只有部分应用模块的程序交由外包商编写。前者需要管理整个外包项目的生命周期,跟企业内部软件开发的管理没有差异,只是开发的地点、环境和资源比较陌生而已;后者则需要了解企业本身是否能提供优质的规格说明、是否能够提供外包商所需的质量标准和测试数据、外包商是否有类似企业本身的开发平台和环境,以及外包商的技术资源水平是否与企业内部开发时所需的技术指数相符。明确自身所需和服务要求,是决定外包项目的先决条件。

选择适合的外包商,并不能单以服务价格来做最终决定。优质的服务需要付出较高的代价。企业应根据自身对软件质量的要求来决定服务的代价。按照国际企业的衡量指标,外包投入比本身开发的净投资(以各技术员工的基本薪资为标准,并不包括企业对员工所提供的福利、假期和奖励计划等开支)多付15%~20%。也就是说,如果企业本身开发需要30万元的话,那么合理的外包服务价格大概是34万元到36万元。

既然外包不能立竿见影地带来经济利益,为什么还要外包呢?最主要的原因是企业在项目完成后不需要继续照顾这批开发人员,不需要为这些开发人员提供福利条件。外包费用是一次性的营运开支,不像雇员薪资这样成为企业的长期营运成本。假如企业有些一次性的大型项目需要马上启动,但缺乏足够的资源,或者企业本身没有相应的技术人员来执行的时候,外包不失为一个可行的解决办法。

如何进行外包项目的管理

一些项目经理往往认为外包开发项目与企业内部开发项目的管理没有多大分别,唯一不同是外包项目需要更多时间去沟通、协调、跟进和监控。总体来说,这种想法是对的,但事实上外包项目的管理比企业内部开发项目的管理更复杂,担负更大的风险,需要更紧密的进度和质量监控。(相关文章:如何控制信息技术外包的风险?)

保障沟通

内部开发项目所需人力资源大致分为两组:一是技术人员,另一组是配合技术人员的业务人员(他们是所建信息系统的潜在用户)。外包项目除了需要部分技术人员和用户群体参与外,更增加了一组外包商的资源。有些外包商更会指派一名联络人员负责联系与协调,而他们的技术人员只在后方负责项目的开发。这种运作模式要尽量避免,因为外包商指派负责联系的人员往往是业务人员的背景,对技术的细节不能全面把握,把有关信息传达到技术人员的时候便会有所差异。所以我们的首要任务是让外包商明白负责项目联系的人员必须是开发小组的主管。这名开发小组主管是直接参与开发项目的主要人员,如此才能够有效地进行沟通和监控。

做好计划

项目经理首先需要做出一个详细的、完整的项目计划,并在计划中详细地列清楚每一件工作需要哪方面的哪些人力来共同执行。在计划中的每一个进度都需要进行确认才能继续。例如外包商在完成系统分析后,需要把分析的结果让客户理解,好让企业能够确认外包商对整个系统的理解和分析与企业本身对项目的需求和分析达成一致,这样才能让外包商进行其后的模块设计。不然设计出来的模块组合便有可能与企业的需求不太一样,存在质量和最后上的差异。这些差异也将会引发企业将来在系统维护、更新、增加功能模块、升级、集成等各方面的严重问题。

避免延误

要避免项目发生延误,计划中要预留足够的时间来进行上述确认工作。由于双方工作地点的缘故,原本只需一天的确认会议便可能耗费两天或三天的时间来完成。议程中所达到的共识也可能需要时间来让外包商做出适当的修改才能让企业正式确认。也只能在正式确认后才能够进一步继续接下来的工作。如果没有预留足够的时间用于协商,当一个项目经过七八个确认会议之后,也许已经延误了一个月的时间。

你可能感兴趣的:(设计模式,工作,项目管理,软件测试,企业应用)