软件开发项目风险管理的几点体会

时间:2019-05-14 02:34:29下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《软件开发项目风险管理的几点体会》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《软件开发项目风险管理的几点体会》。

第一篇:软件开发项目风险管理的几点体会

参与过大型软件项目的人都会认识到许多事情都可能出错,一但出错就可能给项目带来危害、损失或其它不利影响。风险是在项目中发生的一系列事件或不利结果的可能性。软件开发是一项高风险的活动,在项目开发过程的任何一个阶段都可能存在风险。采取积极的风险管理方式,可以使项目进程更加平稳,可以获得很高的跟踪和控制项目的能力,可以规避、转移风险,或缓解风险带来的不利影响。风险管理是对项目风险进行识别、分析、应对和监控的过程,是项目管理中很重要的管理活动,有效的实施软件风险管理是软件项目开发工作顺利完成的保证。

风险管理的达成必须包括三个要素:首先,在项目开发计划中必须制定风险管理计划;第二,在项目预算中必须包含解决风险所需的经费;第三,评估风险时,风险的影响也必须纳入项目计划中。

下面就软件开发过程中经常发生的风险,谈谈我们采取的预防措施。

2.需求不明确

需求不明确是软件开发过程中经常可能遇到的问题,这类问题往往表现在需求范围未界定、需求未细化、需求描述不清楚、需求遗漏、需求互相矛盾等多个方面。在软件开发过程的生命周期各阶段中,需求不明确所造成的浪费是最大的,必须尽早尽可能解决。确定用户需求是件非常困难的事情,我们常常从以下几个方面着手处理需求不明确问题:

(1)让用户参与开发

提供一个协作开发环境,让用户参与开发过程。如果条件不允许,至少应该在每次迭代的需求分析和系统测试阶段,让客户能够参与开发。

在选择参与开发过程的用户时,一方面,要尽可能争取精通业务或计算机技术的用户参与。另一方面,如果开发的产品要在不同规模、不同类型的企业应用,应该选择具有代表性的用户参与。

仅仅让用户参与是不够的,应该采取一定的激励措施,提高用户参与的积极性。

(2)开发用户界面原型

用户通常不善于精确描述自己的业务需求,系统分析员需要借助白板、白纸等沟通方式,帮助用户清楚表述需求。然后,开发一个用户界面原型,以便用户确认需求。用户界面原型的作用仅仅是收集用户需求,不应该再作它用,也不要给用户造成系统快要实现的错觉。

(3)需求讨论会议

对于用户分布广、用户量大的项目,要全面收集用户需求,往往很困难,通常采取需求

研计会议方式进行需求确认。通过在会议前几周调查各地、各部门用户需求意见,然后集中各地或各部门的用户代表,举办一次需求研讨会,通过会议方式收集需求。本方法适合于具有一定信息系统使用经验的用户。

(4)强化需求分析与评审

首先,需求分析是项目成功的基础,需要引起足够的重视,并分配充足的时间和人力,要让有经验的系统分析员负责,切忌让项目新手或程序员负责。其次,要进行需求评审,尽可能让用户参与需求评审,不要让需求评审流于行式。第三,也是最重要的一点,通过评审的需求规格说明书,要让用户方签字,并作为项目合同的附件,对双方都具有约束力。在公司内部要将通过评审的需求规格说明书,纳入配置管理。

3.项目缺少可见性

当一个项目经理或一名开发者说已经完成了80%的任务,您必须保持审慎的态度。因为剩下的20%可能还需要80%的时间,甚至永远都不能完成[1]。软件开发项目,往往在项目进度和软件质量方面缺少可见性,项目越缺少可见性,项目就越难以控制,项目就越有可能失败。我们可以通过迭代开发、技术评审、持续集成来增强项目的可见性。

(1)n 迭代开发

采用迭代的开发模型,将产品的交付过程分为多个阶段,按照功能递增式交付。以下是一些典型的迭代:

一次简短的先期迭代,以建立规模和前景并确定商业理由;

一次精化迭代,其间将为稳定的构架划定基线;

一次构建迭代,其间将实现用例并充实构架;

几次产品化迭代,将产品转移到用户群。

每次迭代,都要充分接收用户的评审意见,以便为自我纠正。渐近式的功能交付,有利于降低开发人员的压力,增加用户的满意度,有利于增强项目的可见性,是最好的进展报告。

(2)技术评审

技术评审是确保软件质量的重要环节,技术评审包括代码走查、会议评审和同行专家评审。代码走审可以是开发人员之间的交叉审查,或者是高级开发人员对普通开发人员的审查;会议评审一般应至少每两周进行一次,每次评审时间不宜太长;同行专家评审包括技术和业务两个方面的专家,经常性地让精通业务的用户专家参与项目评审,是项目成功的重要保证。

另外,充分利用质量审查的工具软件,也有利于提高代码质量。例如:在Eclipse开发环境中,可以集成Findbug、Checkstyle、PMD插件检查代码编写质量。

(3)持续集成持续集成能够把最终的一次大规模的集成调试过程分散到项目开发时间表的每一周、每一天、甚至每个小时。让项目中的各个人员都能够随时掌握当前的整体进度,并迅速发现集成过程中出现的问题并进行解决[1]。

开发小组应制定持续集成的制度,一般情况下每日构建一次,可以利用Ant等构建工具进行Java应用程序的构建。小组成员应在每个功能开发完成后,及时向版本控制系统(如CVS)提交代码,而且不应该向版本控制系统提交有问题(编译通不过)的代码。

每日构建、持续集成,让项目进度跟踪工作更加容易。当项目小组每天重新编译系统时,已完成与未完成的功能清楚可见,小组成员能够简单地从软件的表现知道距离整体完成还有多远。

4.新技术引入

技术创新是一种具有探索性、创造性的技术经济活动。在开发过程中引入新技术,不可避免地要遇到各种风险。通过T形软件开发、充分论证、多阶段评审、同行经验等措施可降低新技术风险。

(1)T形软件开发

在项目开发早期,开发小组应该建立系统的架构,解决关键技术难题、开发系统的基础构件,并对系统所需要应用的技术做深度探索。例如:基于JavaEE5构建全国联网售票系统,涉及到分布式事务处理、海量数据存储、异构平台互连等关键问题,应该优先处理这些问题;对开发所涉及到的EJB3、JSF、JBoss Seam、Eclipse RCP等技术,要做深度探索。图1 在第一阶段以“T”形开发系统骨架[2]

