软件研发项目外包管理方法论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件研发项目外包的管理方法
【摘要】软件外包近年来在国内的迅速发展,也带来了项目管理方面一些棘手的问题。文章就软件外包项目管理面临的项目过程管理、成本控制、人员问题、信息安全与知识产权保护等方面的典型问题展开探讨,并给出一些解决这些问题的办法。这些解决方法主要来自笔者作为甲方和乙方在实施外包项目管理的过程中
的经验总结。
【关键词】外包;项目管理;质量管理
0.引言
软件外包(software outsourcing)是经济全球化的一大特征,是社会分工不断细化和it技术发展相结合的产物,更是企业培育和提升核心竞争力的战略手段。软件外包最近几年呈几何级数增长。
在高度复杂的现代软件生产活动中,风险无处不在。软件外包作为软件生产的新方式同样存在各种风险。但是,存在风险并不可怕,可怕的是缺少风险意识和规避风险的手段。仔细分析风险的来源和特征,在软件外包的全过程实行动态和连续的跟踪控制,可以防患于未然,有效规避软件外包风险。
1.如何进行有效的成本控制
目前外包企业的成本问题主要来自以下几个方面:首先,由于美元贬值导致以美元计价的收入折算成人民币贬值。以2年前8.2元人民币兑换1美元计,按照当前1美元兑换7元人民币计算,同
等的按美元计价收入兑换成人民币缩水达15%。针对这个问题,很多离岸外包公司采取以非美元签订合同,并逐步扩大非美元区的市场份额来规避汇率风险。
另外,人力成本的上升使得外包的成本比较优势正在下降。几大主要接包城市上海、大连、北京的人力成本上升比较明显,在不提高原有单位工时报价的基础上,一些外包商已经开始在内地高校比较集中的城市开辟新的接包地。目前比较热门的备选城市有西安,武汉,成都,重庆,南京等地。
2.如何解决人力资源问题
虽然目前每年有大量软件工程专业和软件学院的毕业生进入
it 行业,但从软件公司的角度来讲,还是极度缺乏有一定研发经验的工程师。一方面,可以通过有竞争力的薪酬和激励,加强社会招聘,构建研发和管理核心团队;另外一方面,考虑如何通过校园招聘再辅以成体系的岗前培训,快速的输送合格的软件研发人员。
对于学校招聘的毕业生,针对测试、研发等岗位设置成体系的课程,包含测试与研发流程、通用测试技术、通用研发技术、针对性的业务领域知识、以及特定研发及测试技术。每类课程设置课程目标与相应的考核机制,在培训生完成为期一个月左右的培训后,要求以小组的方式和个人方式分别提交一个培训项目作业,以评估学员的学习效果从而决定是否结束培训进入项目组。在日常工作中采用各级导师制度,使员工能够在各自岗位上的能力得以持续提升。另外,发包方往往要求接包方具备快速组建团队的能力。针对
这种外包行业的特点,在预算范围内,适度的在各业务领域和技术方向进行人才储备,使得针对新业务、新项目能够快速组建团队。
3.如何解决外包行业项目间差异性带来的项目管理复杂性
外包行业往往涉及的业务领域很广,从金融服务到通讯业、物流与运输业、电子商务……。外包行业涉及的技术领域也很广,包含嵌入式,web,b/s,数字多媒体等。这样业务和技术方面的差异,决定了项目生命周期组织方式的不同,如采取瀑布,迭代,敏捷开发还是用户体验驱动开发;也决定了项目质量要求的不同,从电信军工级别的质量要求到一般的 oa 系统的质量要求。外包项目覆盖的项目生命周期的阶段也不尽相同,有全生命周期外包,产品研发外包,测试外包,运营维护外包等。外包项目的项目规模和周期差异性也非常大,从几百人团队规模,上万人月的大型项目,到一两个人的团队规模,一两个人月的短期项目。
外包行业的合同订立方式也很不一样,有工作量投入方式的外包、总价合同的外包、总价加变更工作量方式的外包。部分外包客户要求外包商全部或部分遵循他们的项目管理过程规范要求、采纳他们的项目管理工具和平台以及相应的技术规范要求。
4.软件外包的风险防范
4.1 发包商的风险防范
(1)制定切实可行的外包策略。在确定软件外包策略的时候,相关的内部因素和外部因素非常多,发包商要实现真正有效的外包,必须权衡各种因素和关系的影响,要对企业内部的财务、技术、
战略和时机进行全面的分析。如果发包企业内部没有满足外包要求的技能和资源,不能在内部实现较高级别的项目管理,则说明当前的软件企业没有足够的外包能力,不宜实行软件外包,否则外包失败的风险大于成功的几率。
(2)选择合适的承包商。发包商必须对承包商进行评估以决定其财务和营运方面的能力是否能够满足发包商现有和未来发展的
业务需求。在选择软件外包承包商时,必须对承包商支持软件外包业务的技术能力和水平、关键技术人员的综合素质和业务能力、业务处理的操作能力和控制突发事件的能力以及服务商的财务状况
等四个方面进行全面评估,以此选择业务能力强、信誉好的承包商。
(3)重视对承包商的监管。选择了合适的承包商之后,在合同的执行期间,应该重视对承包商的管理。成立监管小组,定期不定期地对合同的执行情况进行监督,及时补充修改发包商的业务需求,及时与与承包商进行谈判磋商;聘请第三方机构实现全方位、全过程、全天候地外包过程监控和控制,把关项目进度和质量。
(4)签订完整而灵活的外包合同。一份完整而灵活的外包合同是外包是否成功的基石。外包合同应具有充分的弹性以允许在技术和操作方面进行改革或应对技术甚至策略目标方面可能出现的变化。一般的外包合同应包括如下内容:明确软件外包服务的范围和灵活性的外包协议;明确双方在合同中的权力和义务,尤其要明确发生问题时的赔偿责任与解决争端的程序;合理的服务级别说明和度量;安全性和保密性的要求;突发应急事件的应急方案与具体实
施计划;限制外包费用增加和终止合同的权利;需求变更;价格调整方法等。
(5)核算和控制外包的综合成本。外包执行过程中,由于情况的变化可能会要求承包商做一些原合同中没有规定的额外工作,这会产生额外费用。签订合同前,应充分考虑这些因素,在合同中加以体现,防止承包商漫天要价,从而控制发包商外包的成本。
4.2 承包商的风险防范
(1)重视需求分析。承包商首先要对发包商的需求作认真分析,然后通过业务建模、会谈、问卷、需求会议等方式收集客户完整需求,形成文档,最后经过客户讨论、客户审查、文档修订等多次反复的过程以明确最终需求;对某些不明确的需求应与发包商一起讨论;对于项目实施过程中的需求变更,规定处理办法并使意见达成一致,形成项目的最终需求。
(2)加强与发包商的沟通。要保障外包业务的顺利进行,承包商应该保证合适的人员和组织时刻监控其内部关键人员的变动情况,尤其是其高层的变动,以便与软件发包商交流、报告进度和人员变动情况,使得双方内部的情况呈透明状态。
虽然软件外包成为企业提高竞争力的必走之路,然而目前我国企业软件外包的现状还不容乐观,软件外包的成功率还比较低,软件外包的风险随时存在。希望本文会给企业软件外包决策提供帮助。【参考文献】
[1]陆正中,马进德,石正贵,等.jbuilder 9 软件开发项目实