软件项目合同范本(精选12篇)
甲方:_________________(个人)
身份证号码:______________________ 乙方:_________________(个人)
身份证号码:______________________ _____________(个人)(以下称乙方)受________________________(以下称甲方)|委托进行________________________的开发工作。双方本着相互合作、互惠互利的原则,共同协商达成如下协议:
一、项目名称:
二、内容及要求:
1.开发内容:根据甲方的要求,乙方在规定时间内完成“______________”的开发,该系统的设计要求如下: l
主要功能:
根据需求设计进行项目的开发以及测试的工作。具体工作由甲方分配。l
系统运行环境包括:(1)(2)
2.开发时间:
(1)
启动日期:甲乙双方签字盖章之日即为项目正式启动日期;(2)
完成期限:自项目正式启动,在__工作日内完成。
三、双方权利义务: 1.甲方:
(1)
甲方有权利督促乙方按规定时间完成项目开发,有增加或修改内容双方需另行协商解决;在不影响进程的情况下,对于甲方的小规模变动的需求,乙方必须满足;若出现大幅度的变更,则甲乙双方商议延长开发周期。(2)
甲方完全拥有________________________系统的所有权,包括使用权、著作权等所有权利;(3)
甲方应当按照协议,按时向乙方支付开发费用;(4)
甲方有责任对本协议的内容进行保密;
(5)
甲方有责任对乙方的软件开发技术进行保密,在未经乙方书面许可的情况下,不得向第三方泄露。(6)
甲方有责任保密乙方的个人信息,不得向第三方泄露。2.乙方:
(1)
乙方有责任按甲方的要求在规定时间内完成项目开发,完成需要开发的内容;
(2)
在项目开发完毕之后,在乙方对甲方提供的维护服务期之内,由于甲方设计变更而导致______________________的变更,若变更范围在本合同所规定的功能范围之内,乙方有义务免费为甲方修改变更内容;(3)
乙方有责任对本协议的内容进行保密;
(4)
乙方有责任对与甲方项目的接口规范进行保密,在未经甲方书面许可的情况下,不得向第三方泄露;
(5)
乙方有责任在项目验收合格完成之后,向甲方提供__个月的免费维护服务,此维护仅指软件bug的修改以及小范围的功能性改动;
(6)
乙方有责任自行准备软件开发所需的硬件设备、开发资料及语音sdk.四、费用和支付方式:
1.费用:此项目费用合计为________元人民币 2.支付方式:(1)
第一阶段:
在合同签订之后的__个工作日内,支付乙方_______元人民币。(2)
第二阶段:
在甲方整体项目开发完毕后__个工作日内完成测试验收,并向乙方提供验收合格报告。同时,乙方将软件设计相关文档交付给甲方,甲方在__个工作日内支付乙方______元人民币。(3)
第三阶段:
在项目开发完毕6个月后的__个工作日,甲方向乙方支付余款_____元人民币。3.违约责任:
(1)
甲方有责任按期支付乙方费用,如因甲方自身原因,未能按时交付,则每延期一天,甲方将额外支付乙方总费用的0.5%作为补偿;
(2)
乙方有责任按期向交付甲方源代码和设计文档,实现项目中的所有功能,如因乙方自身原因,未能按时交付,则每延期一天,甲方将扣除乙方总费用的0.5%作为补偿。如确因甲方原因,造成乙方未能按时交付,则乙方不承担由此造成的甲方的损失。
五、适用法律:
本协议按中华人民共和国法律解释。
六、仲裁
对在本协议履行过程中出现的争议,双方本着友好协商的原则予以解决,如协商不能解决时,合同的任何一方可将争议提交本地仲裁委员会,并按该委员会的仲裁规则进行仲裁。仲裁决定对双方都有约束力。争议进行仲裁期间,除争议事项外,甲乙双方应继续履行各自本合同中规定的义务和行使权利。
七、甲乙双方指定联系人及联系方式 甲方: 联系人: 联系电话:乙方: 联系人: 联系电话:
若甲乙双方变更联系人,需要做出书面通知以告知对方。
八、其它:
本合同壹式贰份,双方各执壹份,签字盖章有效。甲方:
代表签字(盖章):
随着软件产业及信息服务外包产业在全球范围内的迅速兴起与发展, 如何培养高素质软件工程人才, 实现高校软件工程专业人才培养与社会需求无缝对接, 已经成为目前各高校软件工程专业人才培养体系所亟待解决的重大问题。“软件项目管理”课程作为各高校计算机软件工程专业的一门重要的专业必修课程, 对于奠定培养软件工程专业技术与管理复合型人才的理论基础起着重要的作用。然而, 软件项目管理课程知识点繁多, 概念、运算枯燥难懂, 学生学习兴趣不足, 难于找到成就感;此外, 由于学生没有工作经验, 对于课堂中学到的理论不知如何在项目中运用。基于以上的问题, 笔者根据多年的企业工作经验, 经过多轮教学的磨合, 总结出一套项目教学的方法。通过教师扮演软件项目的甲方, 学生分组扮演软件项目开发的乙方, 共同完成软件项目的开发管理工作。在项目中, 融入理论讲解, 理论指导实践, 融会贯通。让学生对课程内容产生兴趣, 主动自发的学习课程知识。
2 项目教学过程
课程在介绍项目管理的理论知识的同时, 通过一个《信息管理系统》贯穿始终, 让学生对每个理论知识有个直观的认识, 知道这些理论知识在项目中是如何实际运用的。然后通过8个子项目的实验, 让学生分组合作, 在组中模拟项目中的项目经理, 需求分析人员, 设计编码测试人员, 质量管理人员, 配置管理人员等角色。并在老师指导下, 独立完成项目《图书借阅系统》从启动到结束的全部管理控制过程。8个子项目的内容, 具体如下:
接下来对每个子项目的过程设计如下:
2.1 项目启动。
项目提出:教师模拟项目甲方, 基于学校的信息数字化和现代化的管理需求, 提出《图书借阅管理系统》的项目需求, 给出项目招标书, 希望能在半年的时间内, 由乙方完成该系统的开发工作。由学生自由成组, 模拟乙方, 分析项目后, 写出项目建议书, 参与竞标, 中标后, 即可启动项目。项目知识准备:项目基本概念、项目初始过程、项目授权、生存周期模型。任务实施:a.乙方分析项目b.竞标竞演c.项目立项
2.2 进度管理。
项目提出:项目启动, 项目范围确定后, 接下来我们想想, 我们多长时间能做完这个项目呢?怎么估算和实际情况更接近呢?项目进展过程中, 如果时间上或延迟, 或提前了, 那我们如何把控我们的项目呢?项目知识准备:a.进度管理图示b.进度估算方法c.进度编排方法。任务实施:a.估算项目进度b.关键路径法进行项目进度编制c.会用ms project绘制工程表, 实施进度管理。
2.3 成本管理。
项目提出:我们的项目的报价是怎么产生的?我们项目有哪些成本, 利润又是多少?我们给客户报多少钱, 才不会赔钱?在项目中, 如果钱比预计的花的多, 怎么办?项目知识准备:成本估算方法、成本预算方法、成本控制方法。任务实施:a.成本估算b.成本预算c.成本管理。
2.4 质量和风险管理。
项目提出:项目做完, 进度没有延迟, 花销没有超支, 但客户仍然可能不满意, 为什么呢?因为项目的质量没有达到客户满意的标准。项目中可能存在哪些风险导致项目失败呢?项目知识准备:a.制定质量标准b.进行质量保证工作c.进行质量控制工作d.识别风险e.评估风险f.规划风险g.控制风险。任务实施:a.完成质量计划, 会对质量进行控制b.完成风险计划, 并能对项目中的风险进行应对。
2.5 人力资源和沟通管理。
项目提出:项目中最大的资源是什么资源?是人。每个人都是一个个体, 想让一群人, 高效, 目标一致的做好一个项目, 是个很困难的事。那我们会做哪些工作去建设好一个团队呢?人和人之间需要沟通, 怎么沟通才更有效呢?项目知识准备:a.项目组织结构b.责任分配矩阵c.人员管理计划d.团队管理e.沟通方式f.项目沟通计划。任务实施:a.人力资源管理b.沟通管理。
2.6 配置管理。
项目提出:项目中产生很多代码和文档, 放哪好?代码和文档会多次修改, 有时候想找以前的版本怎么办?多人合作共同开发一个功能, 能不能各自开发各自的, 然后自动整合?其他开发人员未经允许修改了你的代码怎么办?项目知识准备:a.配置管理过程b.配置管理工具VSS的使用方法。任务实施:用VSS进行项目配置管理。
2.7 合同与集成管理。
项目提出:项目最初我们签订了项目合同, 在我们做项目的过程中, 有没有可能去修改合同呢?要修改的话, 如何操作呢?前面我们学习了项目的范围管理、进度管理、成本管理、质量管理、风险管理、人力资源管理、沟通管理、配置管理, 合同管理, 这些管理之间必然有着这样那样的联系, 管理不好, 可能会互相牵制, 互相矛盾。那如何让这些管理相辅相成呢?项目知识准备:a.合同管理b.集成管理。任务实施:a.将《图书借阅系统》的一部分功能外包, 作为合同的甲方写一份合同。b.整理之前的所有项目计划, 形成集成计划, 注意各个计划之间的协调性。
2.8 项目结束。
项目提出:项目最后, 编筐编篓都在收口, 收口阶段要做哪些事呢?项目知识准备:a.合同结束b.项目结束。任务实施:a.乙方整理所有项目成果物, 甲方验收乙方的成果, 验收通过, 宣布合同终止。b.项目提交后, 写项目总结。
3 项目验收与评价
老师 (甲方) 和项目经理共同验收子项目, 评价包括甲方评价, 项目经理评价以及组内成员互评。最终通过答辩的方式, 教师根据学生在组内担当的角色, 以真实项目中的问题提问, 让学生根据所学知识做出案例的分析。
结束语
笔者结合多年的企业工作经验, 将实际的项目开发管理过程贯穿到课堂当中, 通过软件项目开发过程中涉及的管理问题, 一步步引导学生学习软件项目管理知识, 并把理论知识根据自身担当角色, 应用到项目中去。笔者已申报了校级项目教学示范课, 并取得了初步成果, 笔者会在实践中不断完善项目教学过程。
参考文献
[1]李蓉, 叶俊民, 杨艳.基于案例任务驱动的软件项目管理课程实践[J].计算机教育, 2014, 7.
[2]韩万江, 姜立新.软件项目管理案例教程[M].2版.北京:机械工业出版社, 2011.
[3]夏辉, 范书国.基于项目导向和实践考核体系的软件项目管理课程教学模式的研究[J].沈阳师范大学学报·自然科学版, 2014, 1.
[4]刘海, 周元哲.面向专业能力培养的软件项目管理教学研究[J].计算机教育, 2013, 9.
关键词:软件项目;质量管理;研究
中图分类号:F270.7文献标识码:A文章编号:1007-9599 (2010) 13-0000-01
Talking on Software Project Quality Management
Ba Wenguang
(Dongying Office of Shandong Rural Credit Cooperatives,Dongying257000,China)
Abstract:Software quality management throughout the whole life cycle of the software is very important.This paper describes the main contents of eye quality management,puts forward the measure improving software project mass.
Keywords:Software projects;Quality management;Research
海爾总裁张瑞敏说:“有缺陷的产品等于废品。”的确,产品质量是企业生存的根本。当前,IT企业越来越重视软件项目的质量,而质量管理对软件项目成败又有着直接的影响。因此,研究软件项目质量管理,探索提升软件项目质量的途径成为一个热门课题。
一、软件项目质量管理的内容
软件项目的实施过程也是软件质量形成的过程,涉及软件产品的各个层面。软件项目质量管理主要包括软件项目质量计划编制、软件项目质量保证和软件项目质量控制三个过程。
(一)软件项目质量计划编制
软件项目质量计划是软件质量管理的行动纲领,通常由项目经理和质量人员共同协商制定质量计划。它包括确认与项目有关的质量标准以及如何满足这些标准。如果机构有独立的质量人员,就由质量人员起草《质量管理计划》,递交给项目经理和质量经理审批。如果机构没有独立的质量人员,就由项目经理兼任质量人员和质量经理的角色。质量计划的主要输出结果有:质量管理计划、质量度量指标、质量检查单、过程改进计划等。
(二)软件项目质量保证。
质量保证的实质是检查项目的工作过程和工作成果,是否符合既定的规范。质量保证的要点:找出明显不符合规范的工作过程和工作成果,及时指导开发人员纠正问题,切勿吹毛求疵或者在无关痛痒的地方查来查去。质量人员首先设法与项目成员协商,给出解决措施。在项目内难以解决的质量问题,由上级领导给出解决措施。这个过程的主要输出结果是:过程质量检查结果、产品质量检查结果、问题与对策和经验总结。
(三)软件项目质量控制
质量控制主要是监控特定的项目结果,确保它们遵循了相关质量标准,并确定提高整体质量的方法。这个过程常与质量管理所采用的工具和技术密切相关。例如,帕雷托图、质量控制图和统计抽样。质量控制的主要输出结果包括:质量控制度量、有效和建议的缺陷修复、建议的纠正和预防措施、请求的变更、质量基线更新、组织过程资产更新和项目管理计划更新等。
二、提高软件项目质量的措施
(一)确立有效的质量标准体系
建立必要的质量标准是进行软件项目质量管理的前提和关键。根据在实施软件项目方面的整体战略规划与软件项目实施计划,实施软件项目的主体企业首先要确立衡量项目质量的标准体系。衡量项目质量的标准一般包括项目涉及的范围、项目实施的具体步骤、项目周期估计、项目成本预算、项目工作详细内容安排、质量目标要求以及客户满意度等。值得注意的是,项目质量标准体系一定要具备完整性、科学性与合理性,项目实施各相关主体应该事先进行讨论与沟通,以保证其完整、无漏洞,又具备较强的可实施性。
(二)做好技术评审
技术评审的目的是通过同行专家对工作成果的评审进行讨论,尽早地发现工作成果中的缺陷,并帮助开发人员及时消除缺陷,从而有效地提高产品的质量。质量人员应当参与重要的技术评审会议,这样既监督了技术评审,又加深对工作成果的了解。技术评审可以在任何开发阶段执行,不必等到软件可以运行之际,越早消除缺陷就越能降低开发成本。技术评审的价值在于“请同行专家评审工作成果,找出缺陷,给出改进建议”,而不在于是否按照规范召开了评审会议(形式是次要的)。技术评审时,项目经理一定要请真正内行的人参与评审,而且要让评审者投入一定的精力,这样才可能取得评审的效果。
(三)提高项目文档质量
按照软件质量管理的要求,在软件生命周期的各阶段应该及时、认真的编制相应的文档。软件项目文档质量不高的主要原因:一是缺乏评价文档的质量标准;二是对文档编写不够重视。质量差的项目文档会削弱对项目的管理,增高项目成本,甚至造成更加有害的后果。我们必须加强对文档质量的检查,提高项目文档的质量。一般在项目文档检查中主要检查“软件需求说明书”、“详细设计说明书”、和“软件测试报告”。另外,我们还要检查上述文档的评审记录,评审结论,重点检查文档中发现的问题是否已经归零。
(四)建立有效的激励机制
通过有效的激励机制,让员工慷慨激昂、充满激情的全力工作,是提高产品质量的重要手段。根据马斯洛理论我们知道:不同的人,有着不同的需要。因此,调动员工的积极性,需要实行多样化激励方式。项目管理者需要对员工进行分类,建立员工分类手册,并且要建立重点员工的个体分析表,以便采取多样化激励措施。斯金纳的操作性条件反射理论告诉我们:当行为结果有利于个人时,行为的得到强化,表现积极主动,愿意重复;当行为结果不利于个人时,行为得到弱化,表现消极被动,不愿意重复。若根据日常考核结果,进行即时化奖惩,该表扬的表扬,该批评的批评;该奖励的奖励,该处罚的处罚。人的行为即时反映出奖罚结果,那么他下一个行为就能即时根据奖罚作出调整。这样就容易发挥奖罚的作用,使项目按照正确的方向顺利进行,从而提高软件产品的质量。
参考文献:
[1]项目管理协会.项目管理知识体系指南[M].北京:电子工业出版社,2009,4
1、负责项目管理,组织项目组成员开展项目建设,负责验收工作;
2、负责制定项目总体计划,编写项目过程文档,跟踪项目进程,把控关键节点;
3、负责协调客户、公司内部资源,解决项目建设中遇到的问题,有风险管理意识;
4、负责维护客户关系,发现新的需求,协助销售人员进行新项目跟进;
5、负责团队的日常管理与建设,提升团队战斗力。
任职资格:
1、掌握基本的项目管理知识,有一定的项目管理经验和实施经验;
2、掌握Oracle、SQL Server数据库知识,熟练应用Tomcat,Webphere等中间件软件;
3、了解大数据相关技术知识;
4、具备较强的沟通能力、组织协调能力;
(本单位技术合同编号:2009-6-22)
软 件 销 售 合 同
(正本)
软件名称:CE-HOTEL8.0酒店管理软件
甲方:
乙方:
签约日期
及 地 点:年月日于市登记机关
一、软件名称:
二、项目标的技术的内容、范围:
1、系统应采用客户机/服务器(CLIENT/SERVER)模式。(由甲方提供)
2、系统使用操作系统(由甲方提供)
采用MICROSOFT WINDOWS 2000 SERVER 网络操作系统。
3、客户端操作系统(由甲方提供)
客户端电脑用WINDOWS 2000/XP 等其他界面操作系统
4、系统使用数据库(由甲方提供)
采用MICROSOFT SQL SERVER 2000大型关系型数据库。
5、功能模块见附件一、三、履行的计划、进度、期限、地点和方式:
1、期限:乙方接甲方通知后48小时内进场安装培训。
2、地点:
3、培训:乙方向甲方提供以下的培训内容:
培训一名系统管理员(包括WINDOWS 2000、SQL2000及酒店管理软件);
培训甲方需要数量操作员;
协助实施整个系统的初始化;
培训期至少为一个星期。
4、后续服务:
当甲方系统发生故障时,可通过服务热线(白天0527-8999007,夜间***)或通过传输电子邮件(SHYLIUFENG〃com)通知乙方,乙方通过远程网络访问负责
解决问题;若远程无法排除故障,乙方专业人员现场负责解决;
乙方技术人员每年应上门巡访检查系统运行状况,保证客户的系统安全、稳定、持久地运行;
提供同级版本升级服务;
自软件安装之日起一年内免费服务,一年后的服务协议另签。
四、价款、报酬及其支付方式:
1、总价为人民币:元整。
2、合同签定后甲方支付合同总额的%即,人民币元整,乙方进场安装培
训后甲方再支付合同总额的%即,人民币元整.3、若因甲方原因(人员或设备不到位)导致某些模块暂时不能使用的,不影响付款,一旦甲方条件具备,乙方即派出技术人员到现场,确保甲方工作的正常进行。
4、软件实施期间甲方负责免费提供乙方技术人员的住宿和工作餐。
五、技术情报和资料的保密事项:
软件为乙方的知识产权,甲方具有永久使用权,但不得透露于第三方。
六、资料移交内容:
光盘一张或U盘一个,内含“CE-HOTEL8.0酒店管理软件”一套及使用说明一份。
七、违约金或者损失赔偿的计算方法:
甲乙双方若有一方违约,违约方向另一方赔偿违约金人民币壹万元整。
八、争议的解决方法:
因履行本合同发生的争议,由当事人协商解决,协商不成的,依法向南京市仲裁委员会申请仲裁。
九、其它:
1、合同一式贰份,双方各执壹份。
2、本合同一经双方代表签字盖章,立即生效。
3、本合同终止日应在双方完成所有的合同义务时。
4、合同未尽事宜双方协商解决。
1.协议双方
甲方:-
乙方:-
2.合作项目
为了更好的做好服务工作,长期建立合作关系,经双方认真协商,本着平等互利、相互信任的原则,特定立本合同,以便共同遵守.3.总则
一、甲方的权利和义务
A、甲方的义务:
1、为确保软件真正的能够发挥作用,甲方必须指定专人参加培训和负责软件应用,根据实施需要组建项目小组。
2、为了保证软件正常运行,甲方必须保证提供相应的软硬件环境。
3、甲方在乙方进入现场安装和调试时,提供必要的支持和协作。
4、甲方不得进行盗版活动,不得出租、转让给他人,否则后者不再享有甲方的相关服务。
5、甲方应积极向乙方提出软件的相关改进意见和建议,以利于乙方的改进工作。
B、甲方的权利:
1、甲方有权利享受软件授权协议中的权利
2、甲方有权利要求乙方提供完善优质的服务。
3、甲方有权利要求乙方负责软件的升级等售后服务工作。
二、乙方的权利和义务
A、乙方的义务:
1、乙方根据甲方的需求,提供优秀的正版软件产品,具体软件清单见附件1。
2、乙方负责软件的安装和调试,以及相关的培训工作。
3、乙方负责软件的售后服务,乙方通过电话、网络或上门的形式提供完善的售后服务,承诺8小时内解决软件的调试工作。
4、乙方 负责培训甲方相关人员,学习软件的安装维护和数据的备份等工作,协助甲方使用和管理。
5、乙方承诺软件的载体(光盘、硬盘、加密狗等)如非人为因素损坏,一年内免费调还,但如甲方丢失加密狗,需按照相关软件产品价格赔偿。
6、乙方负责软件的升级工作,乙方承诺软件同版本间免费升级。
B、乙方的权利:
1、乙方是产品的版权持有人,如甲方要求二次开发,可向甲方开放部分源代码。
该协议自______年___月__日起生效。
三、有效日期:
四、付款方式
1、合同的总金额为人民币____________元整。
2、在软件安装、调试完成,交付乙方使用,并把相应载体交给乙方后一周内付清全部款项的__%,即人民币
____________元整。
3、自本协议签订之日起一年内,甲方向乙方付清尾款人民币____________元整。
五、其他
1、双方由于不可抗拒的灾害和确定非一方本身造成的原因而不能屡行合同时,可免予承担经济责任。
2、本合同自签定之日起,双方盖章签字后生效,任何一方不得擅自修改或
终止,如需修改或终止时,应双方协商同意,另立协议方可有效。
3、本合同在执行期内任何一方违约,双方都有权按《中华人民共和国经济合同》有关规定处理。
4、本项目各类资料双方有义务负责保密,不得外泄。
5、本合同正本一式两份,双方各执一份。
六、双方签字:
甲方: 乙方:
签 约 人: 签 约 人:
地址: 地址:
邮政编码: 邮政编码:
电话: 电 话:
帐 号:帐 号:
oduction目^'1 jri'Bi3———aaasiri nj i ILLI2SSICBS9户管理系统:CRM系统建设目标就统一的客户信息系统平台, 采用先进工具等决策分析技术发现潜在的用户机会, 为客户提供个性化服务, 并且客户业务建立一个业务管理支撑系统, 户的市场营销、服务管理工作系统化、略化, 对客户的特定要求提供个性化售前、售中及售后服务。统集成工程案例M氬|1山H*安金KSJ5工鬌设计施工备案证明单位名Ri{M本) 5*人《醍, -编.注11**1·.山.·.»ft C JT‘螬富4-软件企处认定证书《鼴net件产金H氬釀暾M产鲞复KK'HTXIM�U<tttt企金f AX««SKIt办认sa«傳金ft.nsita.看丨:软件产品记证书*aaft*o>>va««JMi»ftvi«|$合UXJttttft产ftm«成�a»产4发展的费干政*》io it拌产a«a办法》的《关《x.*子e«, «»此证«_企&i£«K«|有》期翁环境噪声自动监測j系统:是基于微软公司的lis服务系统上开发的一套WEB应用程序。本系统提供了噪声数据的统计分析功能, 通过浏览器就可操作查看, 使操作更简单, 更灵活, 适用面更广。该系统主要功能包括数据审核、数据查询、报表生成、系统设置等。数字校园网络工程:大同市十一中数字校园网络工程、同煤二中数字校园网络工程大同市十二中数字校园网络工程 (在建) 、雁北煤校校园网络工程大同市铁路第一中学学校校园网格工程大同市第七中学校校园信息化系统及设备工程大同市云岗中学信息化工程建设项目视频多媒体工程:大同市纪检委及各区县视频会议工程、大同市交警支队视频会议项目应用网络系统工程:大同市纪检委IP电话工程、大同市旅游局电子化管理和商务网络建设系统朔州市财政局国库集中支付系统、大同市纪检委一网六平台监测系统大同市统计局网络防护项目大同市国税局机房维护项目大同市车管所所需电子档案管理系统项目安防监控工程:大同市南郊区教育局国家标准化考点建设工程大同市人民政府防汛抗旱指挥部办公室视频监控工程中共大同市委党校监控工程
巨资研发先进软件系统
徐建华是个研发软件的奇才,公司凭借领先的技术和专业的人才运营得风生水起,2006年7月,有一位台商主动找到徐建华,谈到台湾地区正积极研发适用于医药流通管理的系列软件,有意和徐建华一道开发大陆市场。徐建华非常高兴,觉得这是一次难得的机会。他找到另一位工程师,并和一家医药机构签订了开发协议,由这位台商投资这个研发项目。
医药流通管理系列软件是一款专门用于为一个医药行业提高物流管理水平的新型软件,目前在国内还没有完善的研究成果。考虑到该行业特殊,现成的统计数据很少,更没有专门研究其工作特点的资料可寻,为慎重起见,徐建华与研究人员在前期项目设计上不仅查询了大量相关资料,而且亲自走访了一些潜在用户。在此基础上制定出完善的研究思路;将研究流程分为概念收集、概念测试和样品测试三个阶段,并为此制定出细致的项目计划。
与投资商统一了思想,徐建华和研究团队一猛子扎进去。发轫之初很顺利,产品设计研发启动后,买来了数万元的调试设备,还招聘了几个专业的技术人员,徐建华带领研发团队日夜兼程地进行程序设计。财富仿佛在触手可及之处,心情如三月的春风吹拂。
遭遇投资人恶性干涉
尽管短期与长期的利益决断、既不确定但又充满憧憬的商业前景,是任何一个伟大的商业冒险面临的共性问题,但是这项创新软件的完结,还是出人意料地来得如此之快。
研发工作在几个月内持续进行,日常开支令创业的资金一天天在减少,这种趋势让投资人心惊。虽然徐建华和那位投资的台商曾达成协约,将研发三个阶段全部进行完再投入生产,但是三个月毫无利润的研发,毫无改善的希望,使当初的协约再也无法继续。投资人眼看着资金全部注入而没有任何市场回报,他想让研发跳过概念测试阶段直接进入样品测试,这样,产品会早一点投入生产,进入市场。
可徐建华认为,研发医药流通管理系列软件是一个复杂而专业性较强的软件,必须经过概念测试阶段,如果不经过此阶段直接进行样品测试,很可能会返工,影响研发效果也容易推迟进度。几次激辩之后,矛盾最终公开化。开始时还只是针对公司事务方面的矛盾,到后来逐渐转化为个人之间。不断在彼此间滋长的不满乃至人身攻击,导致与投资人合作的灵活性和高效率等优势丧失殆尽。
终于,在软件开发还剩最后一阶段的时候,投资人撤走了剩下的所有资金,此时的徐建华已经无力承受过大的成本开支,结果只能是失望。至此,这套医药流通管理系列软件完成了“医药零售管理版”的《说明书》、《维护手册》、《实施手册》、《F1帮助》等部分的撰写工作,完成了行业的西药、中成药、新特药、医疗器械、化学试剂、玻璃器皿等大类商品的描述及经营特点的调查,完成了“医药连锁管理版”、“医药批发管理版”的问题识别、评价与综合、规格说明、内部评审。但由于资金的撤出,“医药集团管理版”开发程序完成只完成了三分之一,单元测试、组装测试、系统测试工作以及《操作手册》、《技术手册》、《实施手册》、《维护手册》、《二次开发指南》的撰写工作也都没有完成。
2006年国庆节,大部分人的欢乐时光,对徐建华而言却是异常痛苦的煎熬。由于没有任何赢利,团队成员之间也爆发了一场宣泄情绪似的冲突,研发人员相继离开公司,徐建华变成了独木支撑危房。
2007年4月春暖花开之时,苦苦挣扎的徐建华回天无力,公司被迫关闭。
反 思
此后很长时间,徐建华都在思考这次创业失败的前前后后。
徐建华坦言,他们对于此番新项目的风险明显缺乏相对准确的估计,主要失误主要表现在以下几方面:
一、对单一投资人的依赖和缺乏长远预期
虽然单一投资因为资源和资金的集中,在项目选择正确的情况下,常常会给企业带来好的收益,但单一投资的风险也是显而易见的,它可能使创业者苦心经营的项目毁于一旦。形象地说,项目依赖于单一的投资方,就像把所有鸡蛋放在同一个篮子里,一旦篮子打翻,鸡蛋也就全部摔破了。而由多方面构成的组合性投资来源,可以大大减少单一投资人所带来的投资风险。作为一名以技术为专长的创业者,在进行创业决策时,一定要尽可能拓展思路,培养多角化创业思维方式,保持投资方的多元化,并注意在项目与资金之间达成平衡。
在长达几个月的研发过程中,明显感觉到资金吃紧,但并没有实施具体的措施来扭转这种只有消耗没有收入的局面,这是相当可怕的。任何的技术创新都必须有强大的资金支持和后期的方案实施,否则失败率会大大增加。
二、对技术的偏爱和追求完美
作为技术研发出身的创业者,徐建华对技术有着天性的偏好,一项技术从构想到一步步走向成熟,期间通过自己和团队的努力,克服一个又一个难关,渐渐变成有使用价值的产品,本身就是一个容易让人陶醉的过程,不但弥漫着成就感,而且满足着研发者的诸多意愿和欲望。因此,当近乎溺爱地带着新技术产品开始创业后,不管是思维方式、行为方式还是潜意识里的情感、是非标准等,都难脱离技术开发情结,更多想着的是这项技术还可以更完美、更无暇。正是在这种追求完美的过程中,创业者忽视了技术产品的其它诸多工作,把本应在产业化过程中众多更为重要的企业元素、市场元素,有意无意放到了次要位置。不尽如人意的反馈和回报,又打击了创业者的信心,使其进一步躲进技术创新的狭小天空里。于是追求技术的完美无暇成了堂而皇之的理由,成了说服自己,平衡自己的砝码,直接影响了企业的成长,延误了技术创新成果的产业化、商品化。
三、对市场的迟钝和耽于想象
大量的企业负责人在创建企业后,对市场极其迟钝,没有真正投身到市场之中,透过纷繁复杂的市场表象,依据自身技术成果的特点特征找到产业化、商品化的真正内在市场规律。从而导致好端端的技术成果在产业化中步履维艰,处境尴尬,延误了一次又一次市场机遇。
徐建华最后告诉记者:即使以上所说的一切都做对了,成功仍然有风险。很多时候,失败的到来,也许一些很不起眼的因素就能起到很关键的作用,但技术创新依然让众多企业欲罢不能。
产品创新是关系到公司生死存亡的大事。没有创新的企业会怎样?不少“知名”品牌,它们的管理者在早期抓住商机一夜暴富,可最终难免过度竞争卷入价格战走下坡路的结局。其失败的重要原因就是企业缺乏创新能力。产品创新固然重要,创新的风险却很难避免。环顾四周,不难看到,技术的更新换代可谓一日三秋,市场机会可能稍纵即逝。如果你是那个第一个吃螃蟹的,而你在决策时恰恰没有办法做到足够的前瞻,等待新产品的也许就是短命而无利的结局。
为帮助本刊改进质量,请告诉您对这篇文章的看法。
乙 方:
甲,乙双方经友好协商,一致达成本协议.双方申明,双方都已理解并认可了本合同的所有内容,同意承担各自应承担的权利和义务,忠实地履行本合同.一,合作内容
乙方为提高企业信息管理化水平与公司形象,特委托甲方为其客户管理系统软件,详细要求见附件.二,合同期限
自 年 月 日始至 年 月 日止.三,甲方权利与义务
1, 甲方所开发软件是自行研发的,保证不是侵权软件.2, 甲方将严格按照乙方提出的各项技术指标,要求进行软件的开发设计.3, 甲方开发的软件不得含有病毒,不得含有黄色,反动及违反国家法律规定的内容.4, 甲方所开发软件的所有权,版权归甲方所有,乙方只有使用权.5, 甲方只对乙方提出的书面要求进行开发.6, 甲方交付软件时将对乙方提供相关技术培训及售后服务.四,乙方权利与义务
1, 乙方托付甲方所开发的软件保证不含有反动,黄色及违反国家法律规定的内容,否则甲方将不予开发.2, 乙方必须保证对甲方所开发的软件不作任何侵权行为,如不进行拷贝,篡改,泄露给第三方使用等,否则甲方将追究乙方的法律责任.3, 乙方托付甲方开发软件时必须以书面形式(一式二份且加盖公章)详细地说出需求模块,提供给甲方各项技术指标.4, 乙方托付甲方开发的软件在签订合同之后如需增加其它功能,必须以书面形式呈交给甲方,甲方做改动并酌情收取适当费用.五,乙方验收标准
1, 乙方验收时,不得对甲方所开发的软件提出附加条件.2, 甲方所开发的软件符合乙方呈甲方的附件要求及各项技术指标即为合格.3,甲方完成软件工作, 乙方应在三日内组织验收,超过七日不验收,视为验收合格.六,费用结算方式
1, 该软件乙方付给甲方费用总金额 元整.2, 甲乙双方签订合同当日,乙方将预付保证金 元整(占总造价_______%).3, 甲方交付软件当日,乙方验收合格后付甲方人民币 元整(占总造价_______%).4, 甲方收取完开发费用后,免费为乙方维护软件 个月.『该文章由(第一§范┆文网)整理,版权归原作者、原出处所有。』
5, 免费维护期过后,乙方如需甲方对该软件继续进行维护,甲方将提供有偿服务.6,付款方式_______________
七,违约责任
1, 由于乙方未及时提供软件开发所需的信息而导致甲方工作不能按时完成,甲方不负任何责任,并有权向乙方提出延期要求,延期时间由双方协商确定.由于甲方原因未能按时完成软件的开发,乙方有权向甲方提出索赔,具体额度由双方协商确定,但最高不
超过合同中乙方支付费用总金额的10%.八,争议解决
本合同履行过程中如发生争议,双方应本着友好合作的精神共同协商解决.九,合同终止
1, 任何一方终止合同,需提前10个工作日书面通知对方,并说明正当的终止理由,由双方代表签字后方可终止本合同.于战争,地震,火灾等不可抗拒因素导致的工作中断,双方均不承担责任,待条件恢复后,由双方协商确定合同内容的变更.十,附则
1, 合同签订前未尽事宜,双方协商解决;合同签订后,经双方当事人协商一致,对本合同有关条款进行变更或者补充时应以书面形式确认.2, 本合同一式两份,双方各持一份,具有同等的法律效力,自双方授权代表签字或盖章后生效.3, 本合同的详细要求见附件,附件具有同待法律效率.甲 方:乙 方:
代表人: 代表人:
甲方:**公司
乙方:
甲方将软件的部分外包给乙方开发,为明确双方责任,本着相互合作、互惠互利的原则,共同协商后达成如下协议:
第一条:合同标的1、软件项目名称:
2、内容及要求:
根据甲方设计要求,乙方在规定时间内完成“”软件部分的开发。
3、开发时间:以合同签定之日起一周为限。
第二条、双方的权利义务
1、甲方的权利义务:
(1)、甲方应当提供专人与乙方联络并对乙方的开发进度及质量进行监督;
(2)、甲方应当提供软件开发所需要的所有数据交给乙方,并保证数据的正确性;
(3)、甲方应当及时支付软件开发费用,保证软件开发费用及时到位;
(4)、甲方应当依合同约定,及时检验、测试所开发的软件;
(5)、甲方享有本合同相关作品、程序、文件源码的版权及所有权;
(6)、甲方在软件符合约定时,依合同约定接受软件。
2、乙方的权利义务:
(1)、乙方有责任按甲方的要求在规定时间内完成项目开发,完成需要开发的内容;
(2)、乙方应当与甲方讨论制定软件开发计划,并按照约定,及时、正确的完成软件的开发;
(3)、乙方在其开发的范围内有为甲方提供咨询及维修的义务;
(4)、乙方不得将本软件委托或外包给他人完成;
(5)、乙方对本软件的开发及在开发过程中所获得的所有数据负有保密的义务;
(6)、乙方不得在程序中加插和软件功能无关的程序或预留一些危害软件安全的漏洞;
(7)、乙方在开发出符合合同约定的产品后有权要求甲方依合同约定支付报酬。
第三条、外包软件的交付
1、乙方应当在双方约定期限内将软件产品交付甲方;
2、乙方交付产品时需要向甲方提交如下材料:
(1)、完成甲方功能要求的可执行软件;
(2)、软件的源代码;
(3)、软件开发过程中产生的其他文档。
3、开发完毕,乙方应将软件相关的文件、源代码移交给甲方,不得将其应用在其它用途。
第四条、验收
1、开发阶段的验收:
甲方应当依开发计划在每一个开发阶段对乙方所开发的产品进行检测和验收,在不符合开发计划时,甲方有权要求乙方修改;
2、产品交付的验收标准:
a、程序正常运行;b、方案中提到的功能全部实现;c、项目按时完成;
d、文档和源代码齐全;e、软件通过审核上线。
第五条、付款
本协议采用转帐方式付款。
软件开发总费用人民币元。甲方按开发进度分两个阶段向乙方支付:
1、合同签定后,个工作日内首付合同总额的30%,金额元;
2、验收通过后,支付其余款项
3、在实施过程中,因甲方需求变更所引起的费用变更,由甲乙双方协商解决。
第六条、保密协定
1、乙方对本协议内容、项目开发成果及开发过程中涉及的文件、资料材料负有保密义务,未经甲方书面许可,不得向任何第三方泄漏;
2、乙方对甲方提供的、对本次开发有关的资料负有保密义务,未经甲方书面许可,不得
向第三方泄漏;
3、乙方有责任对甲方所开发的软件进行保密,在未经甲方书面许可的情况下,不得向第三方泄露;
4、本合同履行过程中乙方获知的另一方的商业秘密或其他技术及经营信息均负有保密义
务,不得向任何其他第三方透露或泄露;
第七条、知识产权归属
1、因本协议产生的开发成果(含源代码、系统技术文文件、软件、数据等)由甲方享有
知识产权,未经甲方书面许可,乙方不得擅自许可任何第三方阅读、使用或复制;
2、乙方保证其开发过程、开发完成的软件及相关产品不侵犯任何第三方的知识产权。
第八条、违约责任
1、如果因为甲方原因使开发无法完成,乙方有权终止开发并不退回首付款。
2、如果因为乙方原因使开发无法完成,甲方有权终止开发并要求乙方退回首付款。
3、如因不可抗力或意外事帮导致本外包合同所指向软件开发无法继续时,该合同自动
终止,违约责任由双方协商解决。
第九条、其他条款
1、本合同经双方授权代表签字,自签订日起生效;
2、本合同一式两份,双方当事人各执一份,具有同等法律效力。
甲方:乙方:
授权人:身份证号:
[关键词] 软件项目 软件质量 软件质量管理 软件项目管理
一、引言
软件产品是软件项目的最终结果,与其相关的质量问题主要来自项目开发过程。但软件是一个纯智力的特殊产品,描述软件质量的定义则比描述实际物品质量定义面临着更多的潜在因素。所以,保证软件质量比保证设备质量更具挑战性和不确定性。
国际化标准组织ISO在ISOPIEC9126中将软件质量定义为:“反映软件产品满足规定需求和潜在需求能力的特征和特征的总和”。而M. J . Fisher 将软件质量定义为:“所有描述计算机软件优秀程度的特性的组合”。目前,对软件质量的研究主要从两方面展开:一是软件开发过程的质量保证,以过程文档化和管理科学化为内容;二是软件过程和产品的质量评估,包括中间产品和最终产品,采用软件度量技术作为软件质量特性量化的主要技术。本文将就第一个方面展开讨论,通过给出或设计一些符合文档化开发标准的管理规范和文档模板,以达到使软件质量满足之前用户对各项功能或性能的精确定义的目的。
二、项目概况及背景
某船厂在信息集成系统CIMS第一期结束后,初步建立起企业的基础信息资源的共享平台,并将物资管理与财务管理进行了整合。但在第一期CIMS平台中没有对其涂装生产管理建立相应的系统。为尽快解决涂装生产管理的问题,项目组在进行一个月的需求调研后就进入了开发。但是由于前期需求阶段没有细化需求,涉众范围太小,在开发阶段代码管理松散,导致项目在开始不久后,就处于一边开发一边继续需求分析细化的状态,并伴随不断的需求变更,最后在拖期半年后才交付了一个带有隐患的产品,而且原定两周的试运行期因为修改不断发现的缺陷也延长为两个月。
在完成涂装项目后,项目组又接到船厂关于开发生产安全监管系统的任务,为了避免同样的问题发生和提高软件质量,项目组认为要在软件开发项目过程中引入完善的质量管理,并针对船厂项目特点,结合实际情况重点覆盖需求、编码、测试三个阶段。
三、分析及应对措施
1.定义合适的项目过程
软件过程是指开发和维护软件产品的活动、技术和实践的集合。在以计算机网络为基础的现代社会信息化背景下,过程管理作为现代企业管理的先进思想和有效工具,随着外部环境与组织模式的变化而变化。因此,作为一个好的软件项目过程,必须针对企业和项目的实际情况,确定软件项目运作流程,定义软件功能及相关性能,明确各阶段的进入条件和退出条件,进行有效的过程控制与管理,在提高软件开发的效率和项目的成功率的基础上进一步保证所开发软件的质量。
在现阶段主流的软件工程过程主要是RUP(Rational Unified Process)和XP(Extreme Programming)。由于新项目的需求明确,并且项目组成员的构成方式是新老搭配,在经过综合考虑后,我们决定采用RUP方法。最后,项目组根据项目实际情况对传统的RUP模式进行按需裁剪,具体方案是将“需求与分析”和“设计”两个活动合并为“需求分析”,将“配置”和“变更管理”统一纳入“项目管理”,移除“环境活动”环节。
2.明确项目需求
对于任何软件项目过程而言,需求不仅是一个不可避免的环节,也是软件开发的基础。往往用户需求明确、变更少的项目的成功率就高,而那些用户需求混乱、变更频繁的项目几乎从一开始就注定了失败的命运。但是,在现实生活中,用户需求总是在开发进入中后期时,因为各种不同的原因而发生变化。这就给软件项目过程实施带来不确定因素。在涂装项目中,由于前期需求不明确以及随意变更需求,导致项目组在开发阶段不停的返工,进而造成代码质量低下,测试拖期等一系列问题。因此,在项目实施过程中,为了保证软件开发的顺利进行和最后交付的产品质量,应该对项目需求变更进行管理。
(1)需求说明书要描述明确、详尽。由于与用户沟通的需求人员并不是最后的开发人员,所以有可能导致开发人员对需求说明书的理解与用户真正的意图会产生一定的偏差。另外,当项目在进行到开发(编码)阶段时,由于记忆的缺失,对当初所作的需求说明书的理解也会产生偏差。
(2)要对需求变更进行管理。通常需求分析完成后项目就进入开发阶段,用户可能会因为市场或策略的变化而提出需求变更的要求。此时,若是合理变更则有利于项目实施,但有时所作的变更可能会影响项目整体的设计和开发,造成项目进度的延期。对于这一情况,项目组应该积极与用户沟通,制订需求变更说明书,在双方都认可的情况下方可实施。
(3)在项目开发过程中要尽早明确用户需求,有些内容一时无法确定则应该暂缓该部分的开发,尽量降低因需求变更而带来的风险。
3.代码走查
软件质量在很大程度上依赖于代码质量。在实际环境中对于同一项目而言,由于项目组成员的编程能力、习惯、风格、对需求的理解和个性的不同,所开发的代码质量也不尽相同。再加上一些难以预测的人为因素,由此带来的隐患将严重影响代码质量,最终造成软件质量低下,使得用户无法正常使用并为以后的维护带来更大的工作量和难度。
考虑到项目进度以及实际情况,要进行完整的代码评审不太现实,因此,在软件开发过程中可以根据需要引进代码走查。每周在规定的时间内,轮流让程序员讲解其所开发代码的主要部分。这项措施一方面可以从侧面促使程序员本人注意所开发代码的质量,另一方面在走查过程中可以获得他人的意見进一步改善代码效率,使开发成员共享项目实施过程中问题解决的思路和方法,同时还可以促进项目组成员之间的交流并加深对需求的理解,关注软件开发过程中的各个环节,并进行过程改善的讨论,使得软件质量更有保障。
4.进行正式的测试,并形成制度
测试就是对软件产品的检验。软件测试的目的是根据用户需求检查系统是否符合项目合同与任务书规定的要求。项目测试分集成测试和系统测试,主要进行功能测试、健壮性测试、性能-效率测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等活动。测试过程通常在模拟环境中进行。只有通过了上述全部测试的软件,才可以称之为符合用户质量要求的合格的软件。
测试活动要尽可能覆盖整改项目过程,从最初的需求到部署阶段,都应该制订详细的计划并编制相应的文档,如测试计划、测试用例文档、测试报告等。通过测试活动,尽可能早得发现每个阶段中软件存在的缺陷,以方便后续阶段的实施。在这测试活动过程中,我们应该遵守一条基本原则——按照用户需求进行测试。我们即不能为求速度而缩短测试规模,也不能忽视用户需求而提高测试要求。总之,一切测试应该符合用户需求。
四、结论
除了上述几个方面外,对于软件产品的质量管理还有其他要考虑的因素,如风险控制、变更管理和配置管理等等。其实,美国软件工程研究所(SEI)开发的软件过程能力成熟度模型(CMMI)和ISO9001标准,都着眼与质量和过程管理。而且在组织结构方面,国外成熟的软件企业一般都设有单独的QA(Quality Assure)部门,它与开发部门独立,负责监督流程的执行。但是,对于任何一个具体项目的实施都应制订合适的质量管理方案,不能生搬硬套,而这些需要项目经验的积累以及不断的学习新知识。
参考文献
[1]殷立欣:软件开发中的质量管理,软件质量管理,200~3
[2]赵京胜:软件企业实施CMM改进软件过程的研究,计算机工程与设计,2006~3
[3]李健:软件过程质量度量与控制,清华大学出版社,2006~1
[4]罗铁清:软件项目管理流程分析与设计,计算技术与自动化,2005~9
1.1 风险的定义
风险定义有好几种, 一是不希望事物发生变化, 二是事物存在很多的, 三是事件产生的影响。可以概括为“人们因对未来行为的决策及客观条件的不确定性而可能引起的后果与预定目标发生多种负偏离的综合。”公式表现为:风险f (事件, 不确定性, 后果) 。用数学表达式则为:R=f (s, P, X) , 其中R表示风险, S表示时间, P表示不利事件发生的概率, X表示该事件发生的后果。
1.2 风险管理的背景
随着社会对软甲的需求增大, 软件的开发技术不断更新, 难度不断增大, 但软件的数量却依然增加很多, 同时随着社会节奏加快, 软件的供应商需要提供不间断的软件更新服务。但与此同时, 各种难度的上升, 给企业在开发软件的过程中加大了风险。软件项目能否开发成功, 关系着一个企业的生死存亡。但矛盾的是, 随着开发软件的业务增大, 但对软件的质量和用途也随之提高, 这对软件开发商造成了巨大的压力, 在这种情况下, 软件风险管理和控制成为软件开发成败的关键点。
根据有关资料调查显示, 有百分之十五到百分之三十五的软件项目在开发的过程中被取消, 剩下的软件项目有的是没有在预期内完成而夭折, 或者又是软件开发的过程中超出了经费的预算。除此之外还有软件项目因为风险管理和控制失败的大约占百分之九十。目前国内的大多数软件开发企业还缺乏对软件开发项目的风险认识, 缺少进行系统、有效的度量和评价的手段。所以能建立有效的风险识别、风险分析、风险计划、风险跟踪和风险对策的机制, 是有效提高软件开发成功率的方法之一。
2 风险管理的内容
为了最大化的减少软件风险的发生, 可对软件项目进行风险管理。而软件项目风险管理过程是指软件风险从认识到采取措施的过程包括风险识别、风险分析、风险计划、风险跟踪和风险对策等, 从而将可控因素最大化, 将不可控因素到最小, 从而对未知的风险消灭, 从而对风险进行回避或者缓解。
2.1 风险识别
风险识别的常用方法通常有现场观察法, 财务报表法、环境分析法、流程图法、座谈法、相关部门配合法等。风险识别要确定影响本项目的潜在威胁的来源以及在何种条件有影响, 怎么产生并有什么特性等, 风险识别并不是一次就可以后顾无忧的, 需要贯彻到整个软件的生命周期中。
2.2 风险评估
风险评估时对风险影响力进行衡量的活动, 即衡量风险发生的概率和风险发生后对项目目标的影响程度, 从而为后面制定风险对策提供依据。对已识别的风险要进行估计和评价, 常用的方法有:概率分布、外推法、多目标分析法等。
2.3 风险计划
风险计划:风险计划是通过技术手段或者其他方法来降低风险的发生, 将风险评估后的结果进行处理。风险计划就是在软件开发的过程中起指导作用, 如先处理那个风险, 怎么消除风险, 如何避免风险等。
2.4 风险应对
风险应对就是对风险计划的执行, 共有三种方向来进行风险应对。一是风险控制法, 对存在风险进行主动出击进行消灭或许能避免风险:二是转移风险, 将存在的风险进行转移:三是风险存留, 就是风险威胁不大时, 可以对风险不采取任何措施。当然在软件的开发过程中, 要想有效的消灭风险, 就得让风险还在初级阶段的时候消灭。再者就是风险发生时, 要考虑后果再最大化的缓解风险。
3 风险的分类及各类风险产生的影响
3.1 组织和管理风险
一是管理层做出了错误决定, 技术决策导致计划进度缓慢, 延长计划时间;二是低效的项目组结构降低生产率;三是管理层审查决策的周期比预期的时间长;四是预算削减, 打乱项目计划;五是工作失误与重复工作;六是非技术的第三方的工作时间比预期的延长。
3.2 需求风险
在软件开发的过程中, 如果不能控制和需求有关的风险因素, 那么将会产生不好的结果, 如软件有可能是错误的软件或者质量不合格的软件。当然很多软件开发项目都会面对这些不确定的威胁, 如果早期对于这些不确定的风险置之不理, 那么在项目过程中也得不到解决, 那么“千里之堤, 溃于蚁穴”, 这些不能控制的威胁将对软件成功的开发造成巨大的威胁。
与客户相关的风险因素有, 第一客户对软件缺少清晰的认识, 没有对开发的软件各方面的特性以及功能有个全面了解。第二对产品需求缺少认同, 当软件成功开发时, 但对软件由于认识度不够或者别的原因导致对开发出来的软件缺少认同感。同时还存在一些需求风险因素如在做需求中客户参与不够, 又或者是没有优先需求, 再就是由于不确定的需要导致新的市场, 其次是不断变化需求和缺少有效的需求变化管理过程以及对需求的变化缺少相关分析等。
3.3 合同风险
风险存在的概率很大, 大多是因为合同里的条款比较多引起的。比如如果在软件开发的过程中, 没有对开发软件的范围有准确的定义, 并且成为合同中一部分时, 此项目即便成功了, 也很难验收, 并且项目开发的时间加长了, 极大的加大了开发的成本。这就符合了软件项目经常以一定的价格签订合同, 但签约方却希望更多的功能。
3.4 设计和实施的风险
在软件开发的准备工作, 因为设计不满足要求, 导致软件重复设计。在无法使用已有的代码或者库实现新开发软件, 导致软件的必要功能有问题, 因此软件开发人员需要重新设计代码或库现实又或者重新开发软件的功能。其次认为增强工具能节省很多时间, 但却没达到应有的预期效果。最后, 不能有效的连接整合开发的模块, 需要重新设计和开发。
3.5 人员风险
软件开发需要大量的人才, 所以人员也是风险的一个因素, 如果软件开发前, 不能对员工进行有效的培训, 那么软件开发必然受到一定的影响。再就是开发员工们和领导的关系不好, 那么必然导致领导的决策执行缓慢, 且效率不高, 工作积极性不佳, 必然影响全局。领导层不仅要和开发人员交流沟通, 塑造一种团结合作的气氛, 同时必须鼓励员工可以是口头赞许或者是物质奖励激发开发人员的工作积极性。对于员工有可能不熟悉公司的开发环境和开发工具, 其次是在软件开发过程中, 有可能后来加入的开发员工, 不熟悉开发软件的现状, 所以就需要加大开发员工之间的沟通。对于一些评估不好的开发人员, 在软件开发的过程, 由于自身的缺点而影响到其他开发人员的积极性又或者同个组里的人员因为某些事情而发生争吵, 导致沟通不利, 所以导致设计不妥或者其他一些小错误出现。最后就是企业没有招到拥有特定的人才来开发一些特别的软件。
3.6 过程风险
在软件开发的过程中, 过程因素也是一个不容忽视的风险, 在开发过程中, 如果纸面上的设计跟不上该项目工程的实施, 那么将会导致进程的计划严重推迟。如果软件开发的前期, 没有做好充分的准备工作, 那么将会导致后期工程的风险大大增加, 基础没打牢, 将会导致后期需要重复的做基础工作。其次是, 编程人员与设计人员没有良好的沟通交流, 导致软件的出炉不能符合设计员的想法, 导致质量不达标, 严重时需要重新开发软件。有时候过于守旧即就是对软件的规则反反复复的提及, 这将会导致无用功做的过多, 而实际工作少, 这也会推荐软件完成计划推迟。其次是软件开放程序员大部分时间用于软件开发的实时过程报告而占用过多的时间, 这也会将原定计划打乱。最后, 由于风险管理不细心, 没有发现软件存在的风险。
3.7 质量风险
质量风险通俗来说就是质量没达到客户的期望, 但产品质量如何好, 其风险总是存在的。在软件测试时, 即便开发商在模拟用户的各种场景及用途, 但也不能保证万无一失, 因为无法覆盖全部的操作路径, 总会存在一定的差异, 所以无法使客户百分百的满意。但是纠结如何消灭质量风险是毫无意义的, 关键是如何降低质量风险, 提高顾客的满意度, 因为提高了软件的质量, 客户的满意度也会随之上升, 这也就是控制质量风险。导致软件质量低下的原因是在原则上对软件的质量实行了保证, 但在实际过程中对软件测试的忽略或不看重;软件的复杂性导致水平要求较高以致很难实现;没能全面理解客户的需求, 导致客户对产品不满意甚至拒收;需求变更导致测试不足, 新产生的严重缺陷没能被发现;设计评审、代码评审不足都可能错过某些严重的问题。
4 风险分析和控制
4.1 风险分析
软件项目风险经常会包括许多方面, 是指软件项目开发风险在其包括开发过程、运作过程、维护过程几个阶段, 它们覆盖了需求、设计、实现、确认以及维护等活动所遇到的所有预算、进度和控制等各方面的问题, 或者是由这些问题而产生对软件项目的影响。如:软件缺乏用户的测试、软件开发没有领导层的支持, 模糊要求, 没有计划和管理等。
为了对风险分析从而进行控制以及管理又或者将风险降到最小, 而这些对软件项目开放的成败具有巨大的影响, 尤其是上述都是软件项目成败的隐患, 所以常常利用风险分析软件对风险进行分析。常用方法有风险条目检查表, 它是利用一组提问来帮助项目风险管理者了解在项目和技术方面有哪些风险。在风险条目检查表中, 列出了所有可能的与每一个风险因素有关的提问, 使得风险管理者集中来识别常见的、已知的和可预测的风险, 如产品规模风险、依赖性风险、需求风险、管理风险及技术风险等。风险条目检查表可以不同的方式组织, 通过假设分析、成本效益分析、风险剖面分析、判定树等, 给出这些提问确定的回答, 就可以帮助项目管理人员估算风险的影响。
为了让软件管理人员和开发人员能够直观的看到在软件开放的各个阶段存在的风险的状况以及每个风险危险的大小, 通常我们可以凭借风险条目检查表来做到。当一个团队接到软件开发的项目时, 通常都是按照自己已有的习惯来开发软件, 但这其中存在风险发生概率比较大, 尤其是在需求风险方面和管理风险方面, 往往决定软件开发的成败。在软件开发完成时存在很多必要的内容缺失, 是因为在软件的分析阶段不够细致, 需求风险意识淡薄所致。在整个软件的开发过程, 如果需求风险控制不好, 那么对软件开发的不利影响是巨大的或者是直接导致软件开发失败。管理风险是软件开发的管理层对与软件开放的风险意识的预见和解决的综合反映。
4.2 风险识别
在软件项目的开发过程中, 风险无处不在。如果不能正确的识别和控制风险, 那么点滴的疏漏就有可能把项目推向崩溃的边缘。
首先, 软件项目风险具有繁殖能力。如果不能识别初级风险, 那么这个风险很可能在项目推进过程中衍生出其他风险
其次, 软件项目风险具有变异能力。如用户需求的定义, 不同设计人员, 定义的结果就会发生差异。
最后, 软件项目风险具有依赖性。风险们互相依赖, 互为因果。它们就像一张无形的网, 如果找不到正确的节点, 那么它们会越搅越乱。
4.3 风险控制
为了转移或避免风险而利用一些技术, 如原型化、软件自动化、软件心理学、可靠性工程学以及某些项目管理方法等叫风险控制。发现问题要立即上报, 尽快解决。并建立风险监管日志, 实行“岗位负责制”, 将软件开发项目的风险降到最低。
参考文献
[1]俞立伟, 薛胜军.软件风险管理[J].电脑知识与技术, 2006 (35) .
[2]梁涛, 欧立雄, 黄柯鑫.基于聚类分析的软件项目风险趋势研究[J].信息工程大学学报, 2006 (01) .
[3]曹光忠.软件项目的风险管理[J].计算机时代, 2005 (06) .
[4]付玉, 邱冠周, 冯其明, 高阳.应用软件开发的需求风险及控制[J].计算机工程与应用, 2005 (13) .
[5]]孟祥睿.软件项目风险管理研究[J].经济论坛, 2005 (07) .
[6]郭研.软件项目管理[J].物流科技, 2005 (02) .
[7]蒋国萍, 陈英武.基于面向对象贝叶斯网络的软件项目风险评估[J].系统工程与电子技术, 2005 (02) .
[8]蒋国萍, 陈英武.基于关键链的软件项目进度风险管理[J].计算机应用, 2005 (01) .
[9]陈忠.软件项目的风险管理[J].经济与社会发展, 2004 (12) .
[10]王敏晰.软件项目管理中人员流动风险的管理[J].商业研究, 2004 (17) .
【软件项目合同范本】推荐阅读:
软件系统项目合同书06-30
软件项目人员组织分工07-13
软件项目管理保障措施07-10
软件项目管理实习周记07-24
软件科研项目立项报告07-25
浅谈软件项目管理范文06-11
工程项目管理软件应用06-23
税控软件项目可行性研究报告06-10
软件外包开发合同05-26
计算机软件合同07-12