越是技术复杂度高的项目,就越应该早地处理技术难题。如果在项目开发的中期或后期才发现架构有问题或是关键技术难题不能解决,则为时已晚。

(2)充分论证

新技术开发是探索性很强的工作,潜在着许多失败的风险。在可行性分析阶段,要广泛搜集相关信息,设计多种可行方案,进行充分论证。在制定决策时,情报的数量和质量致关重要。掌握的信息越多、越准确,才能作出正确的的决策,项目失败的风险也就相对减少;反之,承担的风险就会增大。

(3)同行经验

针对新技术,由于没有经验可借鉴,因此在探索过程中要充分利用互联网,通过搜索同行经验,往往事半功倍。要充分利用世界日益平坦化的优势,对于不能尽快解决的问题,可

以先放一放,可能过不了几天,网上就有相类似问题的解决方案了。

5.技术兼容性风险

硬件产品之间、系统软件(操作系统、中间件、数据库管理系统)与主机设备之间、系统软件之间、应用软件与系统软件之间以及应用软件之间,都可能存在兼容性问题。往往系统集成的项目越复杂,兼容性问题就越有可能存在。

(1)设计先行

在做系统的总体设计方案时,务必把好相关产品的选型关,确保网络、主机、系统软件与应用软件之间不要存在较大的技术兼容性问题。在网络平台建设方案中,明确相关设备的技术参数和配置要求。

(2)售前产品测试

在做项目招投标工作时,要求投标方在售前提供产品兼容性测试,以避免在项目实施过程中才暴露技术兼容性问题。涉及应用软件开发的集成项目,要在开发工作的早期,做技术兼容性测试,以避免在项目开发后期才暴露技术兼容性问题。

例如,我们在开发深圳市汽车客运站售票及站务联网调度系统时,为了确保技术兼容,在做硬件招标时要求小型机设备厂商提供售前技术兼容性测试工作,并将测试结果做为评标指标。在深圳市软件测试中心对IBM、SUN、HP三家公司提供的小型机进行测试时,暴露了许多应用软件、应用服务器、数据库和操作系统之间的技术兼容性问题,如果这些问题在系统实施时才暴露或处理,势必会拖延项目进度。

6.性能问题

由于先期设计不足,性能问题往往在系统切换或新系统使用一段时间后暴露。出现性能问题往往要进行大量的优化工作,甚至局部的或全面的重新设计。无论是用户还是开发者,谁都不希望出现性能问题。

(1)性能规划

在系统设计时,应做好前期做性能规划,对可能出现性能问题的环节做到充足的估计。在做数据库设计时,应争取DBA参与。

另外,在技术方法方面,尽可能采取一些性能优化模式,如DTO、AJAX、延迟加载等,尽可能在开发过程中解决了性能问题。不至于到了项目后期才解决性能问题,既费钱又费时。

(2)性能测试

在开发过程中,要重视性能测试和压力测试,尽可能模拟现实使用环境,搭建测试平台。另外,由于开发环境的计算机往往比生产环境的计算机配置高,在做测试时应尽量找一些配

置低的机器、较小的网络带宽进行测试。

(3)充足的调试时间

在项目开发计划中,为后期性能优化留有余地。在对系统进行性能优化后,要进行性能测试和压力测试,可能还要做几次回归测试。因此,应该留有充足的时间和人力。

7.仓促上线

在项目实施过程中,系统切换上线环节最容易出纰漏。项目好不容易开发完成了,却在最后最后时刻功溃一匮。如果项目小,影响面窄倒不怎么重要;如果是影响面大的项目,则千万不可出现问题。在系统切换前,应充分考虑各种可能出现的问题,做好风险对策。

(1)应急预案

面对各种不可预知的风险,要做好应急预案。正常运行的车站售票系统在春运、旅游黄金周,都会做好应急预案。新系统切换时,更应该做好应急预案。应急预案中应做好最坏的打算,售票系统不能正常工作时,准备手工票就是最坏的打算。

(2)分步切换

为了减少风险的影响,可以做系统分步切换的方案。例如:售票系统在切换时,往往用新系统售预售票,或者是用新系统售长途车站,用旧系统暂时售短程票。待新系统运行稳定后,再全面切换到新系统。针对多个用户单位的系统切换,也可分单位进行。

(3)交叉培训

新旧系统切换过程中,用户都存在适应过程。除了在切换前做好操作培训外,还要在新旧系统切换过程中做好交叉培训。让用户提前一些时间上班,让早班的用户在交班时培训中班的用户,中班的用户培训晚班的用户。做好交叉培训能够让系统平衡过渡。

8.可用性问题

软件的可用性包括软件的使用是不是高效、是否容易学习、是否容易记忆、是否令人愉快、是否不易出错等诸多因素。往往由于软件的可用性差,导致用户不满意,甚至被市场淘汰。在项目开发中应注意可用性问题,避免软件出现可用性方面的风险。

(1)了解用户

到用户工作现场,了解目标用户使用软件的真实目的,从用户的角度、从用户的立场出发,了解如何通过软件系统替代用户的业务处理流程中,最繁琐、最容易出问题、或者是大量重复劳动的环节,让软件提高用户的工作效能和效率。例如:售票系统中,使用频度最高的界面是售票界面,售票员最关心的是钱不要出错(多了没收、少了要赔),因此,应收款和找余字体的显示应该突出、醒目;同样,票价和到达站也应该较为突出显示。通过快捷键、一键复位、数字小键盘等设计,尽量减少售票员敲击键盘的次数。否则,在日发旅客流量达七、八万人次的大型客运站,如果用户界面设计得不好,售票员一天工作下来,手指都会敲麻木。

(2)参与型设计

与用户协作,让用户参与用户界面的设计、评审与测试,确保用户能够全面地、及早地发现可用性等方面的问题,并及时纠正。

让客户参与设计,而不要让客户设计,项目经理或高级设计人员应该主导设计。

(3)竞争性分析

通过对市场上同类竞争性产品进行分析,或者对这些产品进行实验性测试,了解这些产品的用户界面问题,从而对新系统的开发提供启发。竞争性分析并不意味着可以剽窃别人的设计,而是通过分析竞争产品的优势和弱点,能够比以前的设计做得更好[5]。

