用户登录
用户注册

分享至

软件项目范围定义 软件项目建议书

  • 作者: 静静的顿河故事
  • 来源: 51数据库
  • 2020-04-15

软件项目范围定义

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

软件项目合同作为保证软件项目开发方、客户方既可享受合同所规定的权利,又必须全面履行合同所规定的义务的法律约束,对软件项目开发的成败至关重要。

经验表明,软件项目合同范围定义不当而导致管理失控是项目成本超支和时间延迟以及质量低劣的主要原因,有时由于不能或者没有清楚地定义软件项目合同的范围,以致在项目实施过程中不得不经常改变作为项目灵魂的项目实施计划,相应的变更也就不可避免地发生,从而造成项目执行过程的被动,所以强调对项目合同范围的定义和管理,无论对项目涉及的任何一方来说,都是必不可少和非常重要的。

有关合同范围的普遍性定义和管理,我们在这里就不再赘述,本文主要针对软件项目开发过程的特点,结合CMM的相关知识,试图给出一个软件项目合同特有的范围定义,并以合同条款的形式予以表现。

我们在对CMM的研究中发现,作为CMM的重要组成部分——关键过程区域(Key Pactivice Aea简称KPA),具有类似于合同条款的功能。

每个KPA识别出一串相关活动,当这些活动全部完成时,能达到一组对增强过程能力至关重要的目标。

这与合同中列出相应条款,指出项目要达到的目标相吻合。

所不同的,KPA的直接目的是增强软件过程能力,合同条款的直接目的是实现项目目标,但两者的最终目标都是确保软件项目的成功。

从这个意义上说,二者是一致的。

为此,我们认为,采用KPA来界定合同范围是可取的。

所要注意的是,CMM中的KPA共有18个,我们不能完全照般,而必须结合合同自身的特点以及软件项目的实际,予以取舍,并作恰当的变通。

从目前我国的软件开发实际情况看,要提高软件过程能力成熟度,应该从CMM 2级做起。

为此,本文主要结合CMM 2级的六个KPA,谈谈如何扩充软件项目合同的范围定义,以此来促进项目过程的改善。

1.需求管理 需求管理的目的是在客户和软件项目开发方之间建立对客户需求的共同理解。

它包括和客户一起建立和维护有关软件项目需求的协议。

因此,合同具有如下条款: a.在整个项目开发过程中,开发方应明确保证对系统需求及其分配进行管理,并建立文档; .项目双方协商制定影响软件项目活动的非技术性需求(协议、条件和附加合同条款),主要包括交付产品的形式、交付日期、项目里程碑等,并建立文档; c.项目双方协商制定影响软件项目活动的技术性需求,主要包括对软件的性能要求、界面要求、设计约束、最终用户的要求以及选用何种编程语言; d. 项目双方协商制定确认软件产品满足客户需求的验收准则,包括采用何种方法、何种工具进行验收; e. 项目双方协商制定对客户进行软件操作方面的培训准则,以及其他相关服务的说明。

2.软件项目策划 软件项目策划的目的是为了完成软件项目开发而制定合理的计划。

它包括以下步骤:估计软件工作产品规模以所需的资源,制定时间表,鉴别和评估软件风险和协商约定。

因此,合同具有如下条款: a.开发方应在合同中指定负责协商约定和制定软件项目开发计划的项目经理; .开发方应确保在项目经理和软件开发人员、其他工程组相关人员之间达成软件项目的约定,并建立文档; c. 项目双方应对软件项目的规模、工作量、成本、进度等做出科学的估计; d.项目双方(以开发方为主)共同建立高级管理者评审方法,对所有的软件项目约定和计划进行评审,并使其保持在监控状态下; e. 项目双方(以开发方为主)共同明确开发工作的范围、技术目标和对象、最终用户的识别、成本和进度的约束及目标、项目伙伴; f.开发方应确保能够为策划软件项目提供足够的资源和投资,必要时应采取的应对措施; g. 项目双方(以开发方为主)共同对与项目成本资源、进度和技术方面相联系的软件风险进行鉴别、评估和建立文档。

以上是我对于这个问题的解答,希望能够帮到大家。

工程项目范围管理概念是如何?

