发布时间:2022-04-11 03:42:22
序言:写作是分享个人见解和探索未知领域的桥梁,我们为您精选了1篇的软件管理论文样本,期待这些样本能够为您提供丰富的参考和启发,请尽情阅读。
软件项目团队建设是实现软件项目目标的保证,团队文化和团队精神是团队成功的重要基础,建立一种“相互帮助,共克难关”的工作氛围十分重要。本文初步揭示了项目人力资源管理的含义与内容、软件项目中的人力资源管理流程和获取方法,以及一些常见问题的解决方法与途径。
软件项目的人力资源管理与项目的进度、成本、整体质量和存在风险等方面管理一样,也是一个项目组织必不可少的管理职能。
一、软件项目人力资源管理的含义和内容
软件项目人力资资源管理就是根据软件项目的目标、项目的进展情况和外部开发环境的变化,采用科学的方法,对项目团队成员的思想、心理和行为进行有效地管理,充分发挥他们的主观能动性,实现项目的目标。项目人力资源管理的重点集中在两个方面:一时针对个人的;另一方面是针对团队的。
软件项目人力资源管理包括计划制定、获取人员和建设团队三个阶段。按照业务管理的流程,还可以具体划分为资源规划、解雇、招聘、筛选、培训等基本活动。
软件项目人力资源管理的主要内容包括:
(1)对软件项目进行组织和规划。项目组织规划是项目整体人力资源的计划和安排,是按照项目目标通过分析和预测所给出的项目人力资源的数量和质量上的明确要求、具体安排和计划。
(2)获取和分配软件项目人员。软件项目组织通过招聘获得所需要的人力资源,并根据各自的技能进行工作安排,由于项目的一次性和项目的临时性,项目组织的人员获得与配备和其他组织的人员获得与配备是不同的。
(3)软件项目组织成员的开发。包括:项目人员的培训、考核,激励等等。
(4)团队建设。
由于在项目工作中人员的需求可能是不连续的,容易造成人员的浪费和成本的提高。比如:某软件项目现有20人,设计阶段需要10人;审核阶段需要1周,但不需要项目组成员从参与;编码阶段是高峰期,需要15人,但在测试阶段只需要8人。往往这些阶段进行过程中,会出现没有工作安排的人员。根据大多数大中型软件开发项目的统计,对开发人员的要求是随机变化的,一开始资源需求量较小,然后逐渐上升,达到某个时间常数时需求量达到高峰,之后再逐步下降,减少到较低的数值。
二、软件项目团队的特点
软件项目团队建设,就是吧与软件项目相关的人员组织起来实现项目目标,这是一个持续不断的过程,也是项目经理和项目团队的共同职责。通过团队成员的共同努力能产生群体的协作效应,从而获得比个体成员绩效总和大得多的团队绩效。项目团队不仅可以通过团队成员之间相互的沟通、信任、合作和承担责任,高效地利用有限的人力资源,而且有助于加强员工间的交流与协作。一个好的软件项目管理团队应该具有以下几个特点:
(1)有好的团队带头人,他对项目管理有很丰富的经验,是团队凝聚力的核心,有很好项目组织及人员协调能力。
(2)好的团体,应该有好的知识及能力体系。每个人毕竟不能什么都会,但对于一个团对应该能做很多事情。就软件项目团队而言,就应该在需求、分析设计、编码、测试等重要阶段有具有此能力的人去参与。对于不同的行业,不同的项目,对项目团队的要求也是不同的。如一个游戏项目团队和一个电信软件团队的差别就是很大的。比如:一个WEB开发项目团队,就要有美工、动画设计人员,WEB端、Server端优秀的开发人员。这样去组织一个团队才可能把WEB项目的开发阶段做好,做的很专业。
(3)好的团队,要保证团队目的与个人目的的统一。这也是管理组织学中团队效力及团队效率的问题。也只有这样才能保证团队有凝聚力,稳定、健康的发展。
(4)好的团队,目标明确,目标统一。
(5)要有良好的沟通,乐与交流习惯。融洽的团队环境。
(6)良好的团队组织及团队合作习惯,不能有什么小的派别等。
(7)好的团队,人员职责分明。
(8)好的团队,有一个好的团队学习习惯。这是团队能力提高的阶梯。
三、软件项目团队的冲突管理
冲突就是个人、团队、组织限制或阻止另一部分个人、团队、组织达到预期目标的行为。软件项目团队内部成员之间相互了解越深入,彼此合作越默契,团队建设也就越出色,效率也会因此提高,但是人与人之间相互了解需要一定的磨合时间,在这一时期必然会存在很多方面的冲突,需要及时对这些冲突做出有效处理。在项目运作过程中,存在冲突是很经常也很正常的,但如果仅仅是试图避免冲突或者是压制冲突,只能是进一步恶化冲突,导致效率的严重下降。冲突既有积极的一面,也有消极的一面,如果能有效地解决这些冲突,可以有助于改善团队的建设和项目的状况,给团队一个学习与提高的机会;如果解决不当,有可能会给项目埋下隐患或者使得整个团队处于一种混乱状态,最终导致解散、失败。因此项目团队管理者要引导冲突解决结果向着团队成员积极协作有利的方向发展,而不是向着消极的方向发展,造成不可挽救的恶果。解决冲突的方式主要有:建立完善的解决冲突的方针与管理程序;冲突双方直接沟通协调,解决矛盾;利用会议解决冲突;在所有的解决方式中都离不开沟通,解决冲突过程中,沟通的方式有很多,如:口头沟通、书面沟通、正式沟通、非正式沟通、面对面或者是通过其他方式沟通等,这需要根据项目以及冲突的不同性质选择不同的沟通方式,以达到效率最高。一般解决软件项目开发过程中的冲突可以从以下几方面出发:
(1)沟通协调一定要及时。团队内必须做到及时沟通,积极引导,求同存异,把握时机,适时协调。唯有做到及时,才能最快求得共识,保持信息的畅通,而不至于导致信息不畅、矛盾积累。
(2)善于询问与倾听,努力地理解别人。倾听是沟通行为的核心过程。因为倾听能激发对方的谈话欲,促发更深层次的沟通。另外,只有善于倾听,深入探测到对方的心理以及他的语言逻辑思维,才能更好地与之交流,从而达到协调和沟通的目的。同时,在沟通中,当对方行为退缩、默不作声或欲言又止的时候,可用询问引出对方真正的想法,去了解对方的立场以及对方的需求、愿望、意见与感受。所以,一名善于协调沟通的人必定是一位善于询问与倾听的行动者。这样不但有助于了解和把握对方的需求,理解和体谅对方,而且有益于与他人达成畅通、有效的协调沟通之目的。
(3)对上级沟通要有“胆”、有理、有节、有据。能够倾听上级的指挥和策略,并作出适当的反馈,以测试自己是否理解上级的语言和理解的深刻度;当出现出入,或者有自己的想法时,要有胆量 和上级进行沟通。
(4)良好的回馈机制。协调沟通一定是双向,必须保证信息被接收者接到和理解了。因此,所有的协调沟通方式必须有回馈机制,保证接收者接收到。比如,电子邮件进行协调沟通,无论是接收者简单回复“已收到”、“OK”等,还是电话回答收到,但必须保证接收者收到信息。建立良好的回馈机制,不仅让团队养成良好的回馈工作习惯,还可以增进团队每个人的执行力,也就保证了整个团队拥有良好的执行力。
(5)控制非正式沟通。对于非正式沟通,要实施有效的控制。因为虽然在有些情况下,非正式沟通往往能实现正式沟通难以达到的效果,但是,它也可能成为散布小道消息和谣言的渠道,产生不好的作用,所以,为使团队高效,要控制非正式沟通。
要清楚的认识到软件项目人力资源管理的重要性,并掌握软件项目人力资源的筹集,项目团队信息交流的方式,成员激励的要素及处理冲突的方法。总之,人力资源管理是软件项目开发中的重要智力资源,必须做好软件项目人力资源的管理。
随着我国信息化的建设,以软件为基础对企业进行管理更有效率。其具有很高的应用价值,也有较好的市场。但是在营销策略上如果不加以分析,那么其在市场上的销量必然无法达到理想的状态。因此,加强企业管理软件的市场分析以及营销策略的分析十分关键。
1企业管理软件在市场营销中的概况
1.1企业管理软件环境分析
目前,大多数企业的软件市场政策较为合理。很多企业已经将信息化作为推动工业化的基础。进行全面的信息化建设。软件已经逐渐渗透到企业的管理中,软件管理能够提高服务自动化,节省很多人力物力,而且其管理的精准度也相对较高。现今,很多企业在软件运用的过程中,使得其管理机制更加科学,更加合理。因此,企业管理软件在市场中占据着较好的市场,但是其市场竞争度相当激烈。因此,目前企业管理软件虽然市场环境良好,但是在销售上如果没有较好的创新,那么将很容易被其他软件公司所淘汰。所以,做好市场环境与营销策略的一体化分析十分关键。
1.2企业管理软件特点分析
其一,企业管理软件具有较强的抽象性,具体来说其没有物理实物形态,所以企业管理软件的可见性非常低。这就使得其在营销方式上,要做出一定的改变。如果使用传统的方式去营销那么必然会与这个市场极不协调。而且很多软件产品,大多数以软盘以及光盘为实物形式,这就使得很多抽象性进一步地表现出来。因此,很多时候消费者未能通过其实体表现,将软件的基础性能进一步表现出来,从而影响其在市场上的销量。其二,企业管理软件具有大量生产的潜能,其有较好的广泛适用性。简而言之,就是可以用较低的生产成本来满足顾客的需求。图1为某软件公司企业管理软件生产成本图。从图1中,我们可以很清楚地看到,其固定成本较为稳定,但是其总收入却呈正比例上升。这就说明企业管理软件实际的应用性很强,其大规模的生产,必然会在市场中发挥出其应有的价值。其三,企业管理软件具有很好的持久性以及继承性。这也是大多数软件所具备的通用性质。企业管理软件可以采用升级的方式对软件进行更新,从而获取新的管理功能。这种版本升级不同于一般产品的实体更换方式,新版本在根本程度上必须继承旧版本,并在旧版的基础上对新版本进行改进和扩充。这样就能保证管理软件的与时俱进,避免与时代的发展出现脱节。而且企业管理软件在质量上不会出现磨损现象,其使用周期与时间也没有关联。这样就能有效地保证软件使用的持久性。同时还可以通过升级来不断提高软件使用的适用性以及适时性。
2企业管理软件在市场中的分析
(1)目前,企业管理软件在市场竞争中相当激烈。其一,与国际管理软件相比较,我国的企业管理软件较为适用于一些小型企业和部分中型企业。因此企业管理软件在中小型企业中拥有的客户相对较多。这也为企业管理软件拓宽了营销渠道,促进了我国经济的快速发展。其二,我国的企业管理软件与国外相比虽然还有一定的差距,但是其也避免了成本的大量输出,与市场局势不相顺和。就国内软件的竞争趋势而言,我国在企业管理软件上的竞争已经越来越激烈。一些企业还表现出极不成熟的特点。采取不规范的市场竞争手段。很多软件公司利用打折或者安装盗版软件来获取利润,这就使得很多正版的管理软件在价位上无法竞争,从而严重影响了企业管理软件在市场竞争中的可靠性。我国当前的软件企业仍然停留在小作坊的发展水平上,软件市场的不规范从而引起市场竞争的不规范。在目前,虽然企业管理软件生产开发商较多,但是其在品牌认知度上还不高,使得各企业之间出现一种同质化的竞争。这不仅使得竞争更加混乱,也不利于企业竞争的培养和提升。(2)要对软件市场发展格局进行分析。其一,软件市场的规模比较庞大,而且其政治经济环境较好。而且企业管理软件市场前景广阔。因此,目前软件企业数量较多,其为管理软件的发展提供了良好的市场基础。而且现代化企业的全面发展需要与信息相结合,才能够实现现代化管理。这就使得软件市场初具规模。其二,从迎合国际经济的趋势来看,从我国加入WTO以后,市场经济明显有所提升。经济发展模式以及理念也有了较大的改变。从而使得企业管理模式和理念也需要更新。引进先进的现代化管理软件对于市场而言,能够起到拓宽市场的作用。其三,目前我国硬件基础较好,这就为软件的实施奠定了基础。近年来,计算机技术和信息产业发展迅速。也为我国软件的发展提供了一定的基础。我国的企业管理软件具有成本低、效率高的特点,在市场中占据着很好的优势。其不断地改进与更新为营销提供了本土优势。所以目前我国软件市场发展的综合格局呈现出竞争的激烈性和实效性。(3)要对软件市场需求特点分析。在激烈的市场竞争中,谁赢得了市场,谁就赢得了竞争的主动权。在今天的买方市场环境下,想赢得市场,就必须赢得顾客。通过了解顾客的需求和潜在需求,开发出顾客需要的产品,是赢得顾客的保证。研究市场中软件产品的需求特点对于软件企业制定软件产品的营销策略具有重要的作用。要根据软件的需求特点,软件的功能、服务、品牌、价格进行良好的定位。这也是软件需求者购买软件的首选因素。在对企业管理软件进行消费时,软件的功能、品牌、服务、价格是软件需求者的首选因素,追求品牌软件,有求廉心理。图2为我国近几年以来企业管理软件市场数据。从图2我们可以很清晰地看到,人们对企业管理软件的消费水平呈现逐年上升的趋势。但是软件的综合走势却在2009年期间逐渐趋于饱和。因此对软件进行改革以及进行及时的更新是软件市场营销的资本和基础。所以企业管理软件公司在开发软件的过程中,一定要结合市场的营销环境进行全面地分析,开发出合适的管理功能,让管理软件拥有自己的特性,这样在竞争中才能占据一席之地。并且,在生产模式上,要对管理软件进行系统的分析,建立起较为科学合理的软件体系。图3为管理软件的产业分析图。从图3中,我们可以很清楚地看到软件的产业管理是十分严格的。生产者应当按照流程进行规范生产,要根据顾客的需求制作出适合其企业的管理软件,而不是进行大批量的复制,只有在不断的创新中自制生产,企业管理软件公司才能不断进步,营销得利。
3企业管理软件营销策略探讨分析
3.1强化营销渠道建设
为了加强企业管理服务单位内部体系的营销渠道建设,就需要在企业的服务单位内部成立相应的专门化软件管理组织,并设置对应的专业的销售、实施和售前等岗位,并及时地吸纳专业人才来充实营销队伍,同时对招纳的营销人员进行工作培训,不断地扩充其专业知识,从而不断地提升其服务水平和经营意识,从而为企业的营销出谋划策。另外,还需要加强对营销体系外的渠道进行开发,通过并购的策略来不断地削弱对手营销渠道,从而将对手的营销渠道进行整合,做到内外渠道两手准备,全面地推进企业营销渠道的建设,并完善企业的营销体系,提升企业的整体软件管理营销水平。
3.2培养和提升企业的核心竞争力度
企业的核心能力是企业提升竞争力的主要来源,在企业间的竞争中,只有拥有过硬的核心竞争力,才能在企业的经营管理
战略中不断地胜出,从而不断地占据市场主导地位。在企业战略的竞争中,要不断地将遇到的问题逐渐加以转化,并在实践中通过自身的处理,来逐步地培养企业在竞争中的力度。时刻注意对企业中出现的关键问题的把握,这些问题的持续性也为企业提高竞争能力提供了动力,同时也为获得竞争对手更有价值的资源提供了便利,从而逐渐地培养和提升企业的核心竞争力度。 3.3强化营销的分解和整合能力
在企业的营销管理中,重视价值链体系的建设极为重要,既不能盲目地扩建企业生产,也不能随意地抑制企业的发展,保证企业的发展处在一个合适的发展方向上,只有这样才能不断地促进企业的良好发展。在企业的关键管理营销战略中,还需要重点强调其分解能力,也就是保证营销战略中的每一个战略都能做到最为精致,避免出现一味地追求做大做全的战略目标。在管理软件的推广方面,要结合产业价值链的发展角度对营销项目运作中的每一方面都要进行明确的分工,将工作落实到位。对于厂商而言要专注于集中资源的发展力度,从而不断地提升其核心竞争能力。同时对于负责具体项目的工作人员来说,要专注于工作的细节和工作质量。企业的整合能力主要体现在能够发现社会上的有利资源,并加以有效地利用,通过价值链的不断设计,逐渐地将有效的社会资源向有增值优势的社会环节上进行转化。在对社会有利资源不断探索的过程中,要求产商具有较强的信息获取能力和经营能力,同时还要求企业在营销管理中具有敏锐的视角和独立的创新精神,从而不断地将获得的信息资源进行整合,提高企业的营销能力。由此可知,确保企业管理软件营销的分解和整合相得益彰,可以有效地提高企业管理软件的营销能力。
4结语
企业管理软件具有较好的营销市场,其对于企业的管理有着不可忽略的作用。因此,在对企业管理软件进行营销时,要结合市场的特点进行全面的分析,让软件迎合市场的需求并进行有针对性的开发和营销。这样才能更好地让管理软件发挥出其特效。同时,在营销过程中,要强化营销手段,提升企业的核心竞争能力,用科学的营销方法,让管理软件拥有更多的市场。
在计算机网络的质量体系中,网络管理是其中1个症结环节,正如1个管家对于于大家庭糊口的首要,网络管理的质量也会直接影响网络的运行质量。那末,怎么给自己的网络选择适合的网络管理系统以及网络管理软件呢?
网络是新经济时期的基础设施,信息传递、办公、营销、服务、交换、文娱等各种流动均可以通过网络完成,网络的质量直接抉择了社会糊口以及经济糊口的质量。在计算机网络的质量体系中,网络管理是其中1个症结环节,正如1个管家对于于大家庭糊口的首要,网络管理的质量也会直接影响网络的运行质量。那末,怎么给自己的网络选择适合的网络管理系统以及网络管理软件呢?
网络管理
当前计算机网络的发展特色是范围不断扩展,繁杂性不断增添,异构性愈来愈高。1个网络常常由若干个大大小小的子网组成,集成为了多种网络系统(NOS)平台,并且包含了不同厂家、公司的网络装备以及通讯装备等。同时,网络中还有许多网络软件提供各种服务。跟着用户对于网络机能请求的提高,如果没有1个高效的管理系统对于网络系统进行管理,那末就很难保证向用户提供使人满意的服务。
作为1种很首要的技术,网络管理对于网络的发展有着很大的影响,并已经成为现代信息网络中最首要的问题之1。
实际上,网络管理其实不是1个甚么新概念。从广义上讲,任何1个系统都需要管理,只是依据系统的大小、繁杂性的高下,管理在整个系统中的首要性也就有重有轻。网络也是1个系统。追溯到一九世纪末的电信网络,就已经经有了自己相应的管理“系统”,这就是整个电话网络系统的管理员,虽然他能管理的内容无比有限。而计算机网络的管理可以说伴同着一九六九年世界上第1个计算机网络——ARPANET的发生便发生了,当时,ARPANET就有1个相应的管理系统。随后的1些网络结构,如IBM的SNA、DEC的DNA、SUN的AppleTalk等,也都有相应的管理系统。无非,尽管网络管理很早就有,却1直没有患上到应有的注重。这是由于当时的网络1是范围较小,2来繁杂性不高,1个简单的网络管理系统就能够知足网络正常管理的需要,因此对于其钻研较少。但跟着网络的发展,范围逐步增大,繁杂性增添,之前的网络管理技术已经不能适应网络的迅速发展。
网络系统范围的日趋扩展以及网络利用水平的不断提高,1方面使患上网络的保护成为网络管理的首要问题之1,例如排除了网络故障更为难题、保护本钱上升等;另外一方面,如何提高网络机能同样成为网络系统利用的主要问题。尽管可以通过增强或者改善网络的静态措施来提高网络的机能,比如增强网络服务器的处理能力、采取网络交流等新技术来拓宽网络的带宽等,然而网络运行进程中负载平衡等动态措施也是提高网络机能的首要方面。通过静态或者动态措施提高的网络机能分别称为网络的静态机能以及动态机能。而网络的动态机能的提高是通过网络管理系统即“网管系统”来加以解决的。
1般说来,网络管理就是通过某种方式对于网络状况进行调剂,使网络能正常、高效地运行。其目的很明确,就是使网络中的各种资源患上到更为高效的应用,当网络呈现故障时能及时作出讲演以及处理,并调和、维持网络的高效运行等。1般而言,网络管理有5大功能,它们是:网络的失效管理、网络的配置管理、网络的机能管理、网络的安全管理、网络的计费管理。这5大功能包含了保证1个网络系统正常运行的基本功能。
现代计算机网络管理系统主要由4个要素组成:若干被管的(Managed Agents);至少1个网络管理器(Network Manager);1种公共网络管理协定(Network Management Protocol);1种或者多种管理信息库(MIB,Management Information Base)。其中网络管理协定是最首要的部份,它定义了网络管理器与被管间的通讯法子,规定了管理信息库的存储结构、信息库中症结字的含意和各种事件的处理法子。目前有影响的网络管理协定是SNMP(Simple Network Management Protocol)以及CMIS/CMIP(the Co妹妹on Management Information Service/Protocol)。它们代表了目前两大网络管理解决方案。其中,SNMP流传最广,利用至多,取得支撑也最广泛,已经经成为事实上的工业标准(详见技术部份)。
网管软件
网络管理的需求抉择网管系统的组成以及范围,任何网管系统不管其范围大小,基本上都是由支撑网管协定的网管软件平台、网管支持软件、网管工作平台以及支持网管协定的网络装备组成。其中网管软件平台提供网络系统的配置、故障、机能及网络用户散布方面的基本管理,也就是说,网络管理的各种功能终究会体现在网管软件的各种功能的实现上,软件是网管系统的“灵魂”,是网管系统的核心。
网管软件的功能可以归纳为3个部份:体系结构、核心服务以及利用程序。
首先,从基本的框架体系方面,网管软件需要提供1种通用的、开放的、可扩大的框架体系。为了向用户提供最大的选择规模,网管软件应当支撑通用平台,如既支撑Unix操作系统,又支撑Windows NT操作系统。网管软件既可以是散布式的体系结构,也能够是集中式的体系结构,实际利用中1般采取集中管理子网以及散布式管理主网相结合的方式。同时,网管软件是在基于开放标准的框架的基础上设计的,它应当支撑现有的协定以及技术的进级。开放的网络管理软件可以支撑基于标准的网络管理协定,如SNMP以及CMIP,也必需能支撑TCP/IP协定族及其它的1些专用网络协定。
网管软件应当能够提供1些核心的服务来知足网络管理的部份请求。核心服务是1个网络管理软件应具备的基本功能,大多数的企业网络管理系统都用到这些服务。各厂商常常通过提供首要的核心服务来增添自己的竞争力。他们通过改良底层系统来补充核心服务,也能够通过增添可选组件对于网管软件的功能进行扩充。核心服务的内容良多,包含网络搜寻、查错以及纠错、支撑大量装备、友好操作界面、讲演工具、警报通知以及处理、配置管理等等。
另外,为了实现特定的事务处理以及结构支撑,网管软件中有必要加入1些有价值的利用程序,以扩大网管软件的基本功能。这些利用程序可由第3方供应商提供,网管软件集成水平的高下取决于网络管理系统的核心服务以及厂商产品的功能。常见网管软件中的利用程序主要有:高档警报处理、网络仿真、策略管理以及故障标记等。
由上面的介绍可以看出:体系结构、核心服务以及利用程序3者之间是互相联络、密不可分的。体系结构提供1个系统平台,1个多种资源有机联络的场所;核心服务提供最基本、最首要的服务,就象糊口中保持人正常生存的部份;利用程序知足具体的、个性化的需求,有如糊口中不同人的不同习气以及喜爱。
软件公司的商帐管理
北京中关村的一家软件企业,同时兼营一些网站制作及推广业务。公司在经营中累积了大量的债权,严重影响公司的运营。这些债权有这样的特点:1、债权极为分散,债权总数只有一百多万元,但是却有一千多笔,最少的一百块,最多的也只有几万块;2、时间长,这是公司经营中历年积累下来的,大约有三分之一已经过了两年的诉讼时效;3、材料混乱,这些债权的形成以及相关材料很多无处查询,没有人很清楚的知道;4、这样一些小的债权还在不断产生;5、公司并没有任何人具体负责这些债权的催收。
无疑那家软件公司的债权催收将面临巨大的困难。1、债务人公司是否存在?一些小的公司,经营不好就不去年检,让公司自然消亡,公司都没有了,自然债权也要不到了;2、公司的经营地址和联系方式是否发生变化?一般的公司都是租赁写字楼办公,一年一搬家很常见,一搬家联系方式等全部发生变化,必须重新找到新地址所在;3、原来的经办人是否还在?这看起来与债权的催收并没有关系,其实关系很密切,一般小公司没有完善的文件保管制度,经办人走了,这么小的一件事情,也许移交工作时并没有做交代,没有人知道这件事情,那么当然不会轻易付给你钱;4、如果债权数额较大还要考虑,债务人是否有偿还的经济能力。
如果债务人不想还钱,那么只有起诉,但是起诉的成本巨大。无论案件的大小,基本工作量是一样的,必须捋清法律关系,整理好证据材料,去工商局查询债务人的工商注册材料,找到公司注册地址和法定代表人,然后才能制作诉讼文书。起诉要去法院五次,立案一次、开庭一次、领判决书一次,申请执行一次,领执行款一次,如果幸运的话,可以少去几次,当然也可能比五次要多。很多小公司被郊区的税收优惠政策吸引注册在郊区,但是却在市里办公,这样必须要去郊区起诉,往返郊区的时间和交通成本是很高昂的。到法院起诉要交诉讼费,工商局查询要交纳查询费,如果加上律师费,每个案件的成本可能高达一万元,那么对于标的额在一万以下的诉讼案件根本就没有诉讼的意义。
根据美国商法联盟调查数据显示,当逾期时间为一个月时间,追帐成功率为93.7%,当逾期半年时,成功率降为57.8%,当逾期两年左右,成功率为13.5%。美国企业的应收帐款回收期平均只有37天,而中国企业平均为100多天。美国公司追帐的成功率为60%以上,而中国企业的成功率不到20%。根据中国的国情,以及我们工作中的实务经验,对于这些小额的债务必须建立一套完整的催收制度才能有所保障,下面将探讨这个催收制度的建立。
一、健全内部合同管理
合同管理不仅仅是保管合同原件,更需要保留好合同相关的往来传真、备忘录、相关人员签署的收货凭证等等,都要妥善保管好。很多公司是没有合同管理的,对于一些小的合同,原件虽然在公司的专人手中,但是在执行过程中有关材料随意分散在业务人员手中,业务人员走了,该资料也就没有了,合同的执行情况也就没有人知道了。一旦发生纠纷没有人能完全知道事情的来龙去脉,没有人手头有完整的材料。
合同保管要强调责任制,在合同执行阶段,合同可以由业务人员或业务部门经理保管,凡是和合同执行有关的材料统一在第一时间交给该人保管。业务办理完毕应当完整移交到公司专职保管人员。我们建议在移交的材料中加上一个合同执行说明,由具体经办人对合同的执行情况进行说明,将材料列个清单,可以做成格式直接填写。
二、强化催收
中国讲人情,在我们的实务工作中发现,越是关系好,可能款项越晚兑现。大部分款项并不是对方没有能力支付,而是不想支付,想想现金在自己公司握着多主动,而且可以生息,总比还给别人好。所以很多公司是看哪个催得急,谁急就先付给谁。而如果碍于面子,就只能等到最后了,万一对方资金一紧张,这帐就成了陈年老帐了,所以要加强货款催收。
催收也要讲策略,按过程分别进行排布。
第一步,直接由业务人员负责催收。业务员的待遇是与业务量挂钩的,业务人员应当对帐款承担催收责任。业务人员是公司最底层的工作人员,可以可怜兮兮去找对方,“大哥,你要是不给我钱,我就要失业了。”,这样博得同情心,小的帐款一般都能这样催收回来。这一步的时间不要太长,给予两周的时间就行了,没有效果进入下一步。
第二步,财务部核帐。财务部核帐有两个目的,第一告诉对方这笔帐款开始移交到公司统一来处理了,二是和对方核帐,确认欠款的事实与数额。这个很重要,一旦发生诉讼有这张核帐单,双方的法律关系就非常的简单了,不需要对合同执行中的质量、数量等双方可能发生争议的事项进行纠缠了。这个时候双方还没有闹僵,拿到这样的核帐单一般比较容易。当然财务部目的不是要核帐,还要催收款项,财务部人少,自然没有人专职来打要帐电话,可以让单位前台或其他人以财务部的名义打这个电话。
第三步,以上措施都没有效果,那么说明对方有想赖帐的可能。如果对方说,你再等几天,我们马上有一笔到帐,一到就给你,这样的话,最多只能信一次,不要有太多的指望。以上两个步骤已经进行了三个月,仍然没有效果就应当考虑移交公司法律部门,由法律部门进行处理。
三、果断采取法律措施
很多公司顾虑采取法律措施会伤了彼此友好的业务关系,失去了一个客户。这是中国国情,确实是要考虑的,但是只要想想,做任何的业务都是以赢利为目的的,如果对方不支付帐款,那么要这个友好的业务关系做什么?与其拖到以后翻脸,再对簿公堂,不如现在采取法律措施早点将款项收回来更 为塌实。
采取法律措施,也能考虑到中国国情,不是一开始就直接将对方告上法庭。可以先给对方打招呼,说要采取法律措施了,再不理睬,发个律师函,最后才起诉,这样的话对方就自己陷入了不人情了,再有什么埋怨也不好讲了。
杨挚
ISO9000系列标准及软件质量认证
近年来,国际上影响最为深远的质量管理标准当属国际标准化组织于1987年公布的ISO9000系列标准,这一国际标准发源于欧洲经济共同体,但很快就波及美国、日本及世界各国。到目前为止,已有70多个国家在它们的企业中采用和实施这一系列标准。中国对此也十分重视,也采取了积极态度。一方面确定对其等同采用,与其相应的质量管理国家标准系列GB/T19000;同时积极组织实施和开展质量认证工作。计算机软件行业自然也和其它领域一样被席卷进去。
ISO9000系列标准如此迅速地在国际上广为流行,其原因主要在于:
1)市场经济,特别是国际贸易的驱动。无论任何产业,其产品的质量如何都是生产者、消费者、以及中间商十分关注的问题。市场的竞争很大程度上反映了在质量方面的竞争。ISO9000系列标准客观地对生产者(也称供方)提出了全面的质量管理要求、质量管理办法,并且还规定了消费者(也称需方)的管理职责,使其得到双方的普遍认同,从而将符合ISO9000标准的要求作为国家贸易活动中建立互相信任关系的基石,并且在国际贸易中,把生产者是否达到ISO9000质量标准作为购买产品的前提条件,取得ISO9000质量标准认证被人们当作进入国际市场的通行证。
2)ISO9000系列标准适用领域广阔。它的出现最初针对制造行业,但现已面向更为广阔的领域,这包括:
(1)硬件:指不连续的具有特定形状的产品,如机械、电子产品,不只是计算机硬件。
(2)软件:通过支持媒体表达的信息所构成的智力产品。计算机软件当然属于其中。
(3)流程性材料:将原料转化为某一特定状态的产品。如,流体、粒状、线状等,通过瓶装、袋装等或通过管道传输交付。
(4)服务:为满足客户需求的更为广泛的活动。
ISO9000系列标准的内容
2000版ISO9000系列标准的内容
ISO9000:2000质量管理体系基本原则和术语
ISO9001:2000质量管理体系——要求
ISO9004:2000质量管理体系——业绩改进指南
ISO19011:2000质量和环境审核指南
2000版ISO9000族标准的特点
新版ISO9000族标准对比现行的1994版而言,具有以下的特点。
1.面向所有组织,通用性强。新版ISO9000族标准适用于所有的产品类别、所有的行业和各种规模的组织,总之,新版标准面向所有组织,通用性很强,将成为适用范围最广的国际标准之一,表现在:
(1)新版标准消除了1994版对硬件产品制造业的偏向性。
2000版标准巧妙地采用了“产品实现”、“动作控制”、“过程的测量和监控”和“产品的测量和监控”等词汇和要求,消除了行业的偏向性,对非制造业贯彻ISO9000族标准所带来的方便是不容置疑的。
(2).为特种行业制定行业附加要求奠定了共同的基础。有些行业确有其特殊性,2000版本标准允许在ISO9001基础上增加行业特殊要求的条款。这样既能使所有组织的质量体系基本要求具有一致性,又确保行业特殊要求的适用小性。已有软件.通讯.汽车.等行业都已用此方式制定各自的行业特殊要求。
(3)。‘‘允许裁剪“的规定使2000版ISO9001标准的适用范围扩大到1994版ISO9001/9002/9003/三个保证摸式的标准户群。三个保证没摸式的差异都在第7章产品实现过程中,2000版ISO9001,1.2允许对第7章要求中不影响满足顾客和法规要求,不及组织责任的标准条款进行裁剪,从扩大了ISO9001标准的适用范围,又获得”以一顶是三(三个质量保证摸式),减少标准数量的功效。
(4)。考虑了小型企业的适用性。2000版标准保留了大小企业都是必要的条款,有的还进行强化,对小型企业可能不太上适合的具体要求则进行弱化。使2000版ISO9001标准的通用性更强了。
2.确立八项原则,统一留念理念。
3.鼓励过程方法,操作性强。2000版标准的修订采用了过程摸式,提倡用过程方法来识别和建立体系。
4.强化关键:领导作用。
5.自我评价测量,突出改进。
6.关心各相关方,利益共享。
ISO9000系列标准原本是为制造硬件产品而制定的标准,不能直接用于软件制作。后来曾试图将ISO9001改写用于软件开发方面,但效果不佳。于是,以ISO9000系列标准的追加形式,另行制定出ISO90003标准。这样,ISO90003就成了用于“使ISO9001适用于软件开发、供应及维护”的“指南”。不过,在ISO90003的审议过程中,日本等国曾先后提出过不少意见。所以,在内容上与ISO9001已有相当不同。ISO90003(即GB/T19000.394),全称《质量管理和质量保证标准第三部分:在软件开发、供应和维护中的使用指南》。
制定与实施ISO9000系列标准
1)强调质量并非在产品检验中得到,而是形成于生产的全过程。ISO90003叙述了需方和供方应如何进行有组织的质量保证活动,才能得到较为满意的软件;规定了从双方签订开发合同到设计、实现以至维护整个软件生存期中应当实施的质量保证活动,但并没有规定具体的质量管理和质量检验方法和步骤。
ISO90003的核心思想是“将质量制作入产品之中”。其实道理是很明显的,软件在完成编码以后,不论花多大的力气用于测试,提高质量都是有限度的,更不必说需求规格说明存在的问题常常是测试无法发现的。事实上,软件产品的质量取决于软件生存周期。
2)为把握产品的质量,ISO9000要求“必须使影响产品质量的全部因素在生产全过程中始终处于受控状态”。为使软件产品达到质量要求,ISO90003要求软件开发机构建立质量保证体系。首先要求明确供需双方的职责,针对所有可能影响软件质量的各个因素都要采取有力措施,作出如何加强管理和控制的决定。对与质量有关的人员规定其职责和职权,使之责任落实到人,产品质量真正得到控制。
3)ISO9000标准要求证实:“企业具有持续提供符合要求产品的能力”。质量认证是取得这一证实的有效方法。产品质量若能达到标准提出的要求,由不依赖于供方和需方的第三方权威机构对生产厂家审查证实后出具合格证明。显然,如果这一认证工作是公正的、可靠的,其公证的结果应当是可以信赖的。正确实施产品质量认证制度自然会在促进产品质量提高,指导消费者选购产品,提高质量合格产品企业的声誉,以及节省社会检验大量费用等方面发挥积极作用。
生产企业为了达到质量标准,取得质量认证,必须多方面开展质量管理活动。其中,企业负责人的重视以及企业全体人员的积极参与是取得成功的关键。
4)ISO9000标准还强调“质量管理必须坚持进行质量改进”。贯彻ISO9000标准是企业加强质量管理、提高产品质量的过程,这个过程包含许多工作绝非轻而易举、一蹴而就所能奏效的。即使已经取得了质量认证也不能认为一劳永逸而放松质量管理。实际上认证通常以半年为有效期。取得认证之后尚需接受每年1~2次的定期检查,其目的在于促使企业坚持进 行质量改进。
1软件生命周期中信息安全管理控制
在各主流IT或信息安全评价体系中,都或多或少对软件生命周期中的信息安全控制进行了要求和规定,本文综合了流行的ISO27000,Cobit5,PCI-DSS等评价体系,结合国家信息安全标准,及审计咨询公司常用的SOX,SAS70等第三方评价标准,就如何设计与实施软件生命周期中信息安全的相关控制点归纳总结如下
1.1软件生命周期中信息安全的整体要求
(1)制定并正式的软件生命周期控制文件:明确说明开发过程的控制方法和人员的行为准则,并应充分考虑对信息安全方面的要求,确保开发出来的系统可以满足公司整体信息安全的需要、相关法律法规的信息安全要求,以及特殊部门或流程的信息安全需要。(2)软件生命周期中对信息安全的总体要求:虽然由于系统所对应企业、部门、业务或流程的差异,每个系统的安全要求有所不同,例如通常来讲,金融行业对安全的要求较高,金融行业里,涉及客户信息、财务信息的系统安全要求较高等等。每个企业、部门必须根据自己的流程评估风险,确定对数据完整性、安全性、可用性的要求,从而进一步确定信息安全要求。
1.2对环境的要求
(1)确保开发环境与实际运行环境物理相分离,开发环境应该由一系列足以支持开发工作且尽量与生产环境接近的设备搭建而成,所有的开发和测试工作均应该在此开发环境中进行。在实际工作中,也可以实行开发环境、测试环境及生产环境的分离控制,或开发环境、测试环境、用户验收测试环境及生产环境的分离控制。在上述环境中,开发环境可以相对较弱,以可以支持代码开发、进行模块测试及基本的集成测试为标准;测试环境,特别是用户验收测试的测试环境,则要求较高,应与实际环境保持一致或尽可能接近。(2)对开发环境(及测试环境)实施安全控制:例如未经授权的人员不得访问开发环境(测试环境),对开发(测试)中的软件实施严格的版本控制,开发(测试)环境的机器必须安装杀毒软件并及时更新病毒库,并及时对操作系统及相关应用软件进行补丁修正和升级。
1.3对人员的要求
(1)软件生命周期中的工作人员必须具有足够的专业胜任能力及职业道德素养,足以从事相关工作。(2)对开发人员和测试人员实施职责分离,开发人员未经授权不得访问或修改生产环境的程序或数据。1.4业务需求阶段在业务需求制定阶段,应注重对信息安全方面的需求制定。在业务需求书中,应明确对系统安全的详细要求,并在系统设计阶段开始之前,由各利益相关方(含信息安全的负责人)书面确认。业务需求阶段完成后,任何对系统安全需求的修改,也应视为对业务需求书的修改,需经过正式的系统变更流程。
1.5系统设计阶段
(1)对系统进行整体设计和详细设计,通过分析系统的数据流,包括数据录入、系统内部模块间的数据传输、信息存储、数据库访问及管理、系统间数据传输,、数据输出等,确保实现所有过程中对数据的全面保护,特别是对特定业务的特定数据进行保护,例如密码,客户信息,财务数据等,对重要数据的存储和传输设置权限和校验,并进行加密。(2)在软件的应用层面应至少包含如下的控制设计:i)输入检查:对系统的输入数据进行验证,比如设置强制输入完成才可进一步处理的字段;对输入数据的类型或范围进行检查,例如日期;对输入数据的长度进行检查,例如手机号码位数;对数据进行正确性校验,例如利用身份证校验码策略检查身份证号码,对比身份证号码与出生日期。ii)数据处理过程中的检查:对系统处理过程中的数据进行检查,比如在自动化转换或传输过程中,比对数据记录的总条数和数据总和;设置流程,提醒将系统数据与纸质数据进行比对验证。iii)输出检查:对输出结果的合理性进行系统检测,以及设置流程提示将系统输出数据与手工证据进行核对等。
1.6系统实施阶段
制定代码编写安全规范,要求开发人员参照规范编写代码;严格禁止不安全的实施方法,例如将用户名或密码编写在程序中,使用未经审核过的代码包,使用未授权的网络工具等。对源代码的访问和修改必须严格控制,例如通过配置管理工具进行代码访问及代码版本控制。
1.7系统测试阶段
(1)系统测试整体要求:对系统测试验收的控制方法和人员行为准则应进行书面规定,确保系统在开发期间直至验收需对软件、硬件、服务等元素进行一系列的测试,确保系统及数据的完整性和可用性。对源于生产环境的测试数据去敏感化,如客户身份证信息等,在传输过程中进行加密,并确保在测试后被完全清除。(2)测试通常应覆盖业务需求书中的所有要求,包括系统功能、软硬件性能、平台兼容性、系统容量、系统恢复等,也应特别保护对信息安全的测试,如防攻击测试、穿透性测试等。(3)用户接受测试:接收测试的测试人员应由非开发人员担当,且必须包含业务人员。测试范围应涉及系统所有的功能,包括数据库及操作系统。接收测试也应特别注意对系统安全方面的测试,例如审查关键代码,查找后门程序及穿透性测试等。(4)测试结果:测试结果需书面记载,与用户期望结果进行比对和确认。此记录及确认中需包含对信息安全方面的测试结果,确认测试结果符合系统设计及公司整体的信息安全需要,或已经授权采取了充分、恰当的补偿性措施。
1.8系统上线
(1)系统上线前需进行如下确认,信息安全评估已充分进行,安全方面的缺陷已被充分确认及记录,系统的性能和容量可以满足要求,所有与系统相关的补丁或更新已经实施,所有开发中遇到的问题已得到妥善解决,建立了充分恢复措施,测试数据已被擦除,服务水平协议已经建立,以及各利益相关者已经对系统上线做了批准等。(2)系统上线时需进行的操作:对初始数据迁移或输入的确认,对技术人员及用户进行培训,设置恰当的上线窗口期并对可能产生的业务中断进行准备,明确新旧系统交接程序,制定详细的系统交付清单,提供软件的使用指南,确保上线后对系统提供持续性支持(例如IT服务台)。另外,对旧系统信息,包括系统配置、操作手册、支持软件、系统数据等进行归档。(3)上线后审核:系统运行一段时间后对系统进行评估,评价系统对业务的满足情况,其中包含信息安全的符合情况、信息安全控制措施的运行效果和效率,发生的信息安全事故以及潜在的需要改进的信息安全措施。
1.9质量控制
在整个软件生命周期中实施质量控制以确保信息安全策略的有效实施,包括评价系统风险(例如与业务需求、技术、效果、成本、时间相关的风险),评估及定义系统的安全需求,且在整个软件生命周期的节点上进行检查,以确 保安全需求在开发的系统中进行了充分实施。
2结论
本文通过九个方面,就如何在软件开发生命周期中进行信息安全管理,提出了较为全面和系统的设计与实施办法,可以满足当前流行的绝大多数信息安全评价体系的要求,对企事业单位的信息安全和软件质量管理有一定的参考意义。
现在几乎每台个人电脑上都安装了浏览器,这导致了只要在一个局域网的范围内,如果不做权限限制,每台计算机都能轻易的访问Web项目,所以权限管理是Web应用项目中关键环节之一。如果不建立权限管理系统,任何“非法用户”都可以轻而易举通过浏览器访问到Web应用项目中的所有功能,这将对信息系统的安全造成威胁。因此,应用系统均需要相关的权限管理软件进行权限检测与管理,确保只有经过授权的用户才能正常合法的使用已授权的功能,同时禁止那些未经过授权的非法用户进入系统。
因此,开发一套具有通用性并能克服上述不足的权限管理软件来确保信息系统的信息安全是十分必要作。本文基于B/S架构,设计开发了一套权限管理软件。该软件用户体验性强,客户端无需下载控件,能同时支持多种数据库;实现了按一定的组织结构访问网页,确保信息系统安全。
1 软件设计
1.1软件整体设计
权限管理软件设计是基于角色的访问控制(Role-Based Access Control,简称RBAC)设计模型。RBAC是美国NIST于20世纪90年代初提出了一种基于角色的访问控制模型。其核心思想是:不是直接将用户和权限进行关联,而是引入“角色”概念,将代表行为的权限和角色相互关联,角色与用户相互关联,用户和权限通过角色而间接关联。
在软件具体设计中,首先通过系统的域验证来保证用户合法性;域验证通过后,从数据库中读取该用户具备哪种角色,然后根据用户的角色,来确定该用户可以访问的页面;最后将这些页面生成菜单,从而实现权限管理的功能。
1.2软件体系架构的设计
在软件体系架构设计中,采用分层式结构,添加了Model层,并将数据访问层做了一定程度上的扩展,具体软件体系架构图1所示。
表示层:是系统的展示部分,负责用户与整个系统的交互。表示层仅仅包含页面上控件的逻辑代码,只与界面上的元素有关,而与系统的业务逻辑无关。
业务逻辑层:是整个系统的核心。它与这个系统的业务逻辑相关。在权限管理软件中,业务逻辑层的相关设计主要涉及到页面、角色和菜单处理的业务逻辑。如果涉及到数据库的访问,则调用数据访问层。
数据访问层:其功能主要是负责数据库操作。该层包括DAL接口、DAL工厂、Oracle Dal、SqlServer Dal以及最后产生的Model层。该数据访问层中完全采用了“面向接口编程”的思想。抽象出来的IDAL模块,脱离了与具体数据库的依赖,从而使得整个数据访问层更加有利于数据库迁移。只需添加一个相应数据库版本的DAL并且实现IDAL接口即可连接到各种数据库。业务逻辑层和表现层不需要任何的改动,从而提高了代码的复用率。
实体层:该层主要将数据库中定义的表映射成程序可以访问的业务实体,并且只定义实体的属性,并无实体的行为。该层由数据访问层产生,贯串了业务管理层和表示层。权限管理系统主要涉及的实体有:用户类、页面类和角色类等。
1.3系统功能设计
权限管理软件主要包括四个模块:用户管理、页面管理、角色管理和菜单管理。具体功能架构图如图2所示。
图2 权限管理软件功能架构图
1.4系统数据库设计
数据库设计是软件开发过程中的基础环节。良好的数据库设计不但有利于提高系统的整体性能,而且也方便将来使用过程中的数据维护。权限管理软件数据库设计达到了第三范式(3NF),这种设计能够有效保证数据的完整性和参照完整性,同时降低数据的冗余度。
2 软件实现
该软件实现了与域无缝集成。用户登录后首先通过域验证来确保登录用户的合法性。这样既方便了用户,避免用户记住多个用户名和密码也保证了系统的安全性。
在权限管理系统中,利用了C#中DLLImport直接调用Windows已经存在的域验证功能。DllImport所在的名字空间是 using System.Runtime.InteropServices。
MSDN中对DllImportAttribute的解释是这样的:可将该属性应用于方法。DllImportAttribute 属性提供对从非托管 DLL 导出的函数进行调用所必需的信息。作为最低要求,必须提供包含入口点的 DLL 的名称。
3 软件应用
权限管理软件已应用在多个系统中,系统运行稳定,响应速度快,操作简单,功能健全,满足了用户的需求。权限管理软件的直接使用,在很大程度上节省了开发人员的时间和精力,提高了软件开发效率。随着信息化建设的步伐越来越大,B/S架构的系统的投用越来越多的投用,该软件的应用范围将越来越广阔。
一天到一家公司拜访一位老总,席间偶然谈起这家公司电脑中病毒泛滥,弄得许多电脑不敢使用。由于我一直对电脑技术颇有业余兴趣,就自告奋勇地提出要教他们杀毒。主人同意之后,我就开始在一台电脑上操作示范。我先用公司现有的杀毒软件进行查杀,杀掉了部分病毒。然后我又从互联网站上下载了若干软件,轮番查杀。有的软件只能防不能杀,有的软件一个病毒也查不出来,有的软件查出病毒却杀不了,有的软件杀不了几个病毒,却造成电脑出现种种异象,比如死机。尽管如此,这些杀毒软件还是功劳不小,杀掉了不少病毒,电脑可以正常使用了。然后我又对各个杀毒软件进行分别处理,留下了个别经证明能查杀病毒的软件,面对那些干不了活的甚至造成电脑死机的软件,试过就删了。还有几个病毒无论用哪个软件都杀不掉,最后我只好删掉有毒文件。
查杀病毒示范做完之后,我就和老总坐下来谈公司管理,老总就谈起以前也请过管理顾问来做诊断和治疗,可是那些项目做完之后,许多问题依然存在,弄得大家很失望,老总问我这是怎么回事。我顺手就把杀毒软件和管理项目做了比较,说明各个管理项目就象一个个杀毒软件,每一个项目至少只能解决管理中的一部分问题,不能指望引入一了一套管理项目,就可以一劳永逸地解决所有问题。不少人一开始对某些管理项目(比如ISO9000)抱有不切实际的幻想,指望它们能包医百病;一旦事实证明并不是那么回事,他们又对所有管理项目一概怀疑和排斥,觉得还是自己凭经验治理的好。
我就接触过一个老板,开始是不顾公司一片混乱,哭着喊着非要搞ISO9000不可,劝都劝不住。因为他觉得一搞ISO9000,一切都会好起来。后来刚开始搞ISO9000,他一听说ISO9000基本上不涉及财务,不能帮助他解决财务管理中的问题,大大出乎他的意料,立马就对ISO9000失去了兴趣。后来人们花了九牛二虎之力总算把这家管理混乱的公司的ISO9000做完了,而且通过了认证,这位老板却一点感谢没有;反而觉得公司里还有很多问题,ISO9000没做好,连费用都不想付,证书也不想拿,而在管理上却基本上回到了老路上去。
不少类似企业好不容易走上了"法治"轨道,略受挫折,就又一头扎回到"人治"的轨道,而且再也不肯回头,让人觉得真是可悲又可笑。文秘站版权所有
其实各个管理项目又岂止是不能解决所有问题?有的项目还根本不适合你和企业,至少是不适合现阶段下的你的企业,如果硬要导入,说不定会使你的企业"死机"呢!
有的管理项目,恐怕也只能"查",不能"杀";可以帮您诊断企业一些毛病,至于解决问题,对不起,恐怕您得另请高明。再者,现在人们推出的各种管理项目五花八门,即使您的企业把这些所有的项目都"做"了,也不可能解决您企业所有的问题,就象将现有的全部杀毒软件都用上,也有可能无法解决全部病毒一样。
您在企业实施的各种管理项目,还存在一个互相衔接、配套的问题,否则就会互相抵销或冲突。这也象各种杀毒软件一样,不能随便混用。有一次我在一台已经安装了某种杀毒软件的电脑上运行另一个杀毒软件,结果一运行就死机,三番五次,不知原因。后来我把电脑原先的杀毒软件卸载掉,新的杀毒软件才得以顺利运行。
最后,您的企业要做什么管理项目,需要一番认真调查,深入了解和系统思考,这一点可不象运行杀毒软件那样,可以不管三七二十一,拿过来试一下再说。
胡乱做一个管理项目,有时不仅无助于企业,还会有害于企业,使企业付出代价。至少,做一个无效的管理项目,即使无害,你也是要花一笔顾问费的。
总之,企业要导入某一个管理项目,一定要事先进行认真调查,深入了解和系统思考。要考虑以下因素:
1)这套管理项目是否确实适合于本企业?
2)这套管理项目用来解决哪些问题?
3)这套管理项目不能解决哪些问题?
4)这套管理项目与其他管理是否兼容、如何兼容?
5)对于通过管理项目实在解决不了的问题,您是否有决心和信心整个端掉染病的个人或群体?
如果您充分考虑了以上问题,我们认为您已经在实施管理项目之前有了充分的思想准备,实施项目的主观因素已经成熟了。
1、计算机软件技术有利于培训信息管理的保存
很多企业在对员工进行多次的培训之后,大量的培训信息管理工作有所流失。而利用计算机软件技术进行培训信息的保存,有助于企业建立相关的人才培训信息,及时保存数据对相应的信息进行存底和保留。这样既方便日后培训档案的查找,节省时间节省人力资源,以及查找到的相关数据准确较高。以上皆是当今人力资源开发的关键,能否掌握住大量的人才信息和人才资料成为企业培训的重要内容。企业在对员工进行培训后,应该及时保存其培训资料,并及时建立相关的培训基础资料,方便以后考核的参考。企业更应该完善管理,充分利用计算机软件技术,做好人员资料的管理工作。
2、利用计算机软件技术进行培训信息管理的相关内容
2.1信息系统的采集输入。信息的输入工作重点是培训信息的联网输入。其信息的输入包括对基本的信息和培训信息的输入。培训信息地的输入是该人员的工号、培训的单位,以及何时参加该培训,以及培训结束的时间,另外培训的内容是什么,培训的考核成绩,证书的编号是什么等相关的内容。这些相应的内容是通过网络传给相关的服务器,或者拷贝到相应的信息系统中去,由具体经办人员根据个人的相关培训信息的整合之后,并利用相关的计算机软件技术进行输入操作工作。基本信息输入工作包括各自的姓名、性别、工号、籍贯、身份证号码,出生年月等一系列的基本信息。工作的基本信息,比如说工号、职务、编制、岗位名称、岗位性质、在聘情况。其中还包括本人的学历情况及获奖的情况,即毕业学校、毕业专业、学历情况以及荣誉名称、获取日期等。
2.2培训信息管理系统的主要功能。方便查询。培训信息系统的建立和完善,是企业方便查询员工基本情况的便利途径。通过该系统的检索查询,能快速为需要的人员提供相应的查询资料。能否及时准确地查询到相关的培训信息,是大大降低信息成本提供工作效益的关键所在。信息库的保护。信息海量化的同时,各种电脑病毒以各种形式存在于信息中,是信息库安全维护的一大隐患。如果病毒乘虚而入,将会对信息库造成信息泄露,数据丢失系统崩溃等严重后果。对相关重要信息的保护需要采用最新的防毒软件,并对相关信息进行独立备份和保存。采取行之有效的保护手段,建立安全、完善的员工培训信息库管理体系。管理设置的权限。通过利用加密的技术,根据相关人员的职务设置不同的访问权限。专门的系统管理人员对培训信息管理和更新,允许对某一模块的修改和设置权限。对于信息录入人员、查询管理工作的人员、信息修改人员分别进行规范的管理,以便保证系统信息的安全性和完整性。打印功能的丰富。对于已经录入的培训信息,根据需要可以打印一个人的全部资料,也可以根据需要任性一部分人的信息打印,再或者需要的情况打印一段时间的资料信息等。丰富的打印功能,能快速满足企业对人员信息资料的需要。
3、重视计算机软件技术在信息管理中的应用
计算机技术的快速发展,信息化时代已成为不可阻挡的趋势,计算机软件的应用更是与人们的工作息息相关。尤其是企业的信息管理更是需要用到计算机软件技术,由于管理人员的更替,容易造成档案流失,自从计算机技术融入到信息管理中,从最大程度解决了人力、物力的管理缺失问题。,在企业及各个领域发挥着越来越重要的作用,也是信息管理工作效率显着提升。
3.1计算机软件技术的应用方便保存和浏览。企业通过利用计算机软件技术进行培训信息管理,方便了繁琐信息的管理,也便于长久的保存员工的培训情况。同时,计算机软件技术的准确性、统一输入和规则,使企业的管理者在浏览信息时更快捷更全面。这样可以避开繁杂的查询,可以杜绝信息不全的缺点,能够有效及时地找出企业所需要的人才,企业领导的思路也理顺。
3.2培训企业相关的人才。如何有效推进计算机软件技术在信息管理中的应用,需要企业重视培训和引进相关计算机软件系统工作,营造积极向上的人才机制。对于员工培训信息及取得的成绩需要有所了解才能充分使用人才,员工的相关培训资料信息企业要及时储备完善。亦可让人才引入人才带动的方式,加强员工的计算机软件技术培训,从而能够使企业的计算机软件技术迅速发展。
3.3计算机软件技术进行培训信息管理的实现与设计。为使培训管理工作更加系统化、自动化和科学化,应系统的开发和使用计算机软件技术。企业现代化管理需要采用计算机技术来规范人才管理,加强对企业人才的培训是行之有效的方法之一。企业也可自行的研发适合自身发展的计算机软件系统,这一举措既能体现企业自身的魅力,又能为企业的大力培养软件开发的人才。同时,也为企业的开发经费节约了一笔钱,还能做到企业人员培训学以致用的好出。
4、小结
伴随计算机软件技术的不断升级和更新,企业借助计算机软件技术的运用范围也越来越宽广。而企业顺应时代的发展要求是利用计算机软件技术进行培训信息管理,重视人员的相关技术培训,充分利用计算机软件技术体系,建立相关的技术体系,完善计算机软件技术在企业的操作运用。计算机软件技术的利用将会为企业的远久发展创造强大的动力,提高企业运行的效率,改善企业发展中不足的方方面面。企业充分运用计算机软件技术系统,对培训人员的资料进行保存和建立数据库管理,有利于企业的进一步系统化操作。而员工基本信息库以及培训信息库将会作为系统开发的核心所在。
摘要:本文分析了目前软件外包采购管理的重要意义和目前的形势,提出基于“双赢”策略的软件外包采购思想。在项目管理理论、CMM和ISO9000的基础上,提出和细化了软件项目外包采购管理的总体框架和具体操作内容。旨在通过对软件外包项目采购的选择购买、跟踪与控制、评估验收和项目后处理等过程的研究,来提高软件外包采购的项目管理水平,满足承包方对分承制方产品在质量、进度和成本等方面的要求和对外包过程的有效控制,为软件项目外包采购管理人员提供具体的操作过程。
一、基本概念和背景
项目管理理论是一门综合多门学科的新兴研究领域,共有九大知识领域,包括项目集成管理、项目范围管理、项目时间管理、项目费用管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理和项目采购管理。项目采购管理是指需要从执行组织以外获得货物和服务的过程。通常把货物和服务称为产品,把买方称为业主或对应分承制方的总承包商,而卖方称为承包商、厂商或供应商。项目采购管理一般包括以下主要过程:采购计划编制,询价计划编制,询价,承包商选择,合同管理,合同收尾[ 1 ].对于软件产品,一般采购可以分为两大类,一类是对已经在市场流通的软件产品进行采购。例如,某企业想做信息化建设项目,涉及到数据库,那么它就可以在目前市面流行通用的几种厂家和种类的数据库中选择。例如Oracle公司的Oracle数据库,Microsoft公司的SQL Sever,IBM公司的DB2数据库等等。然后根据自己的需求,通过询价、签合同、安装培训等过程来购买此类产品。这种采购过程基本已经形成几套通用的解决方案,比较简单,中国企业在处理这类产品的采购时,大部分都处理的较好。个别的企业由于需求分析不清晰,培训工作不到位等原因,也会产生购买的产品不适用,或不会用的情况。另外一类软件产品采购的形式是外包采购。它是指在市场上没有出现现成的产品或者没有适合自己企业需求的产品的情况下,需要以定制的方式把项目(功能模块)承包给其他企业。例如某企业需要实施企业资源计划项目(ERP),虽然可以购买BAAN软件,但是基于本企业业务流程的管理软件必须定制,对于各个原有孤立岛的集成软件,无法购买现成的产品,必须自己开发或外包给别的公司。
二、软件项目外包采购管理的意义
许多大型复杂工程项目的实施需要业主、总承包商、分承制商、供应商和开发制造商等共同合作来完成。因此在任何甲方和乙方之间必不可少的涉及到部分子项目(功能模块)的采购活动。目前社会中,企业的信息化、网络化建设正在世界范围内展开。谁先进行信息化改造,谁就早日适应社会发展的要求,获得巨额利润。大规模的企业信息化建设形成了庞大的软件产品市场,促进了软件业的发展。许多项目庞大复杂、高风险并且涉及高科技信息领域,在客观上使企业需要采购和外包许多产品,包括软件产品。主观上,在经济全球一体化形式下,这种外包采购作为采购活动的一种特殊的、更为复杂的形式,在企业中更为普遍存在。企业为了在日益竞争的社会环境中增强自身的核心竞争力,需要根据企业的特点,专门从事某一个领域或几个领域的业务,在某个业务领域内形成自己的核心业务,把企业内部的智能和资源集中在那些有核心竞争优势的活动上;把一些非自己擅长的业务领域的子项目和功能模块外包给有实力和优势的公司,才有利于加快项目的完工进度,降低风险,优化资源配制,保证项目质量,降低成本,创造更高的价值。
以电信行业为例,爱立信公司2000年底宣布把手机生产的绝大部分业务外包给新加坡的Flextronics公司,专注于移动通信网络设备业务。原因是爱立信的移动通信网络设备的销售占爱立信公司销售额的54%,利润达90%以上,占有全球的移动通信市场分额高达30%,而手机生产的投资回报率很底,甚至出现亏损情况。对于爱立信而言,手机生产“外包”是在信息化时代的战略调整,希望通过外包生产,调整投资结构,使手机降低成本并且尽快盈利,集中精力稳定和拓展电信业的新市场。出于同样目的,美国的摩托罗拉公司也表示将外包部分地区的手机生产业务。作为手机市场份额最大的诺基亚,在专注于手机生产业务的同时,大力开发周边产业。希望以手机业务带动相关产业的发展。从三大公司的投资趋势,可以看出,“外包”作为一种先进的国际专业化的生产方式正被一些大公司越来越多的采用。我国正处在信息化建设的高速发展阶段,必然会有越来越多的企业由于自身的能力限制或业务发展的战略选择,将采取业务“外包”的生产方式。
就软件项目外包采购的市场来说,2000年是企业信息化实施的第一年,国内企业,特别是大型企业的信息化项目开始运作。行业信息化改造重点将由原来的电信、金融、海关等行业转向交通、制造、医疗等传统行业。这些行业由于自身计算机技术水平和业务发展重点的原因,将会把大量的软件项目外包给软件公司。根据CCID的统计(软件可以分成平台软件、中间软件和应用软件),2000年中国软件市场中应用软件的销售额为147亿元,占软件总市场份额的63.9%.预计到2005年,计算机信息服务和软件市场销售额增长到1750亿元。届时我国软件项目“外包”市场潜力可想而知。
三、软件外包采购管理存在的问题
虽然在传统行业,许多工程项目的采购活动,例如机械工程项目或建筑工程项目等等已经形成比较成熟的管理体制和标准。但是软件项目的外包管理工作并不象其他行业那样顺利。
软件工程项目管理引起广泛注意源于20世纪70年代中期,当时发现70%的项目是因为管理不善而引起。20世纪90年代中期,美国的软件开发仍然很难预测,大约只有10%的项目能够在预定的费用和进度下交付。商用软件通常只有9%(中小型软件公司有16%)的软件项目能够及时交付且费用并不超支。
这里有多方面的原因:软件产品作为一种特殊商品形式,具有高度不可测量性和高度柔性;软件企业开发能力还不太成熟,软件开发大多数还处于手工作坊方式,软件研发企业有其自身的运做方式,人为因素比重大,不好量化管理。由于不确定因素太多,许多软件开发企业对于自己的项目都难以精确控制进度、质量、资源和成本,那么对于业主来说,想对外部企业(例如分承制商)保持良好控制力的难度就更大了。再加上具有技术优势的软件开发商一般集中在几个科技发达的大城市,与业主的距离远,相互的交流不方便,因此许多软件采购项目的实际应用效果都差强人意:不适用,进度超期,性能达不到标准,成本太高等等情况时有发生。
软件项目外包采购的成功与失败不仅仅影响到当前软件项目的质量、成本和工作进度,而且关系到企业信息化建设整个项目的整体结构、性能以及进度,意义重大。特别是当软件项目作为整体项目计划关键路径的一个环节,软件项目采购的进度直接影响整体项目的进度,并且总成本将成指数级增加。由于软件采购的情况特别复杂,涉及的学科领域不仅是科学技术上的,还有商业上的和观念上的,软件项目外包采购管理水平的高低,将直接关系到企业整个信息化建设进程。因此软件项目采购管理作为项目管理理论中一个新的研究课题,有必要给予足够的重视。
四、目前软件外包采购管理情况
美国项目管理协会的“项目管理知识体系指南”(PMBOK)[1]、美国卡内基-梅隆大学软件工程研究所的“软件能力成熟度模型”(CMM)[2,3]和国际标准ISO9000-3[4]中虽然对外包采购管理的流程有过论述,但是他们指出的只是外包采购管理的一般原则;虽然人们可以结合自身企业特点实施标准,具有一定灵活性,但是事物的另一对立面就是操作过程不具体。这给软件产品的外包采购管理者带来具体操作上的困惑。另外PMBOK体系原则上是应用在各个行业的,缺乏针对软件领域的特点做专门的论述。ISO 9000-3系列和CMM虽然是针对软件领域的标准,但是ISO 9000-3的最大的特点是只告诉你要按规定做,不强调效果和后续改善,不强调经验积累和后评估。从这个意义上讲ISO9000注重水平的评估,不太强调提高企业成长的过程,因此对于提高企业的管理水平意义不大;CMM虽然旨在强调企业的过程能力的持续改进,但是它重点强调软件的开发过程管理和产品管理,缺乏软件的分发、转交和服务等方面的管理标准,所以也有一定的局限性。
五、基于“双赢”策略的软件外包采购思想
本文作者在集成美国项目管理协会的“项目管理知识体系指南”(PMBOK)和美国卡内基-梅隆大学软件工程研究所的“软件能力成熟度模型”(SW- CMM,SA-CMM)和ISO9000-3中关于外包采购的宗旨的基础上提出“双赢”策略的软件外包采购思想。
“双赢”策略的软件外包采购思想旨在利用双方业务能力互补,通过共同合作完成软件外包项目,达到“双赢”的目的,促进双方业务总体能力的提高。这种“双赢”策略要求双方在以下方面达成共识:双方共同关注过程控制,才能保证有效结果;只能成功,不能指望依靠惩罚手段来收回采购成本,软件外包采购项目的失败对整个项目带来的损失是巨大的;在合作过程中,建立对分承制商关系的管理体系,作为以后合作的基础;重视开发过程的风险评估和采购项目后评估,使得双方业务能力得到持续提高。
传统的外包采购中,采购方只关心分承制商产品的进度和质量,以为只要分承制商按期、按质交货,就可以圆满结束此次采购活动。有些项目尽管前期进度和质量满足合同要求,但是许多是以高投入、高负荷、高消耗等手段来保证的,这给后期带来极高的风险。在阶段评审中,如果采购方对分承制商开发过程中的费用投入、人员负荷、资源消耗、组织结构变化等漠不关心,因此就不能及早预见风险、控制风险。很难想象,后期在费用透支、人员疲惫或流失严重的情况下,分承制商仍能保证产品质量和进度。这种情况下,采购方只能要么加大投入,要么终止合同,并要求赔偿,要么延期验收等等。其副作用可想而知。而分承制商为了减少损失,根据博弈论中子博弈精练纳什均衡原理,必然采取降低质量要求,减少投入的策略,来加快进度。结果最终还是采购方遭受损失。
六、软件项目外包采购管理过程
为了保证软件外包采购项目的顺利进行,本文作者在上诉理论体系和“双赢”采购策略的基础上,提出和细化了软件项目外包采购的总体框架和具体操作内容,旨在为软件项目外包采购管理人员提供具体的可操作过程。
对于本采购过程,如果业主方由于行业、人员等原因,没有健全的监控部门,可以聘请具有软件监理职责的公司,或者总承包给具有一定软件工程监控能力的公司。这时的总承包公司角色相当于本文提到的采购部。
软件项目的整个外包采购过程可以分为十个工作阶段,包括总体项目需求分析和设计、子项目的需求分析、厂商选择、分承制商开发、业主阶段评估、交验测试、安装、培训、维护,后评价。
在开始外包采购之前,首先业主要完成项目的总体需求规格说明书和承包项目的需求说明书。一般承包项目的需求分用户需求和分配需求。对于分承包商来说,业主对软件项目所提出的需求通称“用户需求”。对于业主来说,系统总体分配给软件的系统需求通称“分配需求”。如何作好子项目的需求分析和管理,请参阅《软件需求》,详见参考文献5.然后业主把需求说明书交给采购组组织采购。采购部门收到需求说明书后,再补充质询调查表、报价指南、综合条款及条件等文件,组成采购质询技术文件发往厂商进行质询。采购部门在厂商质询的基础上,准备了厂商选择和投标估价等技术文件后,向业主送审,提请业主批准和确认所选厂商。在厂商选择和投标估价这两个文件中,采购部根据拟采购的软件对被质询的至少三家以上的供应厂商,就技术开发成熟能力、资源(包括以有的产品、硬件、软件、信息和已经过的培训)、资格和信誉、过去的合作关系、价格、提供的售后服务(包括培训和维护)、分承制方组织配置结构、与质询要求的差异等方面,经过经济技术和商业战略角度出发进行全面评估,经过其他各部门(例如系统工程组、软件工程组、质保组、财务组)审核后,列出供应厂商的优劣次序,择其优者为该项目的供应厂商。采购部一般以月为单位向业主通报软件采购情况。一般以招投标方式或内部评审的方式来确定分承制商。
分承制商在接到采购部的定货以后,就可以进行工作说明书、用户需求说明书、软件需求规格说明书、软件开发详细计划和成本概预算、测试计划、质量控制方法、风险控制、拟采用的软件工程标准和软件生命周期等文档的制作。然后分承制商把有关的技术资料文件通过业主的采购部送给业主进行校核和批准,然后才能开始开发。
业主在接到分承制商的上述材料后,组织系统工程部、软件工程部、质保部、财务部、采购部、法律部就上述材料中的开发项目视图和需求范围、使用或需要购买的软硬件、进度计划和成本、测试计划与案例、使用的技术和工程标准、人员配置等进行评审,并出具评审文件和风险评估、控制建议书。并由采购部制定采购项目监督评估计划书。合格后,由采购部、质保部及法律人员与分承制商签署详细的软件采购子合同。如需要对软件项目投保,以此来降低风险,需要和分承制商协商后,纳入合同文件。
分承制商在签署合同后可以进行设计和开发。业主应该委派采购部监督分承制商的工作。采购部应该有计划的组织质保部、软件工程部的项目计划管理人员和配置管理人员,定期对分承制商的开发活动进度、质量、成本等进行评估,并形成评估建议书。送审业主方的系统工程部、项目管理人员、分承制商的此项目的负责人。分承制方的项目负责人要对评估建议书的建议进行书面回复,并确保实施。
分承制方对所有需要采购的资源(软件、硬件、人力资源等)负责进行检验;采购部有权在任何时候对分承制商所采购的资源进行验证,使之符合所采用的规格说明书、规范、标准和其他技术文件所规定的要求,确保分承制商专款专用,建立开发环境。在这个阶段之前,采购部门和分承制商首先要确定由分承制商提供的验证建议书,并作好准备工作,提交检验用的技术文件,包括厂商说明书、设备性能数据表、配制清单、试验程序、检验技术要求。在检验的物质条件和技术条件均已准备妥善后,分承包商就可以向采购部并通过采购部向业主提出书面检验申请。一般分承包商可以提前三周通知采购部,由采购部提前两周以书面形式向业主提出检验申请,由业主召集系统工程部、软件工程部、质保部组成验证组,在规定的时间、地点检验。通过检验后,分承包商进入项目开发阶段;业主进入监控和评估阶段。对于重大关键项目,业主可以派遣项目监督员短期或长期进驻分承包商单位。
由于作为外部单位,业主不便时刻监督项目的开发过程。虽然理论上需要把分承制商看作是自己的一个项目部门来对待,纳入自己的进度控制和质量控制体系,但是客观上由于分承制商与业主距离较远,人员不熟悉,各自有自己的企业文化和管理体制,双方之间的信息沟通不畅,业主难以实时监督分承制商的开发进程和质量。最好的办法就是在分承制商的软件项目的各个里程碑处和分承制商一起进行检查和评估。软件项目一般可以划分成若干个里程碑(3-5个为益),分承制商需要提前一周通知采购部组织相关人员来评估。软件项目的里程碑一般指产品设计趋于稳定,中间产品定义趋于明晰,项目开发组真正了解项目实际的关键技术难度和可行的进度计划,开发活动停止,产品进入除错和稳定、随时可以的阶段,或当产品设计被删减、资源增加、进度延误的时候。在评估软件质量、进度和功能的同时,还要评估分承制商的人员工作负荷程度、风险、费用和资源消耗情况,并形成文档。由采购部送审系统工程部、软件工程部、项目管理部和分承制商的此项目负责人。
当产品进入交验测试的时候,分承制商需要提前三周通知采购部,采购部于前两周通知业主作好交验的组织评估准备工作。这时业主组织系统工程部、软件工程部、测试部、质保部和采购部,根据分承制商和业主在分承制商开发阶段预先共同定义、评审并批准的测试计划和验收方案进行验收测试,对需求规格说明书中的各项逐个详细的测试。最后以书面的形式给出对整个软件项目的测试评估报告。并对未通过验收测试的软件产品指定相应的补救措施和计划。分承制商交付给业主方的软件产品应当包括:源代码、软件开发计划、仿真环境、软件需求规格说明书、设计文档、软件测试计划、软件测试说明、验收测试计划、软件使用手册、软件安装手册、软件维护手册。必要的话,还包括相关培训计划。
软件采购的一个重要阶段是交货,也是目前经常忽略的阶段。当所采购的软件产品以及硬件运行环境在规定的时间到达采购部时候,采购部要以书面的形式通知业主交货。业主对所交的整个软件产品清单进行验收,并事先通知采购部拆箱日期,要采购部和分承包商的代表按时到场。业主要在接到采购部交货通知后一个月内,对所检查验收的整个软件产品(包括相关的软件、硬件及其附属产品、文档、技术资料等子合同中规定的产品)出具一份交货证明,如果这些提交的软件产品没有受到损坏并与装箱清单相一致,并在业主方环境运行良好;否则出具一份书面通知,说明在某个方面此产品损坏或与装箱单不符,或在业主方提供的环境运行不良。此通知或证明应由采购部和分承制商代表签署。如果在签合同的时候,就规定分承制商负责安装和调试,则相应的过程省略。
最后业主方由采购部把所有的文档归类封存,以备后续类似项目采购的参考查询。同时采购部在两个月之内以书面形式,对分承制商的技术开发成熟能力、资源(包括以有的产品、硬件、软件、人力资源和已经过的培训)、信誉、分承制方组织配置结构,管理能力和企业文化提交后评价报告,作为建立客户关系管理(CRM)的依据。对于此次采购的经验和教训,包括进度控制、质量控制、成本控制、客户关系控制、流程控制、风险控制等方面,采购部以文档的形式在组内讨论并保存。
七、结束语:
作为大型工程项目中的软件子项目或者部分功能模块的采购(外包),由于软件开发的固有特性(风险大,柔性强,人为因素突出,结果不宜测量等),使软件项目的外包采购管理变得十分复杂。如何控制分承制商的开发进度和质量等关键因素,需要在实践中不断探索,并针对具体公司和项目对采购过程有所裁剪。
论文摘要:本文针对软件开发中的进度延期、费用超标、质量低下等问题,探讨了如何利用项目管理中的相关控制方法进行软件开发过程控制。、论文在阐述软件项目管理内容的基础上,针对软件项目的三要素分别进行了探讨:进度控制、费用控制和质量控制,提出了几种有效的软件项目管理控制方法。这些研究对于加强我国软件项目管理控制过程,降低开发成本,减少开发风险具有重要的意义。
论文关键词:项目管理 进度控制 费用控制 质量控制 软件开发
人类社会经历了三次经济革命从农业革命、工业革命到目前正在经历的信息革命。信息化正在日益改变人们的思维方式和生活习惯。在推动信息化过程中,计算机及其软件产品发挥着至关重要的作用。对于软件项目的管理成为项目管理领域一个令人兴奋的课题。本文将结合项目管理中的控制方法分析软件项目管理控制的相关问题.以期提高软件项目的开发效率。
1、关于软件项目管理
1.1项目与项目管理
项目是一个旨在完成一个或一些独特产品或服务的过程.它有着一系列被详细描述的属性。由于项目的独特性和一次性特征,引伸出它的其他特点.如目标的确定性.成果的不可挽回性组织的临时性和开发性等。基于项flI的这些特点.项目运作更加注重项目决策前的计划以及对实施过程的控制,以减少项目运作的风险。项目管理是2O世纪50年代后期发展起来的一种计划管理方法,它运用先进科学的管理方式.有效解决大型组织的效率低下和小型企业面临的风险增加问题以组织的机动灵活.面向客户和资源利用率高而被广泛应用。在工程设计.施工软件项目的开发、实麓中经常会遇到进度拖延.费用超支、质量不达要求等问题除去极少数是因为技术原因造成,绝大部分是源于僵化的管理和不当的管理方式。
1.2软件项目管理
各软件企业都在积极将软件项目管理引入开发活动中.对开发实行有效的管理。从概念上讲.软件项目管理是为了使软件项目能够按照预定的成本.进度、质量顺利完成.而对成本、人员、进度、质量、风险等进行分析和管理的活动。同时,随着软件开发规模及开发队伍的逐渐增大,软件开发不再是向过去那样一二个开发人员即可解决的事情。迫切需要一种开发规范来规范每个开发人员、测试人员与支持人员的工作每个项目组成员按约定的规则准时完成自己的工作。同时采用规范化管理.专业分工也可以降低对开发人员的要求,从而降低产品研发成本。
2、软件项目控制
2.1软件项目控制
软件项目跟踪和监控包括对照已文档化的估计、约定和计划评审和跟踪软件完成情况和结果。基于实际的完成情况和结果调整这些计划。软件项目的已文档化的计划(即软件开发计划,正如在软件项目计划关键过程区域中所描述的)用作跟踪软件活动传送状态和修订计划的基础管理者监控软件活动.主要通过在所选出的软件工作产品完成时和在所选择的里程碑处,将实际的软件规模工作量成本和时间表与计划相比较,来确定进展情况。当确定未实现软件项目计划时,采取纠正措施。这些措施可以包括修订软件开发计划以反映实际的完成情况和重新计划遗留的工作或者采取改进性能的措施。
2.2软件项目控制的内容
软件项目控制的目的是为软件项目的过程提供足够的能见度,从而可以在执行过程中发生对计划的严重偏离时能够采取适当的更正行为。软件项目控制包括:a。追踪软件项目的进展于表现从而与所作的估计、承诺和计划做出对比:b。追踪软件项目的风险;C。在发生对计划的严重偏离时采取适当的更正行为。
2.3软件项目控制步骤
由于软件开发是处在一个开放的动态系统中,开发环境的不断变化要求不断修改项目计划,以适应新的变化。此外项目经理及其组织在完成任务的过程中不可避免的要碰到这样或那样的问题.解决这些新的矛盾和问题均属项目控制的范畴项目的预算和进度计划只能为项目经理提供决策的依据.如果在项目实施过程中控制不住.很难在限定的时间和预算要求下实现项目管理工作的目标。因此软件项目控制的过程包括以下四个步骤:a、预测什么会发生——要做出开发计划并建立工作标准b、查明什么正在发生——用建立的工作标准检查当前的工作;c、正在(或已经)发生的实事同预测的结果进行比较——分析误差产生的原因:d及时采取补救措施.以满足项目目标,预算和进度的要求。
3、软件项目控制具体操作
3.1软件项目进度控制
为了确保软件开发中的各项工作能按照计划预定的日程顺利完成.对项目的进度要进行控制。进度控制的过程是.在项目实施过程中,不断地进行实际进度值与计划值的比较、发现偏差、检查分析其产生的原因,并采取相应的措施加以解决。
3.1.1进度控制流程
(1)进度控制的输入
进度计划。项目进度基准是项目测量和报告的基础和标准。
实施报告。实施报告提供了有关项目进度发展实情。报告未来可能发生的进度问题。
变更要求。项目变更要有严格的申请和审批手续。
进度管理的技术和工具。
(2)进度管理的技术和工具
进度控制变更系统。为有效实现进度管理与控制.进度控制系统应设立实现重新计划的全部功能。包括:文件设立.跟踪即实施报告.变更评估等。
实施情况测量。项目进度控制系统中的一个重要组成部分是决定对迟发生的进度偏差是否采取纠偏措施。而实施情况报告提供了决策的主要信息。如变更分析.趋势分析.已实现价值分析等。
纠偏计划。很少有项目能完全按计划进度进行为实现项目进度或总进度要求,在项目实施过程中.需要不断对原计划进行调整或增加新的工作内容。为此.需要不断对实施的项目进行活动时间预测。修改活动过程.替代进度方案分析。
项目管理软件。它的作用是跟踪项目按计划日期展开实际工作的情况.对照进度计划分析进度现状,找出进度的偏差.分析进度偏差对项目的影响.预测未来走势
(3)项目进度控制的输出
进度更新。包括对项目管理中任何进度信息的修改。进度调整是其中的一种.师队员进度计划中活动开始和结束时间的改变。纠偏行动。通过改变资源投入将实际进度拉回到计划的行动过程。
从中获得的教训。有关进度偏差产生的原因。纠偏方案的评估与选择以及其他方面的感受和教训都应纪录在案成为日后有用的历史资料。
3.1.2进度控制方法
一般项目进度控制采用因果分析.分析用四步完成:
(1)明确问题。实际完成情况与项目里程碑相对照.确定是否超期.超期的部分是在哪里。
(2)查找产生该问题的原因。位从系统角度充分认识各方原因.应组织具有代表性任务人员并采用头脑风暴法进行。项目主管要通过他领导的办公室或小组,以及在各职能部门的人共同分析问题产生原因。
(3)确定个原因对问题产生的影响程度。对影响程度的评估可以采用专家小组打分的方法,事先确定权数.而后打分得出分析结果。
(4)画出带箭头的鱼刺图。分析出原因后各部门各就其职针对问题提出解决方案.并实施。
3.1.3软件项目进度控制具体措施
在实施进度计划过程中,会有种种故障:客户的需求进行了补充或修改;工作量估算不准,造成进度不平衡或是有人不遵从开发规范.导致产品出现缺陷;或是技术环节出现故障,这些问题往往是在进度计划外出现的.一旦出现这些问题,项目进度不得不进行调整。开发过程中为了有效控制类似问题,可以采用以下辅助措施,控制进度按计划执行:
(1)政策性措施。对于不遵从开发规范,人员不按时履行职责的.给予经济或是职务上的处罚.这种措施应是建立在分配任务之前;
(2)人员安排。在各子项目接口处适当安排机动人员与机动时间。这一措施有赖于项目组织的机构设置能动性好。此处比较难解决的是人员业绩评估.奖励问题。
(3)技术措施,要想很好地执行进度计划,需要事先有统一的规范例如开发语言的统一,文档的归类。这样便于下一阶段人员理解上一阶段人员意图,交流更加容易。
(4)信息流措施。该措施要求建立一个信息流系统.准时汇报项目进度.便于主控人员调整进度,并且保证信息流通顺畅。避免开发期压到最后造成严重拖工。
(5)资金措施。财务部门可以定期检查各部门财务情况.控制资金流出时间.进而控制项目进度。这与后面要讲到的三者权衡有密切关系。
3.2软件项目费用控制
费用控制就是要保证各项工作要在他们各自的预算范围内进行。其基础是实现就对项目进行费用预算。整个项目费用应包括项目范围规划阶段。软件需求分析阶段.原型设计阶段开发阶段.测试阶段和项目投入使用后的使用阶段所消耗费用的总和。软件开发项目承担公司为了完成项目目标和获得更多的利润.在实施项目过程中就要控制成本.在控制过程中,首先要拟定一个标准.即计划值.然后进行实际至于计划值的比较,确定实际值与计划标准的偏差大小.以便在此基础上采取各种措施纠正偏差.常用的分析工具是偏差分析。
偏差是指实际成本对相应计划的偏离,成本偏差的数学公式为:
CV=BCWP-ACWP(负数CV表明出现超支;反之,则节资)(3—1)
其中:CV为成本偏差,BCWP为计划工作预算,ACWP为完成工作实际成本。
在进行成本偏离计划程度分析时,常用计划偏差率反应时给予计划的偏离程度。
CVP=CV/BCWP(3-2)
其中CVP为成本偏差率。
偏差值是控制分析中的一个关键参数,因而应向各级组织汇报。对于不同的项目或同一项目不同阶段或不同管理层次,对偏差的控制程度不一样,制定偏差允许值的方法也不同。由于随着时间的推移风险减少了,因而偏差允许也可降低。
3.3软件项目质量控制
对于软件产品的项目质量控制应是事前有预控,过程有监控的主动控制闭环系统。(1)事前预控:根据影响质量因素多等特点.软件项目质量必须事前预控,及根据软件的类型和特点,以及以往类似项目的常发病和预防措施,对软件项目质量提出事前预控措施,包括制定控制的计划和程序,这是项目质量控制的前提。(2)过程监控:根据易产生质量波动和易产生系统因素变异等特点,软件项目质量必须过程监控.即按照预控的计划和程序,对工序、分项、单元的全过程进行过程监控.包括监测、检查、控制和评定.这是项目质量控制的基础。
4、结语
软件开发项目在进度、费用和质量三方面均需要进行控制,因此还存在三因素的权衡问题。实践中.需要在三方面均进行行之有效的控制措施才能确保项目完成情况与计划最大限度的接近。本文提供了一些方法借鉴.对软件开发项目控制有一定的实际意义。
论文关键词 软件高职 项目实训 人员选择 人员管理
论文摘要 项目实训是软件高职教育课程体系中的重要环节。结合软件高职项目实训中人员管理的实际情况进行分析和论证,同时给出实训人员选择与管理工作的基本原则和方法,并总结其中的一些基本经验。
随着国家大力发展职业教育的政策的出台,职业教育在全国范围逐渐兴起,软件高职教育作为职业教育的一个重要组成部分,为国家和地方培养了大量的具有较强动手能力的一线人才,创造出巨大的生产力,带动整个IT行业的发展,推动经济和社会的进步。项目实训作为软件高职教育课程体系中的一个重要环节,无论是对学生理论知识的拓展还是动手能力的培养都起到至关重要的作用。目前,福建省的软件高职项目实训还处于初级发展阶段,无论在项目设置上还是在管理方式上都存在不足。笔者结合实际教学和管理经验,对软件高职实训中的人员管理方式和方法做初步的分析和探讨。
1 人员的选择
教育的宗旨是以学生为本,平等地对待每一位学生,让他们在最大程度上发挥潜力。但是实训工作毕竟带有一种企业模拟性质,学校注重教育公平,而企业更关注开发效率和项目成本,这两者在一定程度上是此消彼长的对立面。因此,如何通过合理的人员选择和配置,找到既能平等地对待每个学生,又能够最大限度地提高项目团队开发效率的平衡点,是实训项目管理人员所急需解决的现实而又棘手的问题。以下是笔者在实践中探索并采用的2种较为合理的人员选择与配置方案。
1.1 T&R式自由组合法这里的T指的是Test,即测试,包括技术笔试和专业面试。在两项测试之后应形成一个比较合理的量化指标,该指标应着重突出候选人员的技术能力和团队意识,公布所有候选人员的各项量化指标。为保护学生的隐私,在公布时可以用编号取代学生的真实姓名。这里的R指的是rate,即比例。项目管理人员可以预先设定好小组成员结构的技术等级比例,参照学生的综合得分情况,按照1:2:1的高中低3个层次分布比例较合理。这种做法既可以避免单纯比例式自由组合给学生带来的盲目性,也能够比较真实地反映学生的能力水平,可以科学地、客观地组建起较为高效的团队,从而能够在后续阶段提高团队整体工作效率,也为管理工作带来方便。
1.2 T&R交互式人员确定法首先寻找若干名班委组成评审组,项目管理人员或教师负责领导该评审组;接着参照T&R方法得出候选人员的各项评估指标和综合指标,以及小组结构比例;然后由评审小组成员进行数据分析并结合每个成员实际情况确定各小组的组成人员。将初步形成的分组名单公布告知各候选人员,征求每位成员意见,由评审小组跟持反对意见的候选成员进行当面的会议式的沟通,进行合理的调整,经此步骤之后形成最终分组名单并公布。这样做实现候选成员与管理人员之间的交互,能够把纯粹的硬性考核成绩指标转化为“考核成绩指标+交互式分析”。这样较为客观且人性化的评判方式,既能够得到较为真实的数据,又能够吸纳学生合理的意见或看法,从而利于更科学的人员选择。
2 人员的管理
美国心理学家亚伯拉罕·马斯洛把人的需求分成生理需求、安全需求、社交需求、尊重需求和自我实现需求5类,依次由较低层次到较高层次排列,在管理中他建议通过满足人的需求来激发他们。
在学校实训的项目组中,成员的生理需求和安全需求都基本能够得以满足,因此,保证成员的社会需求、受尊重需求和自我实现需求的满足,对管理者来说有十分重要的意义。1)满足组员的社会需求就是为组员提供相互交往的时间和场所。实训项目的交流不应仅局限在小组的范畴,应鼓励小组与小组间的相互交流,条件具备的话可以组织学校跟学校间类似项目组间的交流。形式可以多样化,如电子邮件、组建QQ群、网络会议、座谈会和技术讲座等互动方式。2)为了满足组员受尊重的需求,应该让他们感到在项目小组中受到人格上的尊重,技术长处被认可。对于参加实训的学生来说,对他们做出的成绩给予充分的肯定就是一种简便高效的方式,如针对某个技术环节开展一次技能比赛,或者开展评审会定期对项目阶段成果进行评估,对优秀团队及其成员进行表彰等。3)为满足组员自我实现的需求,应该在项目取得一定成果的基础上,分配给组员具有一定挑战性和难度的任务,这些任务不能超过学生能力的范围,同时给他们提供课外的辅导以提高他们解决这些问题的技能。任务的完成情况可以作为附加评审内容纳入学生最终的实训综合成绩中去,给学生超越自我的动力。
3 团队的管理
3.1 增强小组凝聚力一个有强大凝聚力的小组是最高效的小组,小组中的成员在思想上能够形成共同的准则,在工作中能够紧密配合和协调,组员跟组员之间能够互相学习、相互关照,从而消除隔阂,用集体的力量解决许多工作中的问题。增强小组凝聚力的方式有许多,如给小组起个性化的名字、开展游戏或者室内或户外运动等方式增进组员间的沟通。另外,提高小组组员的责任感、诚信度以及保障他们的知情权、提供发展的空间等,都是增强小组凝聚力的有效方法。
3.2 增强小组沟通沟通作为软件开发过程中的重要环节,对于开发效率的提高和团队的整体发展具有决定性的意义。1)适当的小组规模。在编制小组成员时应考虑到人数对沟通的影响,成员太少,沟通容易但不利于开发效率;反之,成员过多会使得沟通变得十分困难,从而使效率严重下降,因此,合理的人员安排才是关键。根据经验,一个实训小组以4~8个为宜,其中6人组最为合适。2)合理的性别比例。如果小组中的组员性别均相同,可能会导致冲突,使得沟通无法正常进行,所以在确定小组结构时应注意男女比例的控制。对于软件开发类实训项目而言,小组中的男女比例应控制在3:1左右,其中女性组员可以作为小组的协调员。3)适当的小组负责人。小组负责人除了领导小组工作外,还负责协调小组成员之间的沟通。受尊重的小组负责人可以提高小组凝聚力和工作效率,无论对自身的进步还是对整个团队的发展来说都是大有裨益的。
论文关键词:软件项目 管理软件 产品质量因素
论文摘要:软件项目管理的核心是全面客户满意。其管理体系包括:战略管理、范围管理、成本管理、时间管理、人力资源管理、沟通管理、风险管理和质量管理。
在软件和信息科技行业,项目管理经常决定了一个产品或者企业能否成功。项目管理得到越来越多的企业和政府部门的重视,例如中国于2002年4月召开了有关项目管理的首次国际研讨会。具体操作与项目最根本的不同在于具体操作是具有连续性和重复性的,而项目则是有时限性和唯一性的。项目是一项为了创造某一唯一的产品或服务的时限性工作。所谓时限性是指每一个项目都具有明确的开端和明确的结束;所谓唯一是指该项产品或服务与同类产品或服务相比在某些方面具有显著的不同。各种层次的组织都可以承担项目工作。项目有时只涉及一个组织的某一部分,有时则可能需要跨越好几个组织。项目是执行组织商业战略的关键。
一、软件产品项目管理的重要性
20世纪80--90年代,许多大型企业管理信息系统M IS的开发都以失败而告终。这是为什么?一个重要原因是软件项目管理水平上不去,尤其是需求分析管理水平上不去,使得项目快要验收或交付时,却出了大问题:要么发现用户需求获取不准确,要么发现用户需求变了,致使做好的系统不能用或不好用。20世纪90年代初,上海一家公司在青岛做一个港口M IS项目,北京有一个单位在天津做一个港口M IS项目,都是因为甲乙双方软件工程基本知识不具备,使得项目管理不到位,导致2个大型项目不成功。现在软件应用领域空前广阔,深人到社会和科学研究等领域的各个方面。软件的需求也比以往更加多,软件系统设计也空前复杂。软件的项目管理问题也就因此而产生了。90年代中期,软件项目管理不善的问题仍然严重。据美国软件工程状况调查,只有10%的项目能够在预定的费用和进度下交付。于是软件项目管理成为软件项目发展中最重要的核心问题。为了使软件项目开发获得成功,必须对软件开发项目的工作范围、可能遇到的风险、需要的资源(人、硬件、软件)、要实现的任务、经历的里程碑、花费的工作量(成本),以及进度安排等做到心中有数。软件项目管理的目的就是提供这些信息,分析信息,并根据分析结果对项目做出调整。软件项目管理开始于技术工作之前,在软件开发的整个过程中持续进行,最后中止于软件过程结束。
二、软件项目管理体系
随着软、硬件技术以及通信技术的日益成熟,软件技术可以与所有的传统产业相结合,促进产品的更新换代,大幅度提高产品的附加值,提高劳动生产率,推动产业结构与产品结构的调整。因此,软件的开发以及应用不仅仅是软件开发机构的任务,更深地涉及软件使用者的切身利益,尤其像管理信息系统MIS(Managcment Information System)、计算机集成制造系统CIMS ( Computer Integration Manufacturing System )、企业资源计划ERP(Enterprise Resource Planning)及商业智能BI(Business Intelligence)等大型的复杂软件更是综合了管理科学、计算机科学、通信技术以及数学等各方面的知识,需要各类人员的协调工作才能完成。因此也就有必要从项目管理的角度去管理软件的开发和运行。从用户的角度来看,软件项目的生命周期应该包括项目前期的论证工作、项目计划、软件开发、运行、维护以及项目后评价。由此可见软件项目管理的范围不仅包括传统的软件开发过程,还应该包括开发之前的准备工作以及运行中的维护工作和对项目的总结工作。同时,在软件项目生命周期中存在着许多活动。根据活动之间的相关性,可以将软件项目的各种活动分为九大类。
(1)战略管理。根据用户的经营目标制定软件项目的策略,以便为其他各方面的活动提供指导。在制定项目策略的时候应该充分考虑用户和其他利益相关者的实际需求和市场因素。另外创造和谐的项目环境和连续改进也是战略管理的重要任务
(2)范围管理。其目的是控制软件项目的全部活动过程都在需求范围内,以确保项目各种资源的高效利用。成功的项目管理离不开用户、软件开发队伍和项目经理的一致理解和协调配合
(3)成本管理。软件项目的成本不仅包括开发成本,也包括开发之前立项阶段以及软件在运行中的费用。操作者的培训费用和项所使用的各种硬件设施费用也都是整个项目成本的一部分。这些成本都需要很好地计划和控制。
(4)时间管理。其内容有确定各项活动之间的时间相关性;估计各项活动的持续时间,跟踪各项活动的进展情况,动态调筷各项活动之间在时间上的协调。
(5)人力资源管理。在软件项目中应该为软件开发人员和管理人员等各类项目人员创造一个和谐良好的工作氛围。使他们能感到项目成功的把握和积极的工作心态,确保项目队伍的稳定性和连续性。
(6)沟通管理。沟通管理是一个收集、存储、配置和项目生命周期内所形成的各种信息的过程为了让每个项目相关人员及时得到所需的信息,需要很好地解决“什么时候、向什么人礼报什么的”的问题,此外软件开发队伍和用户之间的沟通也是沟通管理中的一项重要工作。
(7)风险管理。由于软件项目中存在着很多的不确定因索,也就必然存在着各种风险而且风险有可能造成不良的结果,对风险进行分析和监控贯穿于整个软件项目生命周期。
(8)质量管理。目前软件的质量还是一个模糊的概念并且难以衡量由于软件质量主要是在开发阶段形成的,因此软件项目质量管理的重点应放在系统分析、系统设计和编码阶段,走查、评审、调试和测试是保证软件质量的重要手段软件工程能力成熟度模型CMM(Capability Maturity Model)较好地解决了软件开发过程中的质量管理问题。
综合管理。综合管理的任务是对前面讨论的各类管理活动进行协调和控制,使这些活动相互配合。其核心任务是对各种方案进行评价,协调各方面的利益冲突确保项目总体标的最终实现。
三、软件项目管理的核心是全面客户满意
当前,不少软件业管理人上认为,软件开发的问题主要在软件开发的工程化、规范化和软件开发管理体制。他们按照CMM(Capability Maturity Model),IS09002的标准来建立他们的管理体系。这里有商业竞争的因素在起作用。但是,他们忽略了商业竞争中取胜最重要的因素—客户满意。他们没有考虑到他们的管理方法能否满足客户不断变化的需求。从长远来看,软件项目真正的成功是客户的全面满意。以客户满意为中心的质量是必需的。漠视质量或只关心产品/服务是否符合需要的方法再也不足以留住和获得客户。因此,软件开发项目组织必须先确定什么产品/服务可以让顾客满意,然后再努力满足客户的需求和期望。要实现此目标,组织必须识别对软件产品的各种特性中哪些是对客户的满意起决定作用的要素。例如,服务器操作系统软件,需要长时间稳定连续工作。稳定性则是该软件产品的关键要素。因此系统的开发管理围绕着这一关键要素来展开。尽管不少的组织明白没有客户一个组织就不能生存和发展,或者说没有客户就没有组织,但在项目实施过程中,仍然存在着客户满意的障碍:
(1)项目管理组织没有发展和完善对客户不断变化的需求和期望作出快速响应的能力。
(2)项目管理组织没有听取客户意见和建议的能力。
(3)项目管理组织努力倾听客户对项目的要求,却没有确认客户的需要和期望。
(4)项目管理组织不与客户保持密切关系,也不正视客户变更需求的可能性。这样通常会导致脱离客户,其后果则是失败,甚至最后客户不接受交付的成果。
软件质量是软件开发项目管理的核心问题。而质量的评价与度量应该由客户的满意度决定。因此,软件开发的项目管理应该围绕着客户全面满意这一中心来展开。客户驱动的项目管理方法体系提供了实现这一要求的基本理论和方法体系。提高软件质量势在必行,只有认识到软件质量的重要性,了解影响软件质量的因素,才能有的放矢,采用科学的管理技术和先进的技术方法,才可以确保软件的质量。
论文关键词:软件产业 软件项目 软件工程 项目管理
论文摘要:信息系统以及相关软件项目的设计开发已经不是企业运作管理中的一部分了,各软件企业都在积极地将软件项目管理引人开发活动中,对软件项目开发实行有效的管理。
目前,中国的软件企业正处于高速发展、急需规范管理并以项目为主导的环境中。企业每天所面对的不仅仅是几个越来越大的大型项目,而将是成百上千不断发生和进行的项目。产生这种变化的因素是多方面的,这包括客户需求的不断提高导致产品生命周期缩短;产品开发项目数量大增;新技术导致了对研究和开发项目需求的增加;为了提高业务赢利能力,改进业务模式的项目需求大增等。在这种多项目并发、技术含量高、变化速度快、资源有限的环境下,如何对企业、项目、资源实施科学的管理,加强团队能力,实现软件企业的生产规模化、规范化、国际化,是当前我国软件业面临的最大挑战。
中国目前软件业的落后状况,实际已经不是技术本身的问题,而是科学管理的问题,软件工程理论与软件项目管理的实际应用与经验,是我国软件企业急待学习与渴求的。中国软件业各个层次上的管理问题,目前可以说已经制约了中国软件业走向国际化的进程。
一、软件项目管理的概念
从概念上讲,软件项目管理是根据管理科学的理论,结合软件产品开发的实际,保证工程化系统开发方法顺利实施的管理实践,为了使软件项目能够按照预定的成本、进度、质量顺利完成,从而对成本、人员、进度、质量、风险、文档等进行分析、管理和控制的一系列活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。
软件项目的开发不同于其他产品的制造,软件开发的整个过程都是以设计过程为主(几乎没有制造过程);另外,软件开发不需要使用大量的物质资源,而主要使用的是人力资源;并且,软件项目开发的产品大多数是程序代码和技术文档,并没有其他的物质结果。基于上述特点,软件项目管理与其他项目管理相比,具有很大的独特性。
二、软件项目管理的目的
随着信息技术的飞速发展,计算机软件产品的规模和复杂度也随之增加。个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。与此同时,软件项目中“项目黑洞”也应运而生:项目无法按期完成、项目合作方的工作难以协调、用户需求经常变动、工作质量难以保证,给企业带来为了愈来愈多的损失。这种情况说明了软件项目开发及管理过程中,存在着许多的问题,需要更多的重视和研究。
没有运用软件项目管理是面临如此众多问题主要原因之一。软件项目管理作为一种科学的管理手段,是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的一系列活动。因此,对于以“项目”为基本运作单位的各软件开发企业,都在积极地将软件项目管理引人开发活动中,对软件开发实行有效的管理。因此,决定一个软件项目实施成功与否,软件项目管理无疑起着举足轻重的作用,软件项目管理已经是公认的软件开发企业的核心竞争力之一。
三、软件项目管理的原则
1.平衡原则
在我们讨论软件项目为什么会失败时可以列出很多的原因,如管理问题、技术问题、人员问题等等,但是有一个根本的思想问题是最容易忽视的,也是软件系统的用户、软件开发商、销售商最不想正视的,那就是:需求、资源、工期、质量这四个要素之间的平衡关系问题。
需求定义了“做什么”,定义了系统的范围与规模,资源决定了项目的投人(人、财、物),工期定义了项目的交付日期,质量定义了做出的系统好到什么程度,这四个要素之间是有制约平衡关系的。如果需求范围很大,要在较少的资源投人下,很短的工期内,很高的质量要求来完成某个项目,那是不现实的,要么需要增加投资,要么工程延期;如果需求界定清楚了,资源固定了,对系统的质量要求很高,则可能需求延长工期。对于上述四个要素之间的平衡关系最容易犯的一个错误,就是鼓吹“多快好省”四个字。正视这四个要素之间的平衡关系是软件用户、开发商、商成熟理智的表现,否则系统的成功就失去了一块最坚实的理念基础。
2.高效原则
在需求、资源、工期、质量四个要素中,很多的项目决策者是将进度放在首位的,现在市场的竞争越来越激烈,“产品早上市一天,就早挣一天钱,挣的就比花的多,所以一定要多挣”,基于这样一个理念,软件开发越来越追求开发效率,大家从技术、工具、管理上寻求更多更好的解决之道。基于高效的原则,对项目的管理需要从几个方面来考虑:要选择精英成员;目标要明确,范围要清楚;沟通要及时、充分;要在激励成员上下工夫。
3.分解原则
“化繁为简,各个击破”是自古以来解决复杂问题的不二法门,对于软件项目来讲,可以将大的项目划分成几个小项目来做,将周期长的项目化分成几个明确的阶段。
项目越大对项目组的管理人员、开发人员的要求越高,参与的人员越多,需要协调沟通的渠道越多,周期越长,开发人员也容易疲劳,将大项目拆分成几个小项目,可以降低对项目管理人员的要求,减少项目的管理风险,而且能够充分地将项目管理的权力下放,充分调动人员的积极性,目标会比较具体明确,易于取得阶段性的成果,使开发人员有成就感。
4.实时控制原则
实时控制项目进度的机制,依靠一套规范的过程来保证实时监控项目的进度,以实现实时控制项目的进展,将项目的进展情况完全的实时的置于你的控制之下。实时控制确保项目经理能够及时发现问题、解决问题,保证项目具有很高的可见度,保证项目的正常进展。
5.分类管理原则
对于不同的软件项目其项目目标差别很大,项目规模也是不同的,应用领域是不同的,采用的技术路线差别也很大,因而,针对每个项目的不同特点,其管理的方法、管理的侧重点应该是不同的。就像古人讲的,“因材施教”,“对症下药”。项目经理需要根据项目的特点,制订不同的项目管理的方针政策。
6.简单有效原则
项目经理在进行项目管理的过程中,往往会得到开发人员这样的抱怨“太麻烦了,浪费时间,没有用处”,这是很普遍的一种现象。当然这样的抱怨要从两个方面来分析,一方面从开发人员本身可能存在不理解,或者逆反心理的情况,另一方面,项目经理也要反思:我所采取的管理措施是否简单有效?搞管理不是搞学术研究,没有完美的管理,只有有效的管理,而项目经理往往试图堵住所有的漏洞,解决所有的问题,恰恰是这种理想,会使项目的管理陷人一个误区,作茧自缚,最后无法实施有效的管理,导致项目的失败。
7.规模控制原则
该原则是和上面提到的其他原则相配合使用的,即要控制项目组的规模,不要人数太多,人数多了,进行沟通的渠道就多了,管理的复杂度就高了,对项目经理的要求也就高了。在微软的MSF中,有一个很明确的原则就是要控制项目组的人数不要超过10人,当然这不是绝对的,也和项目经理的水平有很大关系。但是人员“贵精而不贵多”,这是一个基本的原则,这和我们上面提到的高效原则、分解原则是相辅相成的。
8.组织的知识积累原则
有效的积累知识的方法是:人员专业化培养,知识与载体分离。具体的做法是,把需要度量的知识实体分为固定知识(项目成果)和流动知识(参与人员),再把知识实体的价值体现划分成不同的度量平面。根据所有知识实体在不同度量平面上的知识度量值,可以形成不同的知识平面指数和公司知识指数,并可根据此知识指数体系来全面分析公司的知识积累状况,并迅速做出恰当的反应。知识与载体分离体现的是,在组织中人力资本与组织资本是有区别的,简单地说,人力资本属于员工个人,企业只可租借使用;而组织资本就是8小时以外员工带不回家的企业资产,它为公司所有。对企业来说,相比于人力资本,组织资本更为重要。一个管理者(领导者)必须知道如何容纳和积累知识,使之为公司所有。
论文关键词:软件项目 风险管理 策略 监控
论文摘要:在软件项目管理中,频繁的人员流动是软件项目的一个风险,为了缓解这种风险,项目管理者必须建立一套策略来降低人员流动,同时,还需要监控某些因素,这些因素可以提供风险是否正在变高或变低的指示,通过这种监控管理,妥善地处理风险事故造成的不利后果,最终实现项目的总体目标。
一、引言
在软件公司中,技术人员的流动性一直处于比较高的水平,因此给公司带来了很大的损失,要想改变这种现状在短期内恐怕难以做到。但这个问题又一直困扰着公司的项目管理者,特别是与软件项目组人员组织相关的频繁的人员流动给软件项目带来了极大的风险。那么,认识到这种风险后,怎样来对这种风险进行有效的控制,采取主动行动,创造条件,尽量扩大风险事件的有利后果,妥善地处理风险事故造成的不利后果,最终实现项目的总体目标,这是本文笔者要讨论的问题。
软件风险是指软件开发过程中及软件产品本身可能造成的伤害或损失。风险关注项目未来的发展,这意味着风险涉及选择及选择本身包含的不确定性,在软件开发过程及软件产品都要面临各种决策的选择。风险是介于确定性和不确定性之间的状态,是处于无知和完整知识之间的状态。同时,风险将涉及思想、观念、行为、地点等因素的改变。
一般来说,在软件项目中,存在以下一般性风险:(1)产品规模风险—与要建造或要修改的软件的总体规模相关的风险;(2)商业影响风险—与管理或市场所加诸的约束相关的风险;(3)客户相关风险—与客户的素质以及开发者和客户定期通信的能力相关的风险;(4)过程风险—与软件过程被定义的程度以及它们被开发组织所遵守的程度相关的风险;(5)技术风险—突破技术的极限极具挑战性和令人兴奋,但这也是有风险的;(6)开发环境风险—与用以建造产品的工具的可用性及质量相关的风险;(7)与人员及经验相关的风险—与参与工作的软件工程师的人数、稳定性、总体技术水平及项目经验相关的风险。
二、降低风险可采取的策略
如果软件项目组对于风险采取主动的策略,则“避免”永远是最好的目标。这可以通过建立一个风险缓解计划来达到。在软件项目中,频繁的人员流动被标注为一个项目风险,基于以往的历史和管理经验,人员流动的概率为70 %,被预测为对于项目成本及进度有严重的影响。而软件项目中,人员的频繁流动又是一个无法改变的现实,为了缓解这个风险,项目管理者必须建立一个策略来降低人员流动。可采取的策略如下:
1.找出人员流动的原因。可以与项目现有人员一起探讨人员流动的原因,比如是否公司提供的工作条件不如人意、报酬偏低、竞争激烈等。找出原因后,提出解决问题的策略,在可能的范围内改善工作条件,至于报酬,不可能无限地增加,可以把工作业绩和报酬挂钩,提高员工的工作积极性,适当控制竞争的程度,最重要的一点是要培养员工对公司的归属感。
2.在项目开始之前,分清哪些是可控的,哪些是不可控的原因,采取行动以缓解那些在管理控制之下的原因,“预防”总比“救治”更主动。
3.一旦项目启动,假设会发生人员流动并采取一些技术措施以保证当人员离开时的工作连续性。
4.对项目进行良好组织,使得每一个开发活动的信息能被广泛传播和交流,定期召开项目组工作协调会议,随时掌握项目的进展情况。
5.定义文档的标准,并建立相应的机制,以确保文档能被及时建立。
6.对所有工作进行详细复审,使得不止一个人熟悉该项工作。
7.对于每一个关键的技术人员都指定一个后备人员。
三、降低风险的监控因素
1.随着项目的进展,风险监控活动开始进行。项目管理者监控某些因素,这些因素可以提供风险是否正在变高或变低的指示。在项目组的人员管理中,应该监控下列因素:(1)项目组成员对项目压力的一般态度;(2)项目组的凝聚力;(3)项目组成员彼此之间的关系;(4)与报酬和利益相关的潜在问题;(5)在公司内及公司外工作的可能性。
2.除了监控上述因素之外,项目管理者还应该监控风险缓解步骤的效力。例如:上述风险缓解步骤要求定义“文档的标准,并建立相应的机制,以确保文档能被及时建立”。如果有关键的人物离开了项目组,项目管理者应该仔细地监控这些文档,以保证文档内容正确,当新员工加人该项目时,能为他们提供必要的信息,这是保证工作连续性的条件。
3.风险管理及意外事件计划假设缓解工作已经失败,风险变成了现实。继续前面的例子,假定项目正在进行中,有一些人宣布将要离开。如果按照缓解策略行事,则有后备人员可用,因为信息已经文档化,有关知识已经在项目组中广泛进行了交流。此外,项目管理者还可以暂时重新将资源调整到那些需要人的地方去,并调整项目进度,从而使新加人的成员能够赶上进度。同时,要求那些要离开的人员停止工作,进人“知识交接模式”。
总之.当对软件项目期望值很高时,一般都会进行风险分析。不过,即使进行这项工作,大多数软件管理者都是非正式地和表面地完成它。用在标识、分析、管理风险上的时间可以从多个方面得到回报:更加平稳的项目进展过程;较高的跟踪和控制项目的能力;因为周密计划而产生的信心。
四、总结
风险管理意味着危机还没有发生之前就对它进行处理,这就提高了项目成功的机会和减少了不可避免风险所产生的后果。实践经验证明,最成功的项目就是采取积极的步骤对要发生或即将发生的风险进行管理。对任何一个软件项目,可以有最佳的期望值,但更应该要有最坏的准备,“最坏的准备”在项目管理中就是进行项目的风险管理。
论文关健词:软件项目 软件质量 软件质量管理 软件项目管理
论文摘要:软件产品是软件项目的最终结果,其功能度和复杂性要比制造业的产品高得多,而且在投入使用后,软件发挥的功效也是其它任何形式的硬件产品所无法比拟的。为了保证软件产品在交付后能够按照用户的需求发挥正常的功效,因此在项目实施过程中进行有效的质量管理是很有必要的。本文结合作者的经历就软件项目中的质量管理做了一些探讨。
一、引言
软件产品是软件项目的最终结果与其相关的质量问题主要来自项目开发过程。但软件是一个纯智力的特殊产品描述软件质量的定义则比描述实际物品质量定义面临着更多的潜在因素。所以保证软件质量比保证设备质量更具挑战性和不确定性。
国际化标准组织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 )和}S09001标准,都着眼与质量和过程管理。而且在组织结构方面,国外成熟的软件企业一般都设有单独的QA (Quality Assure)部门,它与开发部门独立,负责监督流程的执行。但是,对于任何一个具体项目的实施都应制订合适的质量管理方案,不能生搬硬套而这些需要项目经验的积累以及不断的学习新知识。
论文关键词:软件项目管理 项目经理 项目计划
论文摘要:在软件项目开发的过程中,软件项目管理的成功与否是决定一个项目是否能够顺利高效率完成的重要保证。但是我国大部分的软件企业在进行项目管理对都存在着各种问题,从而使项目不能顺利有效地完成。文章探讨了在嚼目管理过程里出现的常见问题,并给出了相应的解决策略。
我国软件产业的现状是数量已上规模,但质量亟待提高。在软件项目开发中,发现了一些普遍存在的问题,如项目严重误期、代码质量达不到标准、程序员疯狂工作仍然毫无进展等。本文针对软件开发过程中存在的一些问题,分析这些问题产生的原因,并且提出一些解决方法和管理策略。希望有助于程序员以较少的无用工作开发出高质量的软件,有助于项目以较快的速度圆满地完成。
1软件开发中实行项目管理的意义
项目管理就是在项目活动中运用一系列的知识、技能、工具和技术,以满足或超过相关利益者对项目的要求,实际上就是通过项目各方干系人的合作,把各种资源应用于项目,以实现项目的目标,满足项目千系人的需求,其本质就是对时间、质量和成本的管理。随着软件开发的深入、各种技术的不断创新以及
软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软件开发过程中,项目开发的管理日益受到重视。
2目前在软件项目管理中存在的误区
现在大多数企业都认识到了在项目中进行管理的重要性,但是仍然有许多企业在实施项目管理的过程中存在着这样那样的误区,主要表现在以下几点。
项目经理不够专业。在软件企业中,缺乏专业的项目管理人员来实施项目管理及担任项目经理,通常被任命的项目经理主要是因为他们能够在技术上独当~·面,但是他们在管理方面特别是项目管理方面的知识比较缺乏。
项目计划缺乏纲领性。项目经理对总体计划、阶段计划的作用认识不足,因此制定总体计划时比较随意,不少事情没有仔细考虑;阶段计划因工作忙等理由经常拖延,造成计划与控制管理脱节,无法进行有效的进度控制管理。
缺乏有效的管理意识。部分项目经理不能从总体上把握整个项日,而是埋头于具体的技术工作,造成项目组成人员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。有些项目经理没有很好的管理方法,不好安排的工作只好自己做,使项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。
缺乏有效的沟通制度和机制。在项目中一些重要信息没有进行充分和有放的沟通。在制定计划、意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失;有些人没有每天定时收邮件的习惯,以至于无法及时接收最新的信息。
风险管理意识淡泊。有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的对策,对于后面的风险防范起不到什么指导作用。
项目干系人的不确定性。在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、工作职责等没有足够了解以至于无法得到完整需求或最终经权威用户代表确认的需求;或者是多个用户代表各说各话、昨是今非,但同时又要求项目尽早交付;项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩大。
缺乏项目团队的合理分工。项目团队内部有时由于各阶段不同角色或同阶段不同角色之间的责任分工不够清晰而造成工作互相推诿、责任互相推卸的现象;有时各阶段不同角色或同阶段不同角色之间的责任分工比较清晰,但是各项目成员只顾完成自己那部分任务,不愿意与他人协作。这些现象都将造成项目组内部资源的损耗,从而影响项目进展。
3解决软件项目管理中存在的误区的有效策略
要想解决上面描述的误区,归根到底还是要从管理学的角度入手,即在软件项目的开发过程中加入过程管理的内容,这样我们可以在软件开发中对各个过程的质量加以控制,从而达到保证软件产品质量的目的。为了有效提高管理水平,我们应该努力做到以下几点。
项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识与实践,再加上项目管理知识与实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。
计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项目经理的计划意识,采用项目计划制定相关知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。
加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项E1经理之前,最好能经过系统的项目管理知识,特别是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。
制定有效的沟通制度和沟通机制,提高沟通意识;采取多种沟通方式,提高沟通的有效性。通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于特别重要的内容要采用多种方式进行有效沟通以确保传达到位,例如:除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。
通过学习项目管理知识掌握风险识别、量化、对策研究,反应控制的工具和方法,掌握项目风险管理所必备的知识。通过加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其对策作为风险管理计划中必要的风险内容,并切实评估相应对策的有效性和可行性。
项目的目的就是实现项目干系人的需求和愿望。项目干系人管理应当从项目的启动开始,项目经理及其项目成员就要分清项目干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。
项目经理应当对项目成员的责任进行合理的分配并清楚地说明,同时应强调不同分工、不同环节的成员应当相互协作,共同完善。
实施有效的项目管理绝非易事,对于软件企业而言,这不是一个小的改变,而是一种变革,企业需要为此付出艰苦的努力,同时,成熟有效的项目管理无疑将对企业起着至关重要的作用,项14管理的水平将是企业核心竞争力之一。
论文关键词:软件项目管理 项目经理 项目
论文摘要:在软件项目开发的过程中,软件项目管理的成功与否是决定一个项目是否能够顺利高效率完成的重要保证。但是我国大部分的软件企业在进行项目管理时都存在着各种问题,从而使项目不能顺利有效地完成。文章探讨了在项目管理过程里出现的常见问题,并给出了相应的解决策略。
计划软件行业在现在的众多行业里是一个极具挑战性和创造性的行、体现了软件开发者的智慧和汗水,同时软件开发是‘项复杂的系统]:程,牵涉到许多方面的因索,在实际工作中,经常会出现各种各样的问题,甚至会面临失败。如何总结、分析失败的原因,得出有益的教训,对于项目开发人员来说,是在今后的项目中取得成功的关l键。
一、软件开发中实行项目管理的意义
项目管理就是在项目活动中运用系列的知识、技能、工具和技术,以满足或超过相关利益者对项目的要求,实际上就是通过项目各方干系人的合作,把各种资源应用于项目,以实现项日的目标,满足项日于系人的需求,其本质就是对时问、质量和成本的管理。
随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软件开发过程l}f,项目开发的管理日益受到重视。
二、目前在软件项目管理中存在的误区
现在大多数企业都认识到了在项目中进行管理的重要性,是仍然冉许多企、在实施项目管理的过程中存在着这样那样的误区,主要表现在:
1.项目经理不够专业。在软件企业中,缺乏专业的项目管人员来实施项目管理及担任项H经理,通常被任命的项日经主要是因为他们能够在技术上独当一面,但是他们在管理方面特别是项目管理方面的知识比较缺乏。
2.项目规划缺乏纲领性。项目经理对总体计划、阶段计划的作用认识不足,凶此制定总体计划时比较随意,不少事情没有仔细考虑;阶段计划因工作等理由经常拖延,造成计划与控制管理脱节,无法进行有效的进度控制管理。
3.缺乏有效的符理意识。部分项目绎理不能从总体上把握整个项目,而是埋头具体的技术工作,造成项目组成人员之间忙的忙、闲的闲,计划不周、任务小均、资源浪费。有些项目经押没有很好的管理方法,不好安排的工作J好自己做,使项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。
4.缺乏有效的沟通制度和机制。在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失;有些人没有每天定时收邮件的习惯,以至=无法及时接收最新的信息。
5.风险管理意识淡泊。有些项目经理没有充分意识到风险管理的重要性,对计划中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的对策,对于后面的风险防范起不到什么指导作用。
6.项目干系人的不确定性。在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、工作职责等没有足够了解以至于无法得到完整需求或最终经权威用户代表确认的需求;或者是多个用户代表各说各话、昨是今非,但同时又要求项目尽早交付:项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩火。
7.缺乏项目团队的合理分工。项目团队内有时由于各阶段不同角色或同阶段不同角色之间的责仟分工不够清晰而造成工作互相推诿、责任互相推卸的现象;有时各阶段不同角色或同阶段不同角色之间的责任分工比较清晰,但是各项目成员只顾完成自己邢部分任务,不愿意与他人协作。这些现象都将造成项目组内部资源的损耗,从而影响项目进展。
三、解决软件项目管理中存在的误区的有效策略
要想解决上面描述的误Ⅸ,归根到底还足要从管理学的角度入手,即在软件项目的开发过程中加入过程管理的内容,这样我们可以在软件开发中对各个过程的质量加以控制,从而达到保证软件产品质量的目的。为了有效提高管理水平,我们应该努力做到:
1.项目经理接受系统的项目管理知识培训是非常必要的,有了专、I领域的知识与实践,再加上项目管理知识与实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平
2.计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项臼经理的计划意识,采用项目计划制定相关知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。
3.加强项H管理方面的培训,并通过对考核指标的合理设定和宣传f导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前,最好能经过系统的项目管理知识,特别是其中的人力资源管理、沟通管理的学习,并Ⅱ在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。
4.制定有效的沟通制度和沟通机制,提高沟通意识:采取多种沟通方式,提高沟通的有效性。通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于特别重要的内容要采用多种方式进行有效沟通以确保传达到位,例如:除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。
5.通过学习项目管理知识掌握风险识别、量化、对策研究、反应控制的工具和方法,掌揖项目风险管理所必备的知识。通过加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其对策作为风险管理计划中必要的风险内容,并切实评估相应对策的有效性和可行性。
6.项目的目的就是实现项目干系人的需求和愿望。项目干系人管理应当从项目的启动开始,项目经理及其项目成员就要分清项目干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。
7.项目经理应当对项目成员的责任进行合理的分配并清楚地说明,同时应强调不同分工、不同环节的成员应当相互协作,共同完善。实施有效的项目管理绝非易事,对于软件企业而言,这是一个小的改变,而是一种变革,企、世需要为此付出艰苦的努力,同时,成熟有效的项目管理无疑将对企业起着至关重要的作用,项日管理的水平将是企业核心竞争力之一。
论文关键词:软件项目管理 软件可靠性 决策支持系统
论文摘要:本文在解释软件项目管理和决策支持系统的基础上,分析出软件项目管理的局限性,进而说明应用软件项目管理的决策支持系统的必要性。最后从软件项目管理的角度来分析决策支持系统的目标,以及软件项目管理的决策具有多级性。
随着现代科技的发展,计算机应用于各个领域的管理,各个领域需要用软件系统扩展和提高自己的业务。针对不同的行业和产业,研制出了不同的项目管理软件。项目管理软件主要完成的项目管理活动分为管理活动和工程活动两类。例如:项目立项评审:评估项目立项条件是否具备,如相关部门移交资料是否齐全,客户信息是否完整,团队成员是否恰当等等;项目计划评审:评估项目计划合理性,是否与公司其他项目资源和运营目标冲突(回款):SCM(项目配置管理、Software Configuration Management):系统管理和项目有关的各类文档和软件版本,确保项目的惟一性资料信息被留存,可随时追溯项目各阶段关键文档记录(例如备忘录)。工程活动包括项目要获得实质性进展必须要做的工作,例如写计划,做需求调研,写解决方案,变更项目范围,项目启动大会,项目例会,项目里程碑会议,项目紧急事件处理会议,项目备忘录,项目验证,项目培训,项目小范围试运行,项目验收报告等等都是工程活动。
软件项目管理能完成若干事情,但是,由于软件开发过程以及应用过程中,诸多因素会造成软件的不可靠性,例如:1.需求分析定义错误。如用户提出的需求不完整,用户需求的变更未及时消化,软件开发者和用户对需求的理解不同等等。2.设计错误。如处理的结构和算法错误,缺乏对特殊情况和错误处理的考虑等。3.编码错误。如语法错误,变量初始化错误等。4.测试错误。如数据准备错误,测试用例错误等。5、文档错误。如文档不齐全,文档相关内容不一致,文档版本不一致,缺乏完整性等。另外程序代码错误,也可以造成软件的不可靠性。程序代码一个最直观的特性是长度,另外还有算法和语句结构等,程序代码越长,结构越复杂,其可靠性越难保证。所以提高可靠性从原理上看就是要减少错误。而决策支持系统(Decision Support System,简称 DSS)正好可以解决这些问题,它能很好的将那些微结构或无结构、不确定和零散的关联因素有机的综合起来,进行分析、比较和定量化,给决策者以支持,减少了决策的主观性。可见,研究并开发一个软件工程项目质量决策支持系统(Decision SupportSystem For Software Engineering Project Quality,简称SEPQDSS)对于软件企业的管理者,对于企业开发出高质量的软件产品,对于企业的长期发展来说都是至关重要和必要的。
这里所说的决策支持系统(decision support system,简称dss)是指辅助决策者通过数据、模型和知识,以人机交互方式进行半结构化或非结构化决策的计算机应用系统。决策支持系统作为一种新兴的信息技术,能够为企业提供各种决策信息以及许多商业问题的解决方案,从而减轻了管理者从事低层次信息处理和分析的负担,使得他们专注于最需要决策智慧和经验的工作,因此提高了决策的质量和效率。
决策的进程一般分为4个步骤:发现问题并形成决策目标、用概率定量地描述每个方案所产生的各种结局的可能性、决策人员对各种结局进行定量评价,一般用效用值来定量表示、综合分析各方面信息。决策支持系统的基本特征:对准上层管理人员经常面临的结构化程度不高、说明不够充分的问题:把模型或分析技术与传统的数据存取技术及检索技术结合起来;易于为非计算机专业人员以交互会话的方式使用;强调对环境及用户决策方法改变的灵活性及适应性;支持但不是代替高层决策者制定决策。
决策支持系统的灵魂是先进的管理思想。一个成功的DSS应用,应该融合了优秀的管理思想,能给应用者提供分析和解决问题的有效的方法论。DSS中所包含的计算机软硬件技术,则是将这种管理思想和方法论具体表现出来,从而让DSS用户在使用过程中能够贯彻这种管理思想、实践这种方法论。组织整体的管理绩效因此而得到提高。这从另一角度说明,应用者必须首先整合自己的管理思路,提升管理意识,明确通过DSS将实现的管理目标,才能开始DSS的实施。
从软件项目管理的角度来讲,决策支持系统的目标是使软件的功能更好地满足客户的要求,并且能在规定的时间内,在预计的资金下,开发出一个高效率,质量和可靠性能够满足要求的软件。具体包括以下五方面:软件功能完备(软件的需求完备),资金控制在计划之内,时间控制在计划之内,软件的效率和可靠性符合要求,人员之间能够合理协调达到最好的效率。
软件项目管理的决策具有多级性。因此,决策制定程序是比较复杂的。一般来说可分为三个层次:第一层,决策路线层,反映了由决策任务的提出、多级决策、批准实施的全过程;第二层,决策工作层,由决策对象进入某一个部门开始,到送出这个部门截止的部门内部处理;第三层,决策分析层,指一个部门内单个决策者或决策小组分析问题所处的环境、确定目标,并提出方案(设计)、评价分析及解决方案抉择和实施反馈的具体步骤。
由此可见,决策支持系统在软件项目管理中的应用是非常必要而且有其重要价值的。
论文关健词:软件项目管理 收尾管理阶段管理
论文摘要:在实际软件项目管理中,阶段性的收尾管理工作往往不被大家重视,其实阶段管理收尾工作也是非常重要的。本文从阶段评审,文档记录等方面来阐述软件项目管理中阶段收尾管理的重要性
随着计算机和信息产业的发展软件产品的规模也是越来越庞大,随着软件规模的扩大软件人员的增加软件项目管理的复杂性增大,各个软件企业都意识到将项目管理的理念引入到软件开发活动中开始对开发过程进行有效的管理又所谓“IT项目管理”或“软件项目管理’软件项目管理就是为了使软件项目能够按照预定的成本、进度、质量的顺利完成而对成本、人员、进度、质量、风险等进行分析和管理的活动。随着软件开发规模及开发队伍的逐渐增大软件开发活动不再是像过去的几个开发人员就可解决的事情,它需要使用开发规范或开发流程控制来约束每个开发人员、测试人员和维护人员的工作.以保证每个项目组成员按开发计划及进度准时、保质完成自己的任务。软件项目管理的各个过程主要包括二需求管理范围管理任务分解规模估算成本管理进度计划质量计划配置管理计划,风险计划文档管理团队建设,跟踪控制收尾管理项目结束。项目收尾管理作为项目结束前的最后管理工作也显得及其重要一般包括合同收尾和管理收尾两部分。合同收尾就是项目管理人员与客户对照合同一项项的核对审核是否完成了合同所要求的内容是否达到合同所提出的指标或条件也就是我们通常所讲的客户验收管理收尾就是对于项目组内部把做好的项目文档、代码、与客户交流的文件等归档保存对项目中遇到的问题及解决方法、有效的创新技术进行及时地总结,对外宣称项目结束转入维护期把相关的产品说明及技术文档转到维护组。
一、阶段收尾管理
软件项目结束的状态:
1.正常结束。2提前结束3延期结束4暂停。5取消(因变更或不可完成)。软件开发是一项复杂的系统工程牵涉到各方面的因素在实际工作中经常会出现各种各样的问题甚至面临失败。而如何总结、分析失败的原因得出有益的教训.这对一个公司来说则是今后项目中取得成功的关键。
以前会听说过这样的项目:客户验收后项目活动就随之收场,项目资料没有认真归纳总结不是束之高阁就是缺失不全但是当新项目启动时.面对新的项目问题项目组成员才发现:其实这类问题以前也遇到过,但是却无法找到相应的解决方案资料只好再投入人力、时间甚至金钱来重新经历一遍为什么相同的问题会重复出现,究其根源是因为缺少项目总结也就是说没有做好项目收尾工作。那么是不是我们只能等到项目结束或收尾时才能开始进行项目总结文档保存的工作呢:当然不是在软件项目管理的各个阶段我们都可以做收尾管理工作,也就是阶段收尾管理工作。
二、阶段收尾管理的重要性
在实际软件项目管理中.阶段性的收尾管理过程和工作往往不被大家重视其实阶段性的收尾管理工作也是非常重要的。阶段收尾管理工作的重要性主要体现在如下几个方面:
1进度管理中的里程碑每个项目都是由若干个相对独立的任务链组成的软件项目也是如此。只有在任何一条任务链都已经优化的基础上才可能进行系统的全面的优化因此保证每条任务链的效率是整个项目进度完成的前提和基础.只要能保证里程碑事件的按时完成,整个项目的进度也就有了保障。那么我们在里程碑点都来做些什么呢:
在计划好的阶段管理工作中.收集项目的最新信息和数据.并将这些数据与项目计划进行比较,来判定项目的阶段效率,进度是提前了还是落后了,成本是在控制中还是超支了?质量是否符合要求。客户对阶段工作结果满意么,及时总结经验与教训.同时及时发现项目存在的或潜在的问题以便近早采取纠正措施这就是阶段管理工作中的收尾管理,所以说阶段收尾管理是进度中的里程碑是整个项目进度优化的前提和基础。
2沟通管理中的契机沟通是保持项目顺利进行的润滑剂。与传统项目相比软件项目具有较高的技术含量和较大的风险。参与软件项目建设的用户并不都是软件开发专家.他们具有丰富的业务经验但是很少能了解软件开发的技术.随着项目工作进程的深入就会有许多新的问题出现与客户的及时有效沟通更显得尤为重要。软件项目是客户和用户共同面对的项目只有双方的积极参与才能促进项目的成功,而只有进行有效的项目沟通管理才能确保用户的积极参与。一个阶段的项目工作完成后与客户一起就前一段时间的工作进行总结和检查是十分必要的。一方面可以及时了解客户对项目工作的满意程度及时统计、分析客户对项目的意见.为下一阶段工作的顺利进行提供了保障另一方面有些因工作繁忙未能及时签署的文件,也尽快找客户给予签字确认。当双方出现纠纷时,只有双方签字的文字记录才是最有用、最有说服力的证据。
3收尾管理的基础。一个项目阶段的工作刚完成时项目组成员都保留着最新的阶段记录如阶段文档或最新的代码版本这个时候收集起米是非常容易的时间随着人员的变动或者项目的需求变更有些项目成员可能离开了项目组那时再去收集他们保存的文档资料就非常困难了,甚至有些记录永远也找不到了。好多大的软件开发项目跨几年的时间项目经理可能已经换了几任客户的项目主管也换了几位最后项目收尾管理时的文档收集、总结的工作,就是在阶段收尾管理的基础上来确保每个阶段的文档、资料都能按时完整地保存、归档。只有阶段管理收尾提供的数据信息越真实、越准确.才能保证在项目最终收尾时客观评定项目的绩效总结的经验教训和文档资料才有真正借鉴的价值总而言之.作为一个好的项目经理,一定要重视进度中的里程碑事件抓住与客户沟通的契机做好项目阶段工作的总结收尾工作如何做好这些工作呢。也就是要做好项目阶段管理收尾工作。阶段收尾管理工作是保证项目成功的重要管理手段它和项目的其他工作一样应该纳入项目计划并按计划落实。