HI,欢迎来到期刊之家,学术咨询热线:18516839303
按期刊之家发行地区分类查找

关于中小型软件企业的软件项目管理过程研究

时间:2023-04-12 15:22:00

本文分析了国内中小型软件企业在企业体制和人力资源等方面特点,指出了中小型软件企业在开发软件产品时应用项目管理和软件工程方法管理软件项目的差异,提出了其软件项目管理过程改进模型。

  论文关键词:软件项目管理;中小型软件企业;软件过程改进

  目前中国软件的应用已经深入到企业和以技人们日常生活的方方面面,其中大量的软件开发是由中小型软件企业承担。由于中小型软件企业的企业体制和人力资源、投入力度和关心程度等差异,在开发软件产品时与专业软件企业有很大的不同,因此对中小型软件企业的软件项目管理进行研究,有助于提高其软件项目管理水平,增强客户的满意度。

  1软件项目管理与中小型软件企业

  软件项目管理既具有一般项目管理的属性,又具有其特殊性,重点在于标准制定和推行。为了加强我国软件业的国际竞争力,需要发展一大批具有遵循开发过程与注重质量的文化氛围的软件企业,而制定和推行标准的目的正是要引导软件企业逐步走向成熟,使其工程和管理水平稳步提高;同时为它们提供全方位的服务,以支持软件产业的整体发展。
  软件项目管理在20世纪70年代中期引起了广泛的注意。当时美国国防部曾立题专门研究软件项目做得不好的原因,发觉70%失败的软件项目是因为管理不善而引起的,而不是因为技术实力不够,进而得出一个结论:即管理是影响软件研发项目全局的因素,而技术只影响局部。软件程序员往往没有很好地了解用户的意图就匆匆进行编码,因而在编码过程中不断修改代码以适应客户的要求;这种修改在越接近开发后期付出的代价就越高,即使是已经完成、交付用户使用的软件,也会存在各种隐藏的错误和缺陷,于是程序员就像陷入了可怕的泥沼中,这就出现了所谓的“软件危机”。
  目前国内的中小型软件企业由于规模、研发能力等限制,造成在软件开发中管理存在问题非常普遍。不恰当的组织结构、工作流程不规范、没有项目管理概念和软件工程概念等是中小型软件企业面临的主要问题。

  1.1中小型软件企业中软件开发的特点
  国内的中小型软件企业虽然涉足软件开发业务,但对软件的认识仍只停留在“程序员编一些代码”的水平上,企业内部软件开发缺乏管理意识,具体表现为:
  1)项目负责人的项目管理经验不足;
  2)项目功能相对较少,涉及面相对较狭窄;
  3)开发人员较少,人员结构简单;
  4)开发周期较短;
  5)项目进度缺乏控制;
  6)项目成本预算较难;
  7)缺乏完整的项目文档;
  8)缺乏后续维护。

  1.2中小型软件企业中的软件开发组织
  与专业软件公司的软件开发组织相比较,中小型软件企业中的软件开发工作机构小、人员少,开发人员待遇低,难以吸引高水平的人才,人才流失率达到50%以上。由于没有高水平的开发人员和技术管理人员,软件工作状况处于初级的水平,软件开发不能按照软件工程的要求执行。在软件系统建立过程中需要多方面的人才:需求方人员、懂得软件项目管理的人员、软件程序员和系统分析员,普通企业由于对软件生产不了解,往往由软件需求提出方人员对软件工作直接管理,这个工作显然超出了其能力范围,不符合软件工作的相关原则。业务人员作为项目的负责人,既不能合理地计划软件开发工作,也不可能管理好软件工作中的各种风险,这将致使软件开发处于无序的风险之中。