(4)一致性

如果用户知道同样的命令或同样的操作总会产生同样的效果,那么他们在使用系统时就会更加自信,同时也鼓励他们进行探索性学习,因为他们已经具备了使用系统新部分的基础知识[Lewis er al.1989]。

开发团队应遵循公司或小组制定的用户界面标准,就可以在很多方面保持一致性,切忌不要一个系统存在多种不同的界面风格。

9.结论

在信息系统集成项目中,风险是多种多样的,是无处不在的。在项目管理活动中,要积极面对风险,要培养。越早识别风险、越早管理风险,就越有可能规避风险,或者在风险发生时能够降低风险带来的影响。特别是在项目参与方多、涉及面广、影响面大、技术含量高的复杂项目,应加强风险管理。如果不主动驾驭风险,就会面临风险。

第二篇:水利工程项目风险管理论文

【摘要】水利工程是一个关系到社会和经济的重要内容,然而由于竞争、环境等因素的影响,水利行业的发展面临着许多不确定的风险因素,其中包括工程项目质量、经济效益等等,因此风险管理已经成为水利工程项目发展的一个突出课题。本文通过对水利工程建设中存在风险进行的分析,知道了现代水利工程建设中风险管理重要性,并对在整个生命周期内影响水利工程项目的风险因素进行识别,最后介绍了常用的风险策略,以减少风险的发生,促进项目效益的提高。

【关键词】风险管理 水利工程 风险分析 应对策略

Abstract:This paper analyzes the risk in thewater project,to prove the importance of the riskmanagement of water projects,and then identi-fies the risk factors in the life circle of water pro-jects,and finally describes the common riskstrategies,to reduce the occurrence of risk,andpromote the improvement of project benefits.Key words:Risk Management Strategies,water project,risk analysis,measures引言随着社会经济的不断发展,人类面临的各种风险也在不断的发展、变化,人类的风险意识不断提高,为了能规避风险,将风险降到最低,人们所想出的办法日益增多,技术也日趋先进。到20世纪中期,风险管理已经作为一门系统的管理科学被提出。水利工程项目的建设与开发是一个复杂的、充满不确定性的过程,而它具有工程规模庞大、建设工期长、自然条件和技术条件复杂、资源投入数量大、影响因素多等特点,因此它是一个复杂的系统。由于在建设过程中,系统的不确定性因素众多,影响方面众多、关系复杂,由于不同原因造成的不同后果可能完全不同,这就导致了项目预期效果具有很大的不确定性。因此,在工程建设时对投资控制、风险分析等是现代水利工程项目的重要内容。通过科学系统的方法对风险进行评估和控制,根据工程实际特点,减少或避免水利工程项目实施过程中的不确定性,降低项目实施过程中所存在的危险,抓住有利机会,降低损失,提高经济和社会效益,这就是水利工程项目风险管理的目的,因此,开展水利工程项目风险评估和风险分析对确保工程建设有序进行具有积极的意义。

1.常规风险分类

在水利工程中,风险是指潜在灾害发生的概率及其对社会后果的度量。风险包含客观、普遍、动态和规律等特点。

风险的分类多种多样,按照风险来源来分,项目风险主要包含政策与环境风险、财务风险、管理风险、技术风险和项目进度风险等。

政策和环境风险是客观存在的,存在很大的不可预料性、突发性,虽然发生的可能性比较小,但是这些风险的发生往往是不可控制的,一旦发生就会产生很大的危害,为了减少突发风险带来的危害,在项目前期,根据项目所在位置的环境特点制定一定的相应对策,尽量降低风险发生时的损失。而管理风险则主要是主观性的人为风险,由于管理人员缺乏相应的经验和能力,就很有可能导致管理层决策失误,从而会引起项目施工过程中一系列的问题发生,对工程造成不必要的损失。

各种风险之间相互影响,随着项目的进展而发生变化,并可能相互转换的同时增加新的风险,例如,项目进度风险是因为工程施工进度的延误而导致的,随着工程时间的拖长其施工成本也就相应的增加,实际施工的使用资金与工程前期的预算相差较多时,就会使得资金的融通、调度、周转、利息等各方面发生变化,从而产生财务风险,影响着项目的预期收益;

项目财务发生风险时就可能会影响新设备的引进、新技术的研发等,从而导致技术风险,影响到整个项目的成功。

因此,要做好风险管理的系统规划,就需要对整个项目中各阶段的风险进行全面分析和考虑,根据实际情况灵活的制定应对措施,减少风险发生的可能性,降低发生风险时的损失,确保工程项目实际结果与预期结果偏离程度小。

2.常规风险应对策略

工程项目风险在一定程度上是可以评估的,目前一般估算失事概率的风险评估方法主要有:贝叶斯估计法、历史性态法(重现期法)、蒙特--卡罗法等。借助评估结果,对不同的风险制定相应的风险应对策略,降低风险发生的概率,提高项目工程的可行性,确保工程顺利进行。

在风险分析、评价的基础上,利用科学的手段优化方案,在众多的方案中选优汰劣,作出最佳决策,这就是风险策略,它也是整个风险管理的核心。常用的风险策略主要包括风险控制、风险回避、风险转移和风险自留。

2.1风险控制

针对可控性风险而言,风险控制是采取一定的方法,在风险未发生之前就防止其发生、减少损失,它是绝大部分项目应用的主要风险防范措施。风险控制措施必须根据项目的实际情况,针对项目的具体问题提出,主要分为向内和向外两种。通过对项目内部采取一定的管理措施、工程措施和技术措施等方式来进行风险控制;同时也可以采取向外分散的方式来减少项目承担的风险,自然灾害是水利工程建设中所存在的最大风险之一,洪水就是其中的一种,然而对于不同等级或类型的洪水,可以分析出它的流速、水位以及淹没范围等,从中就可以在一定程度上估计洪水所造成的损失结果,并可以采取必要的措施,如泄洪、转移下游的财产等方法,把损失降到最低,从而达到被人们管理和控制的目的。

2.2风险回避