开始一个新项目或版本时候,首先是和用户一起确认需求,进行项目的范围规划。

项目是范围,进度,质量和资源四要素的平衡,用户对项目进度要求和优先级高的时候,我们往往要缩小项目范围,对用户需求进行优先级排序,排除优先级低的需求。

另外我们做项目范围规划的一个重要依据就是我们的历史经验数据,对项目特征的清楚认识,项目范围规划初期需求你进行一个较宏观的估算,否则你很难判断清楚或给用户承诺在现有资源情况下,你3个月时间里面是否可以完成20个或更多用户功能。

正规过程好像是先确认项目范围,然后根据WBS-进度计划确认实际的项目周期,但实际情况往往很难如此,用户往往对进度的关注度大于对范围的关注度,一个项目半年或一年都看不到具体的产品出来用户肯定是无法接受的,所以我们的软件项目一般也是按版本增量迭代进行开发。

另外这里需要强调下项目目标的确定,项目的目标不能简单理解为在某个时间点完成所有功能。

项目另外一个重要目标就是项目的质量目标,你完成的这个项目需要达到那个等级的质量标准,交出的产品BUG泄漏率要控制在什么范围内等内容。

项目的质量目标不会影响到我们的范围,但会影响到我们后续评审,测试等时间的安排,直接影响到项目的进度。

PMBOK里已经明确提到项目范围定义的另一个重要目的就是项目的绩效测量和验收准则,你交付项目的时候用户会根据用户需求说明书内容对项目进行验收,所有我们项目的范围的定义必须是明确,量化,可验证和可测试的,这样才能够避免后期无谓的纠纷。

另外在概述阶段需要分析项目的假设和约束,假设和约束又分为技术方面和非技术方面,在这里我们分析的所有假设都可能成为项目的风险。

2.项目进度的确定 项目的目标和范围确定后,需要开始确定项目的过程,项目整个过程中采用何种生命周期模型?项目过程是否需要对组织级定义的标准过程进行裁剪等相关内容。

项目过程定义是进行WBS分解前必须确定的一个环节,你采用瀑布模型和增量迭代模型对WBS分解和进度计划安排显然是完全不同的。

项目过程确认清楚后开始进行项目的WBS分解,WBS分解一般是项目组的核心成员参加,但项目经理应该是起主导和协调作用。

WBS分解方法一般有基于过程和基于成功两种方式,但两种方式可以混合使用,比如在高层分解的时候先分解出子系统和工作包,在底层的时候再按照需求,设计,编码和测试各个过程进行分解。

WBS的最底层工作单元需要是可以独立核实的产品,需要去下达计划和任务,工作单元需要有明确的责任人,因此有时候在没有做仔细的估算时候我们很难让工作单元满足这些要求,这样就难免在进行估算过程中还要对WBS进行优化和调整。

WBS分解完成后可以开始进行工作单元的估算,估算一般有专家法,三点法和功能点法估算,由于我们的项目采用专家法估算,因此更需要项目核心成员和有经验的成员参加,估算一般会针对工作单元的单位和复杂度进行估算,最后估算出项目的总规模,再除以项目的生产率后得到项目的工作量数据。