1.3中小型软件企业中的软件开发沟通
  在需要团队协同工作的今天,沟通已经变得无比的重要,在软件业,沟通可以说是快速学习和掌握新知识、达到技术上更高层次的最佳途径。如果小组成员在协调上出现漏洞,将可能导致很大的问题,所以项目负责人必须随时监控备开发人员的工作,包括开发内容足否与要求发生偏差、开发进度是否滞后,等等。
  项目沟通管理指出“:“管理要将70%的时间用于与人沟通,而项目经理需要花费90%或更多的时间沟通”。在企业中,软件经理大多是技术骨干,而软件组成见也都是“高科技人员”,都具有“从专业或学术发、工作自主性大、自我欣赏、以自我为中心”等共同的特点,因此妨碍沟通的素主耍足“感觉和态度问题”,也就是沟通意识和习惯的问题。在系统的实施阶段或软件开发的试运行阶段,项日成员基本上足持续地在客户方进行工作,在这种情况下非常容易忽视沟通项目组与组织之间、项目组与项目组成员之问,甚至同一个项目组的不同成员之间如果没有足够的沟通意识和沟通制度、沟通工具,就有可能造成信息不畅,从而加大项目失败的风险。中小型软件企业开发人员少,意味着不同人员在程序之间交互、接口相对少一些;开发周期短,意味着往往是同样的几个人从头到尾负责一个项目。这两者都让人容易犯错误,往住是几个人碰一下头,讨沦一下最基本的数据结构、函数接口,便分头去做自己的工作了,没有一份较正式的书面文档,缺少文档资料或者文档资料不规范是软件项目管理中普遍存在的问题。由于讨沦时忽略了某些情况,待大家部按当时的分工完成属于自己的工作后,有可能才发现各个模块组合起来却形不成一个完整的系统,其根源就在于没有一个负责总协调的人员不断监控整个丌发过程。如果在项目开发过程中一旦有人中途退出开发队伍,其他人加入时,新来的人难以理解之前的人所编的代码,往往索性自己从头来。

  1.4中小型软件企业中的软件开发工作流程
  与一个标准的软件开发流程相比中小型软件企业内部的软件开发“节省”了不少步骤,例如不经过单元测试而直接进人系统测试等。造成这一现象的原因是每个模块相对比较简单,但是为了测试一个摸块需要建立一些测试环境。如为了测试一个函数是否正确,应该用一些测试数据而去调该函数,则需要编写一些测试数据,但很多开发人员嫌麻烦,觉得反正其他模块也很快出来了,直接用真正的数据来运行几次就行;当一旦直接进人系统测试,发现运行结果不正确将需要一步步查找,由于模块问的调用关系,可能查了很久才能发现是哪个摸块的问题。这种方法一来效率比较低,大量的时间花费在查找错误;另外由于这种测试不完全,当真运行系统调用某模块时,可能在大部分情况下数据都是正常的,极少现边界情况,某些边界情况容易被忽视,很久之后才可能被发现,但是如果在对每个模块进行单元测试时都进行一下边界测试,就会很容易消除一些隐患。

  2中小型软件企业软件开发过程改进模型

  软件开发模型是软件开发全过程、活动和任务的结构框架,它能直观地表达软件外发全过程,明确规定要完成的主要活动、任务和开发策略。一个企业的管,大公司有大公的方式,小公司也订小公司的模式,如果把别人的经验生搬硬套列自己身上,可能会适得其反,同样,管理一个软件项目也一样,大项目小项目的方式不完全一样;但从另一个角度来看,项目的大与小并没有本质的区别,很多方法是共通的。因此,为了改进软件开发过程、可参考模型如图1。

 