在一些项目中,风险发生可能性大、危险性高的,并且风险控制的难度较大时,主动放弃该项目,从而达到回避该项目所带来的一切风险和损失的一种处置风险的方式,这就是风险回避。风险回避虽然彻底消除了实施该项目可能带来的风险,但同时也失去了实施该项目可能带来的收益,它既是一种最彻底的风险处置技术,也是一种消极的风险处置方式。风险回避有几种常用的处理方式:一是通过严格的招标投标程序,选择合适的承包商,降低技术风险;二是严格控制工程分包,防止将工程分包给劣质承包商;三是根据实际情况进行现场规划和拆迁,在满足工程设计要求的条件下,尽可能回避施工地质条件复杂、拆迁困难的地域。

2.3风险转移

将项目的风险有意识地转给与其有相互经济利益关系的另一方来承担的风险的处置方法就是风险转移。水利工程建设中经常采用的风险转移方式主要有:为工程合同的履行提供履约担保;设置保护性条款;投保建筑工程的一切险。

2.4风险自留

当采用其他风险规避方法的费用超过风险事件造成损失数额时,通常可以采用风险自留。风险自留又称为风险承担,是指项目班子自己承担由风险事故所造成的损失。其包括主动和被动两种,主动的风险自留是指项目管理者在识别和衡量风险的基础上,对各种风险作比较,权衡利弊,从而间接将风险留置内部,主要的措施有将损失计算进入经营成本,并建立损失基金。被动的风险自留是指项目管理者认为主观或客观原因,对风险的存在性和风险的严重性认识不足,没有对风险进行处理,而最终由项目班子自己承担风险损失。

在水利工程项目实施前,管理人员都应对项目存在的风险进行评估,并对此作出相应的决策,在制定决策时常常将几种应对策略组合使用,发挥更大的功效,以达到最好的效果和目的。

结语

风险的复杂多样性、客观存在性使得水利工程建设中存在很多的风险,而风险会对工程产生巨大的损失,因此在现代水利工程建设中风险分析和管理十分重要。目前,风险管理是水利工程项目管理的主要内容之一,对于作为水利工程项目建设的实施主体、处于整个工程建设管理的核心和主导地位的项目管理者而言,不会管理风险就不能成功地管理项目,因此提高项目风险管理意识,掌握风险识别技术,开展风险评估与分析,及时防范和化解风险,这对于提高我国的建设管理水平和投资效益,都具有特别重要的意义。

在水利工程建设中存在着许多不确定因素,通过人们对风险的重视,加强管理,充分发挥水利设施的社会效益和经济效益,这就可以确保工程项目的效率同时造福于人类,真正做到水利工程服务于人民的目的。

参考文献:

[1]邓铁军,仇一颗,工程风险管理.北京:人民交通出版社.2004,72-85.[2]王卓甫.工程项目风险管理.北京:中国水利水电出版社,2003,153-175.

第三篇:软件开发管理规定

软件开发管理规定

第一条 第二条 第三条 为规范自有软件研发以及外包软件的管理工作,特制定本制度。本制度中软件开发指新系统开发和现有系统重大改造。

本制度中自行开发是指主要依赖公司自身的管理、业务和技术力量进行系统设计、软件开发、集成和相关的技术支持工作,一般仅向外购置有关的硬件设备和支撑软件平台;合作开发是公司与专业IT公司(合作商)共同协作完成IT应用的项目实施和技术支持工作,一般形式是公司负责提供业务框架,合作商提供技术框架,双方组成开发团队进行项目实施,IT系统的日常支持由IT管理小组和合作商共同承担,IT管理小组负责内部(一级)支持,合作商负责外部(二级)支持;外包开发是指将IT应用项目的设计、开发、集成、培训等任务承包给某家专业公司(可以是专业的IT公司或咨询公司等),由该公司(承包商)负责应用项目的实施。

第四条 软件开发遵循项目管理和软件工程的基本原则。项目管理涉及立项管理、项目计划和监控、配置管理、合作开发管理和结项管理。软件工程涉及需求管理、系统设计、系统实现、系统测试、用户接受测试、试运行、系统验收、系统上线和数据迁移。

第五条 除特别指定,本制度中项目组包括业务组(或需求提出组)、IT组(可能包括网络管理员和合作开发商)。

第二节 立项管理

第六条 提出开发需求的信息技术部门参与公司层面立项,进行立项的技术可行性分析,编写《立项分析报告》,开展前期筹备工作。《立项分析报告》应明确项目的范围和边界。

第七条 第八条 应用系统主要使用部门将《立项分析报告》上交公司进行立项审批。《立项分析报告》得到批准后,成立项目组(如果是外包开发,则成立外包商项目组;如果是合作开发,则与外包商共同成立合作开发项目组,以下统称“项目组”),项目组应包括业务组(由公司相关业务部门组成)和IT组(自行开发为办公室网络管理员;外包开发为外包商成员;合作开发为网络管理员和外包商成员)。公司委派一名员工负责监督项目的进度,进

第九条

第十条

第十一条第十二条第十三条第十四条第十五条第十六条第十七条行项目管理工作,确保开发能及时完成并能满足业务需要。项目组人员的选择应满足项目对业务及技术要求,项目组人员应有足够的业务和IT技术方面的专业知识来胜任项目各方面的工作。

第三节 需求分析

立项后业务组对用户需求进行汇总整理,出具《业务需求说明书》,并确保《业务需求说明书》中包含了所有的业务需求。经系统使用部门审批确认,作为业务需求基线。

IT组在获得《业务需求说明书》后,提出技术需求和解决方案,并对系统进行定义,出具《系统需求规格说明书》。《系统需求规格说明书》需详细列出业务对系统的要求(界面、输入、输出、管理功能、安全需求、运作模式、关键指标(KPI)等)。《系统需求规格说明书》需要由业务组提交给相关业务流程负责人确认。

对于合作开发的项目,当业务需求发生变更时,业务组应提交《需求变更申请》,IT组组长审批后交给合作开发商实施。

项目组应对需求变更影响到的文档及时更新。

第四节 项目计划和监控

软件开发采用项目形式进行管理。项目经理负责整个项目的计划、组织、领导和控制。

需求分析过程中,项目经理组织制定详细的《项目计划书》,包括具体任务描述和项目进度表等。

在项目的各个阶段,业务组组长和IT组组长需配合项目经理制定阶段性项目计划。业务组组长和IT组组长需配合项目经理对项目计划执行情况进行监控,确保项目按计划完成。

