|
摘 要:本文分析了国内的中小型软件企业在企业体制和人力资源等方面的特点,指出了中小型软件企业开发软件产品时应用项目管理和软件工程方法来管理软件项目的差异,提出了中小型软件企业的软件项目管理过程改进模型。PgMp.mypm.net
关键词:软件项目管理;中小型软件企业;软件过程改进转自项目管理者联盟
目前软件的应用已经深入到企业、政府及我们日常生活的方方面面,其中大量的开发是由中小型软件企业承担的。由于中小型软件企业在体制、人力资源投入力度和关心程度等方面存在差异,开发软件产品时与专业软件企业有很大的不同,因此对中小型软件企业的软件项目管理进行研究,有助于提高软件项目管理水平,增强客户的满意度。www.mypm.net
1软件项目管理与中小型软件企业club.mypm.net
软件项目管理既具有一般项目管理的属性,又具有其特殊性,软件项目管理的重点在于标准的制定和推行。为了加强我国软件业的国际竞争力,需要发展一大批具有遵循开发过程与注重质量的文化氛围的企业。而制定和推行标准的目的正是要引导软件企业逐步走向成熟,使其工程和管理水平稳步提高,同时为它们提供全方位的服务,以支持软件产业的整体发展。转自项目管理者联盟
软件项目管理在20世纪70年代中期引起了广泛的注意。美国国防部通过研究发现了所谓的“软件危机”,即“管理是影响软件研发项目全局的因素,而技术只影响局部”。目前国内的中小型软件企业,由于其企业规模,研发能力等限制,造成其软件开发管理的问题非常普遍。不恰当的组织结构,工作流程不规范,缺乏项目管理概念和软件工程概念等是中小型软件企业面临的主要问题。项目经理博客
1.1中小型软件企业中软件开发的特点PgMp.mypm.net
国内的中小型软件企业虽然涉足软件开发业务,但对软件的认识停留在“程序员编代码”的水平上。对企业内部的软件开发缺乏管理意识,具体体现在以下几方面:首先,项目负责人项目管理经验不足,项目功能相对较少,涉及面相对狭窄;其次,项目开发人员较少,人员结构简单;再次,项目进度缺乏控制,项目成本预算较难,缺乏完整的项目文档;最后,缺乏后续维护。项目管理者联盟
1.2中小型软件企业中的软件开发组织项目管理培训
与专业软件公司的软件开发组织相比较,中小型软件企业中的软件开发工作机构小、人员少,开发人员待遇低,难以吸引高水平的人才,人才流失率达到50%以上。由于没有高水平的开发人员和技术管理人员,软件工作状况处于初级水平,软件开发不能按照软件工程的要求执行。项目管理培训
软件系统建立过程中需要多方面的人员:需求方人员、懂得软件项目管理的人员、软件程序员、系统分析员。普通企业由于对软件生产不了解,往往由软件需求方人员对软件工作直接管理。这个工作显然超过了其能力范围,不符合软件工作的相关原则。业务人员作为项目的负责人,既不能合理地计划软件开发工作,也不可能管理好软件工作中的各种风险,这将使软件开发处于无序的风险状态之中。项目管理者联盟
1.3中小型软件企业中的软件开发沟通项目管理者联盟
在需要团队协同工作的今天,沟通可以说已经变得无比的重要。在软件业,沟通可以说是快速学习和掌握新知识,达到技术上更高层次的最佳途径。如果小组成员在协调上出了漏洞,会导致很大的问题,所以项目负责人必须随时监控开发人员的工作,包括内容是否与要求发生偏差,进度是否滞后等等。项目管理培训
项目组与组织之间、项目组与项目组成员之间,甚至与一个项目组的不同成员之间,如果没有足够的沟通意识和沟通制度、沟通工具,就有可能造成信息不畅,从而加大项目失败的风险。中小型软件企业开发人员少,意味着不同人员的程序之间交互、接口相对少一些;缺少文档资料或者文档资料不规范也是软件项目管理中的普遍问题。由于讨论时忽略了某些情况,当大家都按当时的分工完成属于自己的工作后,才发现各个模块组合起来却不能形成一个完整的系统。其根源在于没有一个负责协调的人员不断监控整个开发过程。一旦有人中途退出开发队伍,其他人加入时,新来的人难以理解以前别人做好的代码,索性自己从头做起。项目管理者联盟
1.4中小型软件企业中的软件开发工作流程项目管理者联盟
与一个标准的软件开发流程相比,中小型软件企业内部的软件开发“节省”了不少步骤。例如不经过单元测试而直接进入系统测试等。由于这种测试不完全,真正运行系统,当调用某模块时,可能大部分时候都是正常数据,极少出现边界情况,但某些边界情况容易被忽视,很久之后才被发现。但是如果对每个模块进行单元测试时都进行边界测试,就会很容易消除这些隐患。项目管理论坛
2中小型软件企业软件开发过程改进模型项目管理者联盟
软件开发模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。一个企业的管理,大公司有大公司的方式,小公司也有小公司的模式,如果把别人的经验生搬硬套到自己身上,可能会适得其反。同样,管理一个软件项目也一样,大项目和小项目的方式不可能完全一样。但从另一个角度来看,项目的大与小并没有本质区别,很多方法是共通的。因此为了改进软件开发过程,可参考模型如图1项目管理论坛
项目管理者联盟
2.1制定软件开发规范项目管理者联盟
一切沟通与交流,首先都要有可见的依据,这可以从制定软件开发规范入手。具体可以从以下四个方面制订:软件开发工作流程规范、产品文档规范、软件开发文档规范、开发管理文档规范。编写规范,可以参考国家标准的计算机软件工程规范,也可以结合开发经验制定出适合本企业使用的开发规范。项目管理者联盟
详细制定这些文档使用方法和规则,要保证文档便于书写、形式一致,这不仅要有文字描述,还应制定相关文档模板,形式上要保证简洁明了、实用、符合使用习惯。根据项目规模的不同,还可以制定不同的文档模板,小型项目可以写一个相对简化的小型项目文档,复杂项目可以使用较全面和大型的文档模板。2.2软件开发人员培训项目管理培训
软件开发中人的因素占有很大的比重,因此对软件人员的培训是非常重要的。一个团体的软件水平并不是个别程序员的程序水平,而是整体的认识和系统建设的水平。可以先在内部对软件开发人员进行培训,内容包括软件工程、己经制订的各种规范、项目管理知识。通过共同分析软件工程对软件开发和开发者的益处,可以得到开发人员的认同,以便共同遵守和执行初期规范,更好地完成开发目标。项目经理圈子
2.3加强软件生产过程规范性www.mypm.net
软件开发是一个知识密集型领域,对人才的依赖很强。加强生产过程的规范性并规范管理,可以加强人的执行能力。service.mypm.net
|