2.1软件开发规范制定
  一切沟通交流首先都要有可见的是文字依据,这可以从制定软件开发规范入下手。主要从以下四个方面制订:软件开发工作流程规范、产品文档规范、软件开发规范、开发管理文档规范。编写规范可以参考国家标准的计算机软件工程规范,也可以结合开发经验制定出适合本企业使用的开发规范。
  详细制定这些文档使用方法和规则,要保证使文档便于书写、形式一致,这不仅要有文字描述,还应制定相关文档模板,形式上要保证简洁明了、实用、符合使用习惯。根据项目规模的不同,还可以制定不同的文档模板,很小型的项目以写一个相对简化的小型项目文档,复杂的项目则使用较全面和大型的文档模扳

  2.2软件开发人员培训
  软件开发中人的因素占有很大的比重,因此对软件人员的培训是非常重要的。一个团体的软什水平并不是个别程序员的程序水平,而是整体的认识和系统建设的水平。可以先在企业内部对软件开发人员进行培训培训内容包括软件工程、已经制订的各种规范、项目管理知识等。通过共同分析软件工程对软件开发和开发者的益处,使工作任务得到开发人员的认同,以便共同遵守和执行初期规范,更好地完成开发目标。

  2. 3软件生产过程规范性
  软件开发是一个知识密集型领域,对人才的依赖很强,加强生产过程的规范性并规范管理可以加强人的执行能力。在中小型软件企业中,很少有成本核势和严格的进度控制,影响项目的因素也比较多:需求的提出比较随便,甚至在业务需求还下明确的时蚁就要求程序员开始编程序,没有合理的措施拧制透彻地分析业务需求;时间进度由领导规定,而不是根据需求客观确定,使软件质量根本无法保障等。因此要通过加强竹理使软件开发过程可视化,使软件开发工作协调、有效。
  在规则已经明确、组织机沟确定、有一定理论认识之后,可以通过一些骨理要求、强制执行软件工程的一些基本过程。要求的提出最好要简单明了,例如:项目要有正式立项启动、项日结项有时间控制要求、计划要求;项目要有开发计划,在计划中确定开发工作的人员保障、开发周期、开发进度计划,并允许项目执行过程中在一定范围内调整计划与进度;上级领导也应出面协调和帮助解决相应问题。
 

2. 4软件配置管理机制
  软件业的'第3次修顶版”规则(一个产品除排经过第3次修汀,否则不会尽如人意),是指软件系统需要定期升级才能满足客户的要求,因此软件开发不是一个短期行为。但是,山于许多开发工作缺少管理而成为个人行为,对于软件成果没有保护意识,更不能达到软件的共享与重用。要“统一配置管理”这一做法,能够强化软件完成后的管理工作。
  建立基本的软件配置管理机制,在开发中和开发后都要求程序员及时备份源文件。进行这项工作首先要选择一套适合的配置管理软件,如Visual SourceSafe , GVS ( Con-current Versions System)等,项目主管应该要求程序员在开发全过程中使用软件来管理源文件,在全过程配置管理的基础上,整个项目组更容易完成统一编码、测试、组装产品等工作。其次,业务需求与承担开发是一个项目的两个方面,没有完整的业务模型、系统目标而盲目开发的软件绝不可能得到理想的结果,或者说从项目的开始就已经注定了失败的结局,所以软件开发方以较为完善的需求为前提条件进人开发阶段,是符合工程化的,是项目成功的基本保障。
  以上步骤,可以保障将内部开发工作达到初级的项目可视化,在软件开发部门内部建立起对满足业务需求完成的信心,以满足业务需求的承诺。通过这些工作,可以在企业内获得对软件规范性的一定认识以及对执行方式的认同,这对软件开发工作会有不同程度的帮助。

  2. 5持续改进过程和管理模型
  有了规范的开发生命周期模型和项目管理实践,可以想办法为中小型软件企业设计一个建立在数据基础之上、不断度量和改进、不断提高企业开发能力的良性循环的工作机制模型,如图2所示。


  3结束语

  中国为了在2020年完成工业化,提出了:“坚持以信息化带动工业化,以工业化促进信息化走出一条科技含量高、经济效益好、资源消耗低、环境污染少、人力资源优势得到充分发挥的新型工业化路子”的发展路线,掀起了走中国特色的信息化道路的热潮。但从近年国内信息化发展情况来看,仍存在很多问题,因此分析在信息化中扮演着重要角色的中小型软件企业的软件开发项目管理问题,得出怎样结合国情走出一条有中国特色的、成功的信息化道路是摆在我们面前的重要课题。本文试图通过分析和勾画中小型软件企业的软件开发项目管理模型,逐步建立和完善管理模型,进一步指导具体的项目管理,为我国的信息化水平提高提供一些参考。
 

免责声明以上文章内容均来源于其他网络渠道,仅供欣赏,不代表本站观点,与本站立场无关,仅供学习和参考。如有涉及到您的权益,请来信告知(email:mlunwen@163.com),我们核实后会立刻删除。

相关期刊