项目计划需要变更时,项目经理填写《项目计划变更说明》,并提交公司主管领导审批,通过审批后,交给业务组组长和IT组组长执行。

第五节 系统设计

系统设计应分为概要设计和详细设计,系统设计要遵循完备性、一致性、第十八条 第十九条

第二十条

第二十一条第二十二条第二十三条第二十四条第二十五条第二十六条第二十七条第二十八条第二十九条扩展性、可靠性、安全性、可维护性等原则。

在系统设计阶段中,用户应充分参与,确保系统设计能满足系统需求。项目组进行详细设计,出具《设计说明书》和《单元测试用例》。《设计说明书》中需要定义系统输入输出说明和接口设计说明。公司主管领导组织相关人员对概要设计进行评审,出具《设计评审报告》。业务组组长和IT组组长应参加此评审并对评审意见签字确认。

设计评审均以《业务需求说明书》和《系统需求规格说明书》为依据,确保系统设计满足全部需求。

对已确认通过的系统设计进行修改需获得管理部门、业务组组长和IT组组长的审批后方可进行。

对系统设计的修改的文档须由文档管理人员进行归档管理。

第六节 系统实现

项目组根据《设计说明书》制定系统实现计划,并提交项目经理对计划可行性进行审批。

系统实现包括程序编码、单元测试和集成测试。

项目组保证开发、测试和生产环境独立,为各环境建立访问权限控制机制,并明确项目成员的职责分工。对开发环境、测试环境与生产环境在物理或逻辑方面应该做到隔离;如果环境的分隔是通过逻辑形式实现的,应定期检查网络设置。项目组对已授权访问生产环境的人员进行详细记录,并对该记录进行定期检查,确保只有经授权的人员才能访问到生产环境。

项目组进行单元测试和集成测试,测试人员签字确认测试结果。

第七节 系统测试和用户测试

项目组制定《系统/用户测试计划》,并提交项目经理对计划可行性进行审批。

《系统/用户测试计划》必须定义测试标准,并明确各种测试的测试步骤和需要的系统设置要求。

项目组向数据拥有部门申请获取测试用业务数据的使用权,对获取的数据进行严格的访问控制,确保只有相关项目人员才能访问及使用。

第三十条 项目组负责测试数据准备,测试用数据要足够模拟生产环境中的实际数据。对已评定为敏感信息的数据进行敏感性处理和保护。

第三十一条 IT组或合作开发商建立测试环境进行系统测试。在系统测试中对新系统内部各模块之间的接口和与其他系统的接口进行充分测试。出具《系统测试报告》,测试人员签字确认测试结果。

第三十二条 系统测试通过后,IT组配合业务组建立用户测试环境,业务组根据用户测第三十三条

第三十四条 第三十五条 第三十六条 第三十七条 第三十八条 第三十九条 第四十条 试用例进行用户测试,出具《用户测试报告》,业务组组长和IT组组长应在用户测试报告中签字确认。

项目组完成系统帮助文档(其中包括《用户操作手册》和《安装维护手册》)。凡涉及应用系统的变更,应对系统帮助文档及时更新。

第八节 试运行

系统主要使用部门根据项目规模及影响决定试运行策略。

项目组制定《试运行计划》,并制定试运行验收指标,上报公司主管领导审批。《试运行计划》中应包含问题应对机制,明确问题沟通渠道和职责分工。

项目组联合试运行单位进行相关系统部署工作,准备培训资料,对相关用户和信息技术人员进行培训。用户培训的完成度应为实施后评估的指标之一。

项目组根据《试运行计划》进行系统转换和数据迁移。系统转换前,检查系统环境,确保运行环境能满足新应用系统的需要。系统转换时必须详细记录原系统中的重要参数、设置等系统信息,并填写试运行报告相关内容。系统参数、设置的转换工作作为系统上线的验收的评估指标之一。

数据迁移前,应制定详细的《数据迁移计划》,《数据迁移计划》中应包含迁移方案、测试方案、数据定义,新旧数据对照表、迁移时间、回退计划等信息。数据迁移计划需经项目经理和主管领导签字审批。

数据迁移后,项目组对数据迁移的完整性和准确性作出检查,出具《数据迁移报告》,其中包括数据来源、转换前状态、转换后状态,数据迁移负责人、对完整性检查情况、对准确性检查情况等内容。各相关部门验收转换结果后在该报告上签字确认。

系统转换和数据迁移由试运行单位业务部门和公司主管领导共同监督并进行验收。

第四十一条 系统转换和数据迁移验收通过后,正式启动试运行。在试运行过程中,试运行单位办公室把系统运行情况(系统资源使用,反应速度等)记录到试运行报告中。必要时,项目组应根据系统运行情况对应用系统进行优化。

第四十二条 试运行达到试运行计划规定的终止条件时,项目组编写《试运行报告》。此

第四十三条 第四十四条 第四十五条 第四十六条 第四十七条 第四十八条 第四十九条 报告应由项目组和试运行单位签字确认,并提交公司主管领导审阅。公司主管领导审阅试运行结果,决定试运行结束或延期。

第九节 系统验收

系统主要使用部门及信息技术部门联合组成独立系统验收小组,也可授权原项目组作为验收小组。验收小组从功能需求及技术需求层面对系统进行综合评估。

验收小组应根据验收情况整理形成《系统验收报告》提交系统主要使用部门和信息技术部门审阅。

系统主要使用部门和信息技术部门负责人根据系统测试、试运行情况签署验收意见。

第十节 系统上线

系统上线应遵循稳妥、可控、安全的原则。通常情况下,系统上线包含数据迁移工作。

项目组制定《系统上线计划》,上报公司主管领导审批。在上线计划得到批准后才能开始部署上线工作。

《系统上线计划》内容应包括但不限于:

1、部署方式和资源分配(包括人力资源及服务器资源);

2、上线工作时间表;

3、上线操作步骤以及问题处理步骤;

4、项目阶段性里程碑和成果汇报(项目执行状态的审阅、进度安排等);

5、数据迁移的需求和实施计划;

6、完整可行的应急预案和“回退”计划;

7、用户培训计划(包括:培训计划、培训手册、培训考核等);

8、公司下发的系统标准参数配置。