专家法估算一般会进行很多轮,直到所有指标都收敛(收敛标准是组织或项目事先确定清楚了,如偏差人员的责任矩阵进行分析,对于关键路径一般直接用运筹学中的关键路径分析法确定ES,EF,LE和LF四个时间即可。

在项目进度计划基本排出来后就可以规划和确定项目的里程碑和基线了,项目的里程碑和基线是项目重要的跟踪控制检查点,在里程碑项目还会做专门的里程碑报告,对项目的当前状态,项目的进度,工作量,规模,缺陷等各项指标的偏离进行分析。

整个项目进度计划基本出来后需要和项目组的所有项目成员确认,获取项目的内部承诺,项目成员应该对整个进度计划安排基本达成一致。

项目计划还有需要支持计划需要制定,项目进度计划出来后整个可以通知QA和配置管理员分别制定质量保证计划和配置管理计划,项目经理协助测试负责人制定项目的系统测试计划。

工程项目范围管理概念是什么?

范围包括两方面的含义:一是工程项目的性质和使用功能;二是交付具有特定性质和使用功能的工程项目而必须完成的具体工作。

工程项目范围管理是指确保项目组织做且只做成功完成项目所需要做的全部工作,从而实现项目预期目标的管理过程。

工程项目范围管理的内容包括范围界定、范围确认和范围控制。

软件项目进度表包含什么内容

一是参考其它项目.另一个现在的可参考项目是安装 Microsoft Office Project 2003, 内有好几个相关模板.供参:项目启动 6 工作日 组建工作组 6 工作日 定义工作组角色 2 工作日 确定所需技能 2 工作日 确定资源 2 工作日 将角色赋予资源 2 工作日 工作组成立 0 工作日 构想 44 工作日 定义初步的商业需求(持续性工作) 29 工作日 风险管理 1 工作日 定义项目结构 9 工作日 定义跟踪项目的步骤 5 工作日 定义解决问题的步骤 4 工作日 定义跟踪问题的步骤 3 工作日 定义控制变更的步骤 4 工作日 定义责任和期望 2 工作日 项目结构确定完毕 0 工作日 研究和收集设想 25 工作日 进行初步的用户访问 2 工作日 定义使用场合 10 工作日 制定初步的用户描述 5 工作日 制定初步的构想说明 1 工作日 确立设计目标 8 工作日 制定初步的解决方案概念 5 工作日 制定初步的项目范围 19 工作日 定义关键的成功因素 2 工作日 定义衡量成功的标准 1 工作日 定义主要的可交付结果(初步) 3 工作日 起草构想/范围 3 工作日 审阅构想/范围 2 工作日 更新构想/范围 3 工作日 缓冲时间 4 工作日 进行里程碑检查 1 工作日 构想得到批准 0 工作日 规划 59 工作日 更新风险评估 1 工作日 进行用户访问 10 工作日 创建功能描述 31 工作日 制定功能描述: 第 0 批 5 工作日 制定功能描述: 第 1 批 5 工作日 制定功能描述: 第 2 批 5 工作日 制定功能描述: 第 n 批 5 工作日 功能描述基准 0 工作日 开发计划 28.25 工作日 创建开发计划 28 工作日 进行概念性设计 10 工作日 进行逻辑设计 15 工作日 进行物理设计 19 工作日 制定开发日程 5 工作日 测试计划 35 工作日 制定测试计划 30 工作日 制定测试日程 5 工作日 用户培训计划 36 工作日 制定用户培训计划 30 工作日 制定用户培训日程 6 工作日 后勤计划 48 工作日 制定后勤计划 43 工作日 进行基础设施分析 15 工作日 制定安全计划 2 工作日 制定部署计划 27 工作日 定购组件 15 工作日 后勤计划完成 0 工作日 创建后勤日程 7 工作日 产品管理计划 18 工作日 制定产品管理计划 14 工作日 制定产品管理日程 5 工作日 程序管理计划 41 工作日 创建程序管理计划 21 工作日 创建程序管理日程 20 工作日 建立项目计划基准 0 工作日 合并项目计划 11 工作日 审阅合并计划 4 工作日 创建合并日程 2 工作日 缓冲时间 4 工作日 确定交货日期 0 工作日 构想/范围冻结 0 工作日 进行里程碑检查 1 工作日 项目计划得到批准 0 工作日 开发 81 工作日 更新风险评估 1 工作日 提供开发所需的设备/检验概念是否达到 0 工作日 建立开发环境/实验室 5 工作日 内部发布 #1 24 工作日 开发目标组件 9 工作日 测试单个组件 5 工作日 测试组装为整体的应用程序 6 工作日 开发增强性能的材料 4 工作日 测试和审查材料 3 工作日 制定分发步骤 9 工作日 创建分发产品 2 工作日 分发给合适的对象 1 工作日 缓冲时间 8 工作日 内部发布 #1 结束 0 工作日 审阅来自内部发布的结果 2 工作日 进行发布后的审阅 1 工作日 内部发布 #n 24 工作日 开发目标组件 10 工作日 测试单个组件 4 工作日 测试组装为整体的应用程序 5 工作日 开发增强性能的材料 4 工作日 测试和审查材料 3 工作日 制定分发步骤 3 工作日 创建分发产品 4 工作日 缓冲时间 6 工作日 分发给合适的对象 1 工作日 内部发布 #n 结束 1 工作日 审阅来自内部发布的结果 2 工作日 功能说明冻结 1 工作日 最后的特性开发 10 工作日 最后的后勤开发 9 工作日 最后的性能支持开发 5 工作日 特性开发结束 0 工作日 更新计划和日程 13 工作日 更新开发计划 4 工作日 更新测试计划 3 工作日 更新后勤计划 13 工作日 更新程序管理计划 3 工作日 更新产品管理计划 3 工作日 更新用户培训计划 6 工作日 缓冲时间 3 工作日 进行里程碑检查 2 工作日 项目范围规划完成 1 工作日 稳定 73 工作日 更新风险评估 1 工作日 发布测试版 1 32 工作日 制定测试版计划 3 工作日 征寻和选择用户 2 工作日 准备测试版产品包 8 工作日 开始测试 0 工作日 提供测试支持 8 工作日 收集用户反馈 7 工作日 结束测试支持 0 工作日 修补缺陷 10 工作日 结束测试 0 工作日 发布测试版 n 1 工作日 修补缺陷 10 工作日 收集错误 1 工作日 改正高优先级的错误 10 工作日 发布无错误版 0 工作日 进行最后的错误分类 5 工作日 发布版候选 1 7 工作日 进行工作组评估 2 工作日 客户/用户评估 2 工作日 支持评估 3 工作日 发布版候选 n 6 工作日 黄金发布版 0 工作日 发布 1 工作日 项目后检查 2 工作日 软件开发:------------------------- 项目范围规划 3.5 工作日 确定项目范围 4 工时 获得项目所需资金 1 工作日 定义预备资源 1 工作日 获得核心资源 1 工作日 项目范围规划完成 0 工作日 分析/软件需求 14 工作日 行为需求分析 5 工作日 起草初步的软件规范 3 工作日 制定初步预算 2 工作日 工作组共同审阅软件规范/预算 4 工时 根据反馈修改软件规范 1 工作日 确定交付期限 1 工作日 获得开展后续工作的批准(概念、期限和预算) 4 工时 获得所需资源 1 工作日 分析工作完成 0 工作日 设计 14.5 工作日 审阅初步的软件规范 2 工作日 制定功能规范 5 工作日 根据功能规范开发原型 4 工作日 审阅功能规范 2 工作日 根据反馈修改功能规范 1 工作日 获得开展...

软件项目计划的计划制定

项目计划详细说明了所需软件工作及如何实现。

它定义了每一个主要任务,并估算其所需时间和资源,同时为管理层的评估和控制提供了一个框架。

项目计划也提供了一种很有效的学习途径。

如果能合理建档,它便是一个与实际运行效能比较的基准。

这种比较可以使计划者看到他们的估算误差,从而提高其估算精确度。

我们着重强调对项目规模和资源的估算,是因为低质量的项目资源估算将不可避免地造成资源短缺,进度延迟和预算超支。

又由于项目资源估算是从软件规模估算中直接衍生出来的,所以低质量的规模估算是造成许多软件项目问题的根本原因。

项目计划应在项目开始初期制定出,并随着工程的进展不断地加以精化。

起初,由于软件需求通常是模糊而又不完整的,我们的工作重点应在于明确该项目需要哪些领域的知识,并且如何获取这些知识。

如果不遵循这一指导原则,程序员们通常会积极地投入到那部分已知的工作中去,而把未知部分留滞到以后。

这种工作方式通常会产生很多问题,因为未知部分具有最高的风险系数。

软件项目计划的逻辑如下所述 :由于软件需求在初始阶段是模糊而又不完整的,质量计划只能建立在对客户需求的大致而不确切的理解之上。

因此,项目计划应该从找出含糊不确切与准确恰当的软件需求间的映射关系入手。

接着建立一种概念设计。

项目初始架构的建立要十分谨慎,因为它通常标定了产品模块的分割线,同时描述了这些模块所实现的功能及所有模块间的关系。

这就为项目计划和项目实施提供了组织框架,因此一个低质量的概念设计是不能满足要求的。

在每一次后续的需求精化时,也应同时精化资源映射,项目规模估算和工程进度。

软件项目计划-制订软件项目计划的方法与策略制订软件项目计划的目的在于建立并维护软件项目各项活动的计划,软件项目计划其实就是一个用来协调软件项目中其它所有计划,指导项目组对项目进行执行和监控的文件。

一个好的软件项目计划可为项目的成功实施打下坚实的基础。

软件项目有其特殊性,不确定因素多,工作量估计困难,项目初期难于制定一个科学、合理的项目计划。

我曾主持和参与过大大小小的软件项目十余项,下面我将把我制订软件项目计划的经验分享给大家。

1.注重项目计划的层次性软件项目计划的层次及其关系如下图所示。

高级计划,是项目的早期计划。

高级计划应当是粗粒度的,主要是进行项目的阶段划分,确定重大的里程碑,所需相关的资源,包括人力资源、设备资源、资金资源,即所谓的人、财、物三个要素。

大的阶段交替之前,应做好下一阶段的详细计划,我们称之为二级计划。

详细计划要确定各项任务的负责人,开始时间,结束时间,任务之间的依赖关系,设备资源,小的事件点(即里程碑)。

如果项目规模相对较大,可以有多级的计划,比如说,一个项目组可能分为几个开发组,二级计划是各开发组制订的适合的自己小组的计划。

如果开发组还分了小组,可以有小组的三级计划。

开发人员的个人计划是低级计划,由开发人员根据自己的任务自行制定,要把任务细化到人·日。

一般的,软件项目计划至多有四级就够了,过多的等级将会引发效率的瓶颈。

大的项目不见得要有庞大的组织和人员数量来支撑,合理的划分小组,减少组织的层次,有利于项目计划的制订和实施。

较小的软件项目由于工期不长,人员较少,有二级计划(高级计划与低级计划)也是可行的。

2.重视与客户的沟通与客户的沟通是很重要的。

不必害怕客户知道我们的开发计划,特别是项目进度情况,应当和客户共享这些信息。

首先,客户会提出一些对项目时间、进度、效果上的要求,这个指标往往经不起推敲,有的还带有较强的政策性。

如:在我主持的一个某单位人nnerlink>MIS系统的开发中就发现,客户方对时间上的约束是有成形的文件的,是他们单位领导们开会的决定。

客户给出的从项目启动到验收的时间只有三个月,但是,经过我们认真的需求调研,做出项目进度的粗计划和部分的二级计划后,发现三个月的时间是难于实现的。

我们把做出的调研文档和项目计划摆出来和和客户讨论,最终使项目的开发时间延长为六个月。

站在为了科学地分析和解决问题的立场上来看,项目组和客户的目的是一致的,所以对于合理的项目进度客户是会理解与支持的。

其次,我们有义务要让客户知道项目的计划。

这样才能让客户和用户主动、积极参与项目,达到项目的最终目标。

项目计划取得双方签字认可是一种好的习惯。

客户可能不愿意签正式的文件,那么在文档的封面上签上双方负责人的姓名、联系方式也行,虽然是非正式的,但留下了项目工作的痕迹。

有必要想办法让客户清楚签字意味着什么。

这就意味说双方有了一个约定,既让用户感觉心里踏实,也让自己的项目组有了责任感,有一种督促和促进的作用。

3.该详细的详细,该简略的就简略软件项目计划就如同软件项目本身一样有它特殊性,一个三五个人花两三个月就可以完工的小项目,可能项目计划就四五页纸,包括一个WBS(工作分解结构)和一个Gantee图(甘特图)。

一个需要五六十个人甚至上百人,要花上半年或更长时间的...

软件项目管理是什么

首先,项目的定义是:为实现某一特定目的而做出的一次性的努力。

它包括范围管理,进度管理,时间管理,质量管理,成本管理,风险管理,需求管理,沟通管理,集成管理,配置管理,人力资源管理等。

范围管理是基础,成本管理,时间管理,质量管理是核心。

人力资源管理是支持性计划。

九大管理相互协调,共同协助完成整个项目

转载请注明出处51数据库 » 软件项目范围定义

软件
前端设计
程序设计
Java相关