基于CMM的软件项目合同范围定义的扩充

来源:项目管理师    发布时间:2012-05-06    项目管理师视频    评论

  摘要:本文从分析CMM的关键过程区域的基础上,结合软件项目合同的特点,对软件项目合同范围的定义进行了扩充,这对于降低项目开发的风险,提高软件开发方的过程能力成熟度,对于软件项目合同的签定双方都具有较大的借鉴意义。 
  关键词:软件项目合同 CMM 合同条款 
  软件项目合同作为保证软件项目开发方、客户方既可享受合同所规定的权利,又必须全面履行合同所规定的义务的法律约束,对软件项目开发的成败至关重要。经验表明,软件项目合同范围定义不当而导致管理失控是项目成本超支和时间延迟以及质量低劣的主要原因,有时由于不能或者没有清楚地定义软件项目合同的范围,以致在项目实施过程中不得不经常改变作为项目灵魂的项目实施计划,相应的变更也就不可避免地发生,从而造成项目执行过程的被动,所以强调对项目合同范围的定义和管理,无论对项目涉及的任何一方来说,都是必不可少和非常重要的。 
  有关合同范围的普遍性定义和管理,我们在这里就不再赘述,本文主要针对软件项目开发过程的特点,结合CMM的相关知识,试图给出一个软件项目合同特有的范围定义,并以合同条款的形式予以表现。 
  我们在对CMM的研究中发现,作为CMM的重要组成部分——关键过程区域(Key Practivice Area简称KPA),具有类似于合同条款的功能。每个KPA识别出一串相关活动,当这些活动全部完成时,能达到一组对增强过程能力至关重要的目标。这与合同中列出相应条款,指出项目要达到的目标相吻合。所不同的,KPA的直接目的是增强软件过程能力,合同条款的直接目的是实现项目目标,但两者的最终目标都是确保软件项目的成功。从这个意义上说,二者是一致的。为此,我们认为,采用KPA来界定合同范围是可取的。所要注意的是,CMM中的KPA共有18个,我们不能完全照般,而必须结合合同自身的特点以及软件项目的实际,予以取舍,并作恰当的变通。从目前我国的软件开发实际情况看,要提高软件过程能力成熟度,应该从CMM 2级做起。为此,本文主要结合CMM 2级的六个KPA,谈谈如何扩充软件项目合同的范围定义,以此来促进项目过程的改善。 
  1.需求管理 
  需求管理的目的是在客户和软件项目开发方之间建立对客户需求的共同理解。它包括和客户一起建立和维护有关软件项目需求的协议。因此,合同具有如下条款: 
  a.在整个项目开发过程中,开发方应明确保证对系统需求及其分配进行管理,并建立文档; 
  b.项目双方协商制定影响软件项目活动的非技术性需求(协议、条件和附加合同条款),主要包括交付产品的形式、交付日期、项目里程碑等,并建立文档; 
  c.项目双方协商制定影响软件项目活动的技术性需求,主要包括对软件的性能要求、界面要求、设计约束、最终用户的要求以及选用何种编程语言; 
  d. 项目双方协商制定确认软件产品满足客户需求的验收准则,包括采用何种方法、何种工具进行验收; 
  e. 项目双方协商制定对客户进行软件操作方面的培训准则,以及其他相关服务的说明。 
  2.软件项目策划 
  软件项目策划的目的是为了完成软件项目开发而制定合理的计划。它包括以下步骤:估计软件工作产品规模以所需的资源,制定时间表,鉴别和评估软件风险和协商约定。因此,合同具有如下条款: 
  a.开发方应在合同中指定负责协商约定和制定软件项目开发计划的项目经理; 
  b.开发方应确保在项目经理和软件开发人员、其他工程组相关人员之间达成软件项目的约定,并建立文档;
  c. 项目双方应对软件项目的规模、工作量、成本、进度等做出科学的估计; 
  d.项目双方(以开发方为主)共同建立高级管理者评审方法,对所有的软件项目约定和计划进行评审,并使其保持在监控状态下; 
  e. 项目双方(以开发方为主)共同明确开发工作的范围、技术目标和对象、最终用户的识别、成本和进度的约束及目标、项目伙伴; 
  f.开发方应确保能够为策划软件项目提供足够的资源和投资,必要时应采取的应对措施; 
  g. 项目双方(以开发方为主)共同对与项目成本资源、进度和技术方面相联系的软件风险进行鉴别、评估和建立文档。

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答