第五十条 上线单位在上线初期需加强日常运行状态监控,出现问题时应及时处理,对重大问题应启动紧急预案。

第五十一条 在完成上线后要填写《系统验收评估报告》,上报公司项目组汇总整理。第五十二条 第五十三条

第五十四条 第五十五条 第五十六条 第五十七条 第五十八条 第五十九条 第六十条

第六十一条 第六十二条 第六十三条 第六十四条 《系统验收评估报告》内容包括:数据准确性、系统性能及稳定性、接口问题、权限问题、业务操作影响度、问题处理情况、备份、批处理等。

上线单位管理层要对《系统验收评估报告》进行审批签字。

公司主管领导批准结项后,业务组和IT组将整理的文档提交各自部门统一管理。

第十一节 合作开发管理

合作开发商的选择应遵循公司相关规定,合作商资质认定参见第三方管理制度。

合作开发商必须遵循公司《软件开发管理制度》。

项目经理同合作开发商明确规定项目变更的范围和处理方式,重点关注需求和设计变更。

项目经理负责监控合作开发商的项目管理及软件开发活动。合作开发商应按计划定期向项目经理报告进展状态,并提交阶段性成果文档。发生重大问题时,合作开发商需及时向项目经理汇报。

IT组组长派专人监控合作开发商的质量保证过程。项目组同合作开发商商定验收的标准和方法。以上各要求需要在开发合同中明确。

第十二节 外包开发管理

立项申请得到公司主管领导的审批后,选定开发商,签订外包开发合同。项目经理负责监控外包开发商的项目管理及软件开发活动。外包开发商应按计划定期向项目经理报告进展状态,并提交阶段性成果文档。发生重大问题时,外包开发商需及时向项目经理汇报。

项目经理监控外包开发商的质量保证过程。项目组同外包开发商商定验收的标准和方法。第六十五条 以上各要求需要在开发合同中明确。

第四篇:软件开发管理规范

软件开发过程管理规范

济南明湖建筑节能技术开发有限公司 软件开发过程管理规范

一、总则.................................................................................................................................1 1.软件开发项目管理的目的.........................................................................................1 2.软件开发项目管理规范适用对象.............................................................................1 3.软件项目开发组织管理.............................................................................................1

二、软件项目立项阶段.........................................................................................................1

三、软件项目实施阶段.........................................................................................................2

四、项目需求分析过程.........................................................................................................2

五、项目系统设计过程.........................................................................................................3

六、项目开发编码过程.........................................................................................................3

七、测试提交过程.................................................................................................................4

八、项目验收总结阶段.........................................................................................................4

软件开发过程管理规范

一、总则

1.软件开发项目管理的目的

为保障按时、保质、保量完成预期交付的任务,让整个组织能清楚了解项目实施的目的、影响、进度,做到项目组所有成员都理解项目实施的原因、意义及客户的要求。通过制度化管理来合理组织安排项目组成员的工作职责和角色转换。2.软件开发项目管理规范适用对象

为了达到软件开发项目管理的根本目的,要求公司全体员工必须严格按照本规范执行,同时要求公司业务人员引导合作单位和客户接受并适应公司本《软件项目开发管理规范》。3.软件项目开发组织管理

根据软件开发的标准流程,结合公司的实际情况对软件项目分三个主要阶段进行组织管理,分别为项目立项阶段、项目实施阶段和项目验收总结阶段。

二、软件项目立项阶段

1.成立公司项目评估委员会负责公司的项目立项审批。

2.公司项目评估委员会由公司总经理或指定负责人召集,成员为公司管理层人员、商务负责人、市场负责人、技术总监、技术研发经理、财务负责人组成。

3.公司业务部门按照公司发展要求或外部需求形成《软件项目需求说明书》,确定项目需求管理人或项目申请人。

4.项目申请人填写《软件项目立项申请书》向项目评估委员会提出项目立项申请,主要说明项目的背景、目的、效益、成本、需求等方面,并由技术部门提供支持和技术说明。5.项目评估委员会收到《项目立项申请书》后三个工作日内,召开评估会议。给出评估结果。如果批准立项交公司技术总监组织开发。如果不批准,给出理由后项目中止。中止后的项目可根据情况重新申请。

6.评估结果必须包括:建议项目启动日期,期望项目完成日期,项目等级系数,项目优先级(高中低),资源冲突程度(1~9)。对于资源冲突程度大于5的项目技术总监有权拒绝

软件开发过程管理规范

接受。

三、软件项目实施阶段

1.公司批准立项的项目交由公司技术总监组织实施。

2.技术总监根据资源情况和项目需求组织相关技术人员进行初步需求讨论会,确定项目的等级系数(如分大、中、小对应3、2、1)、指定项目开发负责人。在立项后五个工作日内技术总监和项目开发负责人共同制定《软件项目开发计划》,确定项目启动日并提交项目评估委员会做反馈确认。如果项目评估委员会二位成员以上对计划有异议,项目评估委员会应该召开项目计划协调会,协调《软件项目开发计划》的修改和通过。如果无异议授权技术总监按照《软件项目开发计划》执行。

3.项目启动日后,项目开发负责人根据《软件项目开发计划》的进度每周进行一次分析汇报,形成《项目分析周报》确定项目的状态、分析风险和对策,交技术总监管控。4.《软件项目开发计划》必须按照软件项目实施过程分解为需求分析、系统设计、开发编码和测试提交几个控制过程。

四、项目需求分析过程

1.项目需求分析团队由技术总监负责,组成人员包括技术研发经理、项目开发负责人、部分高级软件开发工程师和需求提供人。

2.需求分析第一次会议将在《软件项目开发计划》通过后,在项目启动日2个工作日内召开,提出需求的不足之处交需求提供人完善。

3.分析团队分工完成提交《软件项目需求功能列表》及《项目关键业务流程》文挡。4.需求分析应该在需求分析第一次会议后的开始,并在(3个工作日*项目等级系数)日内完成。

5.需求分析过程完成后,如果需求变更提供人必须书面提出《项目需求变更通知书》,项目需求分析团队在2个工作日内完成分析反馈,确定项目变更系数;项目负责人变更对应《软件项目开发计划》版本。

6.需求分析阶段完成的标志为技术总监召开文挡审查和阶段总结会,时间为1个工作日。

