基于工业工程角度谈软件开发外包项目

来源:期刊VIP网所属分类:工业设计发布时间:2021-03-17浏览:

  摘 要 最近几年IT行业的蓬勃发展,已经涌现出不少软件开发项目外包公司。一个软件开发项目通常要经历需求分析、设计、编码、测试等多个大的阶段。其中设计又包括总体设计,系统设计,详细设计等几个环节,其中还包括模块化之后的集成环节,整个项目还包含与专业或是非专业客户团队的沟通问题。项目整体环节复杂多变,管理困难,需要专门的项目管理方案与分析团队。

  关键词 软件开发 成本核算模型 风险控制 质量保证活动

软件开发论文

  随着高科技与信息化的发展,互联网已经被广泛运用到各个行业中,其运行载体“软件”更是渗透于生活中的点点滴滴。企业当然也要与时俱进,对各类的软件需求也越来越多,要求也越来越高,用以提高自身的核心竞争力。但是很多企业由于资金流短缺、技术低的局限,常会选择软件外包公司进行相关的软件开发服务。把信息化建设工作交给专业的服务公司团队去做,企业解放了这部分资源,把更多的人力物力集中在核心工作上。尤其是对于那些不可能投入大量资金和人力的企业来说,技术外包可以让他们更专注于研究自身的经营难题。由此软件开发外包团队应运而生,但随之而来的是外包公司对单个开发项目的项目管理问题。[1]

  1 项目整体管理

  1.1 软件开发外包项目简介

  著名通信与科技公司华为正在参与最新的第五代通信技术“5G”的研发,研发与应用进度领先于美国在内的多个国家的龙头通信公司,该公司有望成为“5G”的行业标准制定者。由于要做“5G”的商用,在研发与商用开发的的过程中产生了软件开发问题,尽管华为公司的规模庞大,员工数量多,但是许多软件过程更加趋向于过程模式化,如果花费大量的人力、财力在此上,则是得不偿失。根据已知资料,华为在“5G”研发上已经投入超过153亿美元,在如此巨额的研发成本下,为了加快开发商用进度节约时间与成本。许多的软件开发则是由外包团队承担,所以在这个背景下外包团队成功的项目管理就显得格外重要。[2]

  1.2 软件开发具体工作分解结构图

  外包团队的软件开发周期分为若干个阶段,每个阶段都可以分为启动、计划、执行、控制和收尾等五个基本管理过程。这些过程按一定顺序发生,彼此交叠。一般情况下,执行过程消耗的资源较多,持续时间较长,启动和收尾过程时间较短,消耗资源较少。但是软件开发则是不同,软件开发在代码实现阶段难度不是太大,更多的时间成本花费在测试与运维阶段。以下简单介绍了其主要阶段[3]和核心工作。[4]

  1.3 项目章程

  中文名称:华为软件开发外包项目

  立项时间:2018年11月

  外包团队:中软国际,博朗软件……

  外包软件数目:128个

  项目结束预计时间:2020年9月

  外包费用:15亿

  负责人:华为研发部经理,各个外包团队负责人。

  2 项目成本管理

  华为外包总投入约为15亿。

  2.1 软件开发规模核算模型

  2.1.1 面向規模的度量标准

  每KLOC(千行代码)的错误数,即总错误数除以总KLOC。

  每KLOC(千行代码)的缺陷数,即总缺陷数除以总KLOC。

  每KLOC(千行代码)的文档页数,即总文档页数除以总KLOC。

  2.1.2 间接测量—功能点度量

  功能点数从直接度量软件信息域和评估软件复杂性的经验量化关系中获得。

  步骤:

  ·先算未调整功能点总计数UFC

  ·再算功能点FP

  计算功能点(FP):

  total_counts:总计数

  Fi (i取1到14) :14项复杂性调整值

  2.2 基于规模完成成本核算

  算法成本模型-基于经验的度量:

  ●软件成本的算法成本模型

  Effort=A+SizeB×M

  ●A,常量,由组织的实践与软件的类型所决定。

  ●B,常量,取值范围(1,15)。

  ●M,常量,反应产品、过程与人力属性。

  ●Size,可以是软件代码规模的估算,也可以是功能点或目标点。

  3 项目质量管理

  软件的质量管理工作是一个系统过程,在实施过程中必须创造必要的资源条件,使之与项目质量要求相适应。各职能部门及实施单位要保证工作质量和项目质量,实行业务工作程序化、标准化和规范化。支持质量部门独立的、有效的行使职权,对项目实施全过程实行质量控制。

  软件质量是一个软件企业成功的必要条件,其重要性无论怎样强调都不过分。

  项目的质量保证活动由项目经理协调项目组长在软件的各个阶段中实施。

  4 项目的风险管理

  风险是一种潜在的危险。软件项目由于其自身的特点而存在风险,甚至是灾难性的风险。

  项目风险管理主要包括:风险标识、风险估算、风险评价、风险管理。

  4.1 风险标识

  识别潜在的风险,分别对以下三类风险进行提取、分析:

  项目风险。与项目有关的预算、软件开发进度、人力分配、资源、用户需求、软件规模、软件复杂性等方面的问题。

  技术风险。影响开发质量和交付时间的设计、实现、验证、软件测试、维护、用户接口等方面的问题。

  商业风险。包括与产品的商业运作有关的市场风险、预算风险、决策风险等。

  推荐阅读:SCI论文图片用什么软件做?

期刊VIP网,您身边的高端学术顾问

文章名称: 基于工业工程角度谈软件开发外包项目

文章地址: http://www.qikanvip.com/gongyesheji/56513.html