中、小型软件企业的项目管理

发布者: 发布时间:2008/12/29 阅读:1724
聚划算
来源: 时间:2008-12-29 点击:

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

  软件项目管理既具有一般项目管理的属性,又具有其特殊性,软件项目管理的重点在于标准的制定和推行。为了加强我国软件业的国际竞争力,需要发展一大批具有遵循开发过程与注重质量的文化氛围的企业。而制定和推行标准的目的正是要引导软件企业逐步走向成熟,使其工程和管理水平稳步提高,同时为他们提供全方位的服务,以支持软件产业的整体发展。软件项目管理在20世纪70年代中期引起了广泛的注意。美国国防部通过研究发现了所谓的“软件危机”,即“管理是影响软件研发项目全局的因素,而技术只影响局部”。目前国内的中、小型软件企业,由于其企业规模、研发能力等限制,造成其软件开发管理的问题非常普遍。不恰当的组织结构,工作流程不规范,缺乏项目管理概念和软件工程概念等是中、小型软件企业面临的主要问题。

  国内的中、小型软件企业虽然涉足软件开发业务,但对软件的认识还停留在“程序员编代码”的水平上。对企业内部的软件开发缺乏管理意识,具体体现在以下几个方面:首先,项目负责人项目管理经验不足,项目功能相对较少,涉及面相对狭窄;其次,项目开发人员较少,人员结构简单;再次,项目进度缺乏控制,项目成本预算较难,缺乏完整的项目文档;缺乏后续维护。

  与专业软件公司的软件开发组织比较,中、小型软件企业中的软件开发工作机构小、人员少、开发人员待遇低,难以吸引高水平的人才,人才流失率达到50%以上。由于没有高水平的开发人员和技术管理人员,软件工作状况处于初级水平,软件开发不能按照软件工程的要求执行。软件系统建立过程中需要多方面的人员;需求方人员、懂得软件项目管理的人员、软件程序员、系统分析员。普通企业由于对软件生产不了解,往往由软件需求方人员对软件工作直接管理。这个工作显然超过了其能力范围,不符合软件工作的相关原则。业务人员作为项目的负责人,既不能合理地计划软件开发工作,也不可能管理好软件工作中的各种风险,这将使软件开发处于无序的风险状态之中。
本文转自项目管理者联盟
  在需要团队协同工作的今天,沟通可以说已经变得无比的重要。在软件业,沟通可以说是快速学习和掌握新知识,达到技术上更高层次的最佳途径。如果小组成员在协调上出了漏洞,会导致很大的问题,所以项目负责人必须随时监控开发人员的工作,包括内容是否与要求发生偏差、进度是否滞后等。

  项目组与组织之间、项目组与项目组成员之间,甚至与一个项目组的不同成员之间,如果没有足够的沟通意识、沟通制度和沟通工具,就有可能造成信息不畅,从而加大项目失败的风险。中、小型软件企业开发人员少,意味着不同人员的程序之间交互、接口相对少一些;缺少文档资料或者文档资料不规范也是软件项目管理中的普遍问题。由于讨论时忽略了某些情况,当大家都按当时分工完成属于自己的工作后,才发现各个模块组合起来却不能形成一个完整的系统。其根源在于没有一个负责协调的人员不断监控整个开发过程。一旦有人中途退出开发队伍,其他人加入时,新来的人难以理解以前别人做好的代码,索性自己从头做起。

  与一个标准的软件开发流程相比,中、小型软件企业内部的软件开发“节省”了不少步骤。如不经过单元测试而直接进入系统测试等。由于这种测试不完全,真正运行系统,当调用某模块时,可能大部分时候都是正常数据,极少出现边界情况,但某些边界情况容易被忽视,很久之后才被发现。但是如果对每个模块进行单元测试时都进行边界测试,就会很容易消除这些隐患。

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

  一切沟通与交流,首先都要有可见的依据,这可以从制定软件开发规范入手。具体可以从以下四个方面制订:软件开发工作流程规范、产品文档规范、软件开发文档规范、开发管理文档规范。编写规范,可以参考国家标准的计算机软件工程规范,也可以结合开发经验制定出适合本企业使用的开发规范。

  详细制定这些文档使用方法和规则,要保证文档便于书写、形式一致,这不仅要有文字描述,还应制定相关文档模板,形式上要保证简洁明了、实用、符合使用习惯。根据项目规模的不同,还可以制定不同的文档模板,小型项目可以写一个相对简化的小型项目文档,复杂项目可以使用较全面和大型的文档模板。

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

  软件开发是一个知识密集型领域,对人才的依赖很强。加强生产过程的规范性并规范管理,可以加强人的执行能力。在中、小型软件企业中,很少有成本核算和严格的进度控制。影响项目的因素也比较多:需求的提出比较随便,甚至业务需求还不明确的时候就要求程序员开始编程序,没有合理的措施控制透彻的分析业务需求;时间进度由领导规定,而不是根据需求客观确定,这样使软件质量根本无法保障。因此要通过加强管理使软件开发过程可视化,软件开发工作?鳌⒂行А?

  在规则明确、组织机构确定、有一定的理论认识之后,可以通过一些管理要求,强制执行软件工程的一些基本过程,要求的提出简单明了。例如,项目要有正式立项启动、项目结项,有时间控制要求、计划要求。要求项目有开发计划,计划中确定开发工作的人员保障、开发周期、开发进度计划,并允许项目进行中在一定范围内调整计划与进度。上级领导也应出面协调和帮助解决相应问题。

  软件开发不是一处短期行为,但是,由于许多开发工作因缺少管理而成为个人行为,对于软件成果没有保护意识,更不能达到软件的共享与重用。通过“统一配置管理”这一具体的做法,能够强化软件完成后的总结工作。建立基本的软件配置管理机制,在开发中和开发后都要求程序员及时备份源文件。进行这项工作要首先选择一套适合的配置管理软件,如VSS、cvs等。项目主管应该要求程序员在开发全过程 使用软件来管理文件,在全过程的配置管理的基础上,整个项目组更容易完成统一编码、测试组装产品等工作。

  以上步骤,可以保障内部开发工作达到初级的项目可视化,在软件开发部门内部建立起对满足业务需求完成的信心,以满足业务需求的承诺。通过这些工作,可以在企业内获得对软件规范性的一定认识以及对执行方式的认同,这对软件开发工作会有不同程度的帮助。


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





关于易利-项目管理-产品中心-联系我们-帮助中心-申请链接