软件开发过程管理规范

五、项目系统设计过程

1.项目设计团队由技术总监负责,组成人员包括技术研发经理、项目开发负责人、部分高级软件开发工程师。

2.项目分析设计团队在收到需求阶段文档后2个工作日内召开设计工作启动协调会,审查反馈需求阶段文档。

3.协调会明确分工、按计划完成《项目系统接口说明》、《项目系统数据设计文档》和《主要操作界面说明》文档。

4.项目设计应该在启动协调会后开始,并在(5个工作日*项目等级系数)日内完成。5.项目负责人接到《项目需求变更通知书》后,按照1个工作日*项目变更系数调整对应设计和计划。

6.项目设计阶段完成的标志为技术总监召开设计文挡审查和阶段总结会,时间为1个工作日。

六、项目开发编码过程

1.项目开发编码团队由技术研发经理负责,组成人员包括项目开发负责人和软件开发工程师。

2.项目开发编码团队在收到需求和设计阶段文档后2个工作日内召开编码工作启动协调会,学习理解并反馈需求和设计阶段文档。

3.技术研发经理按照项目《软件项目开发计划》中开发编码过程的细分阶段进行控制。

4.项目开发负责人需负责项目联调测试,保证《项目关键业务流程》和《主要操作界面说明》文档的实现。

5.技术研发经理要组织项目开发编码团队对(项目等级系数)关键代码进行集中解读,保证编码的质量和规范。

6.根据项目的情况,要求开发编码人员对《项目系统接口说明》中接口进行性能测试,并产生接口测试报告。

7.技术研发经理负责做好开发编码的版本管理工作。

8.开发编码应该在编码工作启动协调会后开始,并在(10个工作日*项目等级系数)内完成。

软件开发过程管理规范

9.开发编码阶段完成的标志为测试人员接受测试版本后,技术研发经理召开提交和阶段总结会,开发人员的所有代码转交给项目负责人管理。时间为1个工作日。

七、测试提交过程

1.项目测试团队由技术研发经理、项目负责人和测试工程师组成。

2.测试工程师首先检查开发编码团队《项目关键业务流程》、《主要操作界面说明》和《项目系统接口说明》的测试结果。如果通过才接受,否则将退回。

3.测试工程师在开发编码阶段的同时应该编制好《项目软件使用说明书》,接受测试版本后按照《项目软件使用说明书》进行测试。

4.测试工程师重新测试一次《项目关键业务流程》、《主要操作界面说明》和《项目系统接口说明》。

5.测试工程师完成对应版本的《项目测试报告》,发现的问题交项目负责人负责组织开发人员修改完善。

6.测试工程师提交完成版本的《项目测试报告》后,由技术研发经理确认并签字。将对应版本定义为发布版本。

7.测试工作应该在接受测试版本后进行,并在(5个工作日*项目等级系数)内完成。

八、项目验收总结阶段

1.发布版本后,项目负责人打印收集好所有项目过程文挡,并有对应责任人签字。

2.项目负责人回顾总结《软件项目开发计划》,分析总结实际和计划差异,形成《项目计划执行情况报告》。

3.技术研发经理总结项目设计、开发、测试过程的质量控制和开发人员开发效率情况,总结经验教训并提出项目开发改进措施。

4.技术总监总结分析成本控制、对全部项目人员进行考核,形成《项目总结报告》。并完善本规范流程。

5.上述工作完成后,提交项目评估委员会总结会审批后公布。

第五篇:软件开发管理流程

软件开发管理流程

根据我公司目前工作现状,开发管理流程涉及到三个方向的工作管理;一是全新项目开发整体流程;二是二期项目开发管理流程(项目已部分上线,二期进行其它公司或模块上线);三是维护工作管理流程;

一、升级项目流程

针对我公司现有的BSP项目,存在有些省份的BSP项目存在部分上线而对于后期需要继续上线其他部分的情况,提出以下工作流程。

总体流程

计划阶段-》需求分析阶段-》软件开发阶段-》测试阶段-》部署上线—》验收完成(一)计划阶段

制定整体开发计划,计划体现整个开发周期,包括需求、编码、测试周期以及资源要求;

(二)需求分析阶段

修订需求版本,提供需求说明书,并提出需求评审申请。

评审:发起需求评审的同时提交评审资料至项目管理部—》项目管理部给相关

人员发放资料并通知评审安排--》记录评审结果(需整改时整改之后可再次评审)--》确定需求版本。

(三)软件开发阶段

编码开发前:开发环境搭建,其中包括迁出代码最新版本,从线上复制出数据库(或者导出基础数据库表数据);其目的为开发环境与正式环境保持一致,为上线前的部署做好准备。

编码开发中:开发组长对整个开发过程做好监控,保证质量的同时保证进度;并且要求开发人员做好工作记录;加强团队的协作与沟通。

编码开发完:提交相关资料(操作手册、部署文档:sql脚本、代码文件路径记录、流程文件路径记录),组长整理部署文档并且提交测试申请;部署文档要求写明部署步骤及部署内容及相应注释;

(四)测试阶段

测试组长根据测试申请中的测试内容安排测试。测试环境模拟线上测试环境,根据部署文档进行部署,并且记录所有补丁包。测试过程中开发人员在修改bug的同时需要维护部署文档。

(五)部署

部署人员根据部署文档中描述的步骤部署系统。完成之后实施人员安排验收。

二、全新项目开发管理流程

总体流程

计划阶段-》需求分析阶段-》软件开发阶段-》测试阶段-》部署上线—》验收完成(一)计划阶段

项目计划草案和风险管理计划作为第一步,确定、分析项目风险并确定其优先级,还要制定风险解决方案。本阶段的目的是确立产品开发的经济理由。当确定开发之后则制定软件开发计划、人员组织结构定义及配备、过程控制计划。

 项目计划草案

项目计划草案应包括产品简介、产品目标及功能说明、开发所需的资源、开发时间和里程碑。

 风险管理计划

就是把有可能出错或现在还不能确定的东西列出来,并制定出相应的解决方案。风险发现得越早对项目越有利。

 软件开发计划

软件开发计划的目的是收集控制项目时所需的所有信息,项目经理

根据项目计划来安排资源需求并根据时间表跟踪项目进度。项目团队

成员根据项目计划以了解他们的工作任务、工作时间以及他们所依赖的其他活动。

项目管理培训

可将计划分成总体计划和详细计划,总体计划中每个任务为一个里

程碑,详细计划中必须将任务落实到个人。

软件开发计划还应包括产品的应收标准及应收任务(包括确定需要

制订的测试用例)。

 人员组织结构定义及配备

常见的人员组织结构有垂直方案、水平方案、混合方案。垂直方案

中每个成员充当多重角色。水平方案中每个成员充当一到两个角色。

混合方案则包括了经验丰富的人员与新手相互融合。具体选择根据人

员实际技能情况进行选择。

 过程控制计划

过程控制计划的目的是收集项目计划正常执行所需的所有信息,用来

指导项目进度的监控、计划的调整,确保项目按时完成。

(二)需求分析阶段

需求分析阶段的目的是在系统工作方面与用户达成一致。

(1)软件需求规约

详细说明系统将要实现的所有功能。

(2)用户界面原型

可以有三种表示方法:图纸(在纸上)、位图(绘图工具)、可执行文件(交互式)。

(三)软件开发阶段

本阶段从物理上实现目标系统。采用了面向对象方法。

(1)软件架构

说明软件的组织结构、部署结构及运行环境。

(2)功能设计

定义功能点之间的关联。

(3)数据库设计

定义数据库表之间的关联和各个表的字段。

(4)编码和单元测试

按照设计文档进行编码,每完成一个模块应进行单元测试。

(5)集成系统

按软件组织结构的要求将各个子模块组合起来。

(四)测试阶段

测试的目的是在发布之前找出程序的错误。包括:核实每个模块是否正常运行(参考设计文档)、核实需求是否被正确实施(参考需求文档)。

(1)测试计划

收集和组织测试信息,为测试工作提供指导。

(2)测试数据

尽量使用真实数据。

(3)测试报告

记录测试结果,详细描述问题,提出解决办法。

(4)用户操作手册

(五)管理软件开发过程

有以下几方面地工作:

(1)组织会议

讨论会议、总结会议等。

(2)评审程序

对各个阶段的工作结果进行审核等。

(3)协调人员

(4)监控进度

软件项目开发流程

第一个步骤是市场调研,技术和市场要结合才能体现最大价值。

第二个步骤是需求分析,需求人员出需求分析说明书。发起需求评审申请,项目管理部组织开发团队进行评审;

评审:发起需求评审的同时提交评审资料至项目管理部—》项目管理部给相关人员发放资料并通知评审安排--》记录评审结果(需整改时整改之后可再次评审)--》确定需求版本。

第三个步骤是概要设计,将系统功能模块初步划分,并给出合理的研发流程和资源要求。按照公司现状,使用快速原型设计方法完成概要设计就可以进入编码阶段了,通常采用这种方法是因为涉及的研发任务属于新领域,技术主管人员一上来无法给出明确的详细设计说明书,但是并不是说详细设计说明书不重要,事实上快速原型法在完成原型代码后,根据评测结果和经验教训的总结,还要重新进行详细设计的步骤

第四个步骤是详细设计,这是考验技术专家设计思维的重要关卡,详细设计说明书应当把具体的模块以最‘干净’的方式提供给编码者,使得系统整体模块化达到最大;一份好的详细设计说明书,可以使编码的复杂性减低到最低。

第五个步骤是编码,开发人员需严格按照编码规范及需求文档编码,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在以前的开发过程中都出现过。编码时的相互沟通和应急的解决手段都是相当重要的。项目组长需提高对开发过程中问题的管控能力。尽量避免重大问题,提高工作效率。

第六个步骤是测试,测试有很多种:按照测试执行方,可以分为内部测试和外部测试;按照测试范围,可以分为模块测试和整体联调;按照测试条件,可以分为正常操作情况测试和异常情况测试;按照测试的输入范围,可以分为全覆盖测试和抽样测试。总之,测试同样是项目研发中一个相当重要的步骤。

第七个步骤是部署,搭建部署环境,按照部署方案进行部署,完成后验收测试;

下载软件开发项目风险管理的几点体会word格式文档
下载软件开发项目风险管理的几点体会.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    工程项目风险管理绩效评价研究

    龙源期刊网 http://.cn 工程项目风险管理绩效评价研究 作者:陈敏 王雪 杨萌 来源:《科技创新导报》2012年第18期 摘要:随着工程项目管理在中国的发展,风险管理在工程项目管理......

    项目风险管理计划范文合集

    项目风险管理计划 风险管理计划(Risk management plan) 目录 [隐藏]   1 项目风险管理计划概述 2 项目风险管理计划的制 订依据  3 项目风险管理计划制定 的方法  4 项目风险......

    自学考试 项目风险管理分析

    4.1项目风险分析概述4.1.1项目风险分析的内涵(识记)广义项目风险管理:包含风险识别、风险评估、风险管理(P17)重点介绍狭义项目风险管理,即只包含风险评估环节。风险评估又分为......

    自学考试 项目风险管理概述

    1.1风险与风险管理1.1.1风险1、风险的内涵(采取了第一种观点)(识记)风险与不确定性的关系是理论界关于风险概念界定的争论焦点之一。第一种观点:风险就是一种不确定性,二者没有......

    EPC项目风险管理与探讨

    EPC总承包项目风险管理要点分析与探讨 摘 要:随着EPC工程总承包管理模式的项目增多〃基于这种特定的模式下〃业主方将大量的风险转移给了总承包商〃在项目实施的全过程中〃总......

    项目风险管理案例分析5篇

    项目风险管理案例分析 2013/4/22 19:37:39 | 171次阅读 | 来源:中国项目管理资源网 【已有0条评论】发表评论 我们公司承揽的沈阳棋盘山滑雪场项目管理任务,不仅工程有很强的......

    电力工程项目风险管理探析论文

    摘要:电力工程项目风险管理水平的高低会直接影响到电力工程项目的最终效益,而且也会影响到电力工程项目建设的最终质量,该文此次主要先分析了我国电力工程项目管理的现状,然后又......

    论软件开发成本管理

    论软件开发成本管理摘要2004年8月,我作为项目经理开始参与某某银行授信业务系统的开发项目,主要工作职责为需求分析、系统设计和项目管理。系统基本功能包括:业务操作、业务提......