时间:2022-05-29 15:46:08
序论:在您撰写软件项目管理时,参考他人的优秀作品可以开阔视野,小编为您整理的7篇范文,希望这些建议能够激发您的创作热情,引导您走向新的创作高度。
关键字:Web;探究性学习;教学网站
软件行业是一个极具挑战性和创造性的行业,软件开发是一项复杂的系统工程,牵涉到各方面的因素,在实际工作中,经常会出现各种各样的新问题,甚至面临失败。如何总结、分析失败的原因,得出有益的教训,对一个公司来说,是在今后的项目中取得成功的关键。
1.项目管理在软件开发中的应用的成因
目前我国大部分软件公司,无论是产品型公司还是项目型公司,都没有形成完全适合自己公司特征的软件开发管理模式,虽然有些公司根据软件工程理论建立了一些软件开发管理规范,但并没有从根本上解决软件开发的质量控制新问题。这样导致软件产品质量不稳定,软件后期的维护、升级出现麻烦,同时最终也会损害用户的利益。
随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软件开发过程中,应用开发的项目管理日益受到重视。
2.软件项目管理常见新问题及解决方案
(1)缺乏项目管理系统培训
在软件企业中,以前几乎没有专门招收项目管理专业的人员来担任项目经理,被任命的项目经理主要是因为他们能够在技术上独当一面,而管理方面非凡是项目管理方面的知识比较缺乏。
解决方案摘要:项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识和实践,再加上项目管理知识和实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。
(2)项目计划意识新问题
项目经理对总体计划、阶段计划的功能熟悉不足,因此制定总体计划时比较随意,不少事情没有仔细考虑;阶段计划因工作忙等理由经常拖延,造成计划和控制管理脱节,无法进行有效的进度控制管理。
解决方案摘要:计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项目经理的计划意识,采用项目计划制定相关知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。
(3)管理意识新问题
部分项目经理不能从总体上把握整个项目,而是埋头于具体的技术工作,造成项目组成员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。有些项目经理没有很好的管理方法,不好布置的工作只好自己做,使项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。
解决方案摘要:加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前,最好能经过系统的项目管理知识,非凡是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。
(4)沟通意识新问题
在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术新问题或成果等方面和相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失;有些人没有天天定时收邮件的习惯,以至于无法及时接收最新的信息。
解决方案摘要:制定有效的沟通制度和沟通机制,提高沟通意识;采取多种沟通方式,提高沟通的有效性。通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于非凡重要的内容要采用多种方式进行有效沟通以确保传达到位,例如摘要:除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。
(5)风险管理意识新问题
有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的策略,对于后面的风险防范起不到什么指导功能。
解决方案摘要:通过学习项目管理知识把握风险识别、量化、策略探究、反应控制的工具和方法,把握项目风险管理所必备的知识。通过加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其策略作为风险管理计划中必要的风险内容,并切实评估相应策略的有效性和可行性。
(6)项目干系人新问题
在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、工作职责等没有足够了解以至于无法得到完整需求或最终经权威用户代表确认的需求;或者是多个用户代表各说各话、昨是今非,但同时又要求项目尽早交付;项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩大。
解决方案摘要:项目的目的就是实现项目干系人的需求和愿望。项目干系人管理应当从项目的启动开始,项目经理及其项目成员就要分清项目干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。
(7)项目团队内分工协作新问题
项目团队内部有时由于各阶段不同角色或同阶段不同角色之间的责任分工不够清楚而造成工作互相推诿、责任互相推卸的现象;有时各阶段不同角色或同阶段不同角色之间的责任分工比较清楚,但是各项目成员只顾完成自己那部分任务,不愿意和他人协作。这些现象都将造成项目组内部资源的损耗,从而影响项目进展。
解决方案摘要:项目经理应当对项目成员的责任进行合理的分配并清楚地说明,同时应强调不同分工、不同环节的成员应当相互协作,共同完善。
相关热搜:项目管理 软件项目管理 项目管理工程
美国是最早兴起项目管理的国家,项目管理也是第二次世界大战后形成的一种重要的管理手段。本文中所讲的软件项目管理就是在软件项目中应用项目管理的相关理论来降低和解决软件开发以及应用过程中出现的非技术原因造成的成本问题以及工期问题。经过几十年的发展,软件项目管理的理论已经相当成熟,其中包含了对于软件项目的生命周期管理、合同与采购管理、风险管理、质量管理、决策管理以及信息管理等各方面,下面本文就以上各方面逐一进行描述。
软件项目的生命周期管理
所谓软件项目的生命周期管理主要是利用相关理论以及手段方法来协调软件项目中的各子项目,以便用来为软件项目正常进行提供可靠的方式方法?对于软件项目的生命周期管理作为一种项目管理的纪律为软件项目管理列出了一定的标准来保证软件项目的正常进行。
软件项目的生命周期有若干阶段组成或者是一些重复出现的周期构成。软件项目自身具有一定的特殊性,同时软件项目也是随着客户的具体需求和要求而进行改变,相对于传统的项目管理生命周期来讲,软件项目生命周期的标准与考核就变得较为复杂,在进行项目管理的过程中需要根据不同的软件项目具体制定相应的生命周期管理计划,比如包括一些版本控制标准、技术文档管理或者是系统开发等方面。
软件项目的合同与采购管理
基于软件项目管理的特殊性,现在大多数公司或者项目的管理力量隹与软件项目良好融合,可能会出现管理目标无法实现或者其他一些非技术性的问题。为了提高公司软件项目管理的有效性,项目外包就变得十分必要。夕咆在一定程度上能够减轻公司的管理压力,但同时会增加公司项目管理的难度和风险。对于项目外包的合同以及合作的细节需要全面而细致。在这个阶段公司需要请专业的机构来起草合同,并且对夕卜包项目的采购流程进行严格的把控,为了能够保证项目的顺利进行,要确认和明确双方的职责,对合同所有要求尽力做到明晰化。
软件项目的风险管理
针对软件项目的风险管理具有十分重要的意义,风险管理需要贯穿于整个软件项目过程,也是软件项目规划阶段的重要环节。风险管理的目的就是要充分考虑项目各方面的因素、找到潜在的风险项以及制定全向的项目规划,同时就风险的规避或者是解决进行全面的讨论。风险分为很多种,软件项目风险分析需要全员参与并群策群力才能保证软件项目正常进行。
软件项目的质量管理
质量管理是软件项目工程实施结果的有力保障,同时软件项目的质量管理是主要的控制过程。全球质量标准体系和公司层面的项目内部质量标准体系是软件项目质童标准的两个层次,但是不论软件项目或者执行的是哪个标准都要遵守一定的程序来进行,在制定相应的标准后,所有人员需要保持统一的节奏来遵守这个标准,避免出现意见不统一,朝令夕改的状态。国际上主要的质童标准体系比如六西格玛体系等,这些国际标准都具有成熟的指导措施和流程性文件。具体到某一公司项目的时候,公司层面在建立质童管理体系的时候可以参考相关的国际标准进行编制,这样科学性以及可行性会大大提升。
基于软件项目管理自身的性质,质量管理体系在建立时还要结合客户的具体需求来制定,市场调查、客户访谈以及标杆分析等过程都十分必要,这些工作流程也是用来评估和记录用户需求的质量标杆。在项目执行过程中对于客户强调的质量需求可以予以加强,进而使得公司的产品质童得到控制。
软件项目的决策管理
决策是一个管理活动中最重要的环节之一。能够快速和准确的做决策对于项目管理的控制与发展来说是十分关键的,软件项目管理过程中的决策不只是由一个领导者确定的,在项目的发展过程中会因为一些不可控因素或者其他原因引起争议,这些争议也会增加软件项目管理组织决策的难度?基于以上分析,完美的决策需要组织各成员共同参与和制定,针对不同的因素这样才能达到项目决策的最佳效果。当项目双方的决策意见不统一时,需要重新制定和建立统一的决策流程进行解决,对于意见统一的决策可以简化流程来提升决策的效率。
软件项目的信息管理
当代社会信息的重要性可想而见,软件项目信息也是项目管理的关键资源,是项目管理过程中必不可少的因素。对于软件项目的信息管理可以采用相应的网站或者网络服务器对信息进行调取和存储,对软件项目的信息管理方式多样但目的都是一样的,都是为了保证软件项目管理相关人员方面获取相关信息。在这个过程中需要过滤无用信息,突出软件项目管理的目标信息,这也是软件信息管理中最应该提升的部分,也是软件项目管理成败的关键。
在此次会议上,邦永招募了全国30多个地区的总,宣布于今年11月正式启动市场。虽然邦永的产品价位仅在540万元之间,定位为中低端市场,但同行还是感到了压力。邦永在加紧营销渠道建设的同时,还酝酿着和很多行业主管部门的技术合作,似乎意在打造国内项目管理软件的行业标准。
今年,中国政府拨了3000亿元专款用于各类政策性项目的建设,各省、市地方政府至少有1000亿元的专款项目,全国每年至少有2000个1亿元以上的大项目。如果这些项目都用软件来进行管理的话,这个市场无疑非常可观。据统计,目前项目管理软件高端市场的容量在1亿元以上,35年内将达到6亿元左右。中、低端用户数量更为可观。
事实上,SAP、ORACLE、PEOPLESOFT等国际上知名的管理软件商在项目管理软件市场上已经先行了一步。他们凭借着产品线长的优势,在向国内客户销售ERP系统的同时,也把项目管理软件带进了中国。同时PRIMAVERA等软件公司也在尝试开拓国内项目管理软件市场。据记者了解,目前还有美国和欧洲的几家大型的项目管理软件公司正在中国调查市场,估计不久将挺进中国。国内管理软件厂商也开始觉醒,纷纷迈开了进军项目管理软件的步伐。上海华普加快了向中关村企业项目管理的进军、北京华炎软件推出HotPM企业项目管理软件……
当人们对ERP不再狂热时,庞大的管理软件市场一下子被催熟了。目前,国内软件巨头用友在与瑞典IFS公司成立了北京用友艾福斯软件系统有限公司后,也开始将其业务迅速扩张到项目管理软件市场。国内其他软件公司如邦永(中国)、北京梦龙、新中大等也紧随其后。美国Primavera、OpenPlan、微软等国际性公司也纷纷杀入这一市场。
“对手非常强大,这说明商机很大!”杨铁铃对记者说,“我们认为目前SAP、ORACLE等国外管理软件商的主要精力还是在ERP市场,项目管理只是其产品线的一部分。目前国内还没有一家具规模的同类型软件企业,更谈不上标准。”邦永对称霸这个市场充满信心。
阻碍犹存
提起项目管理软件,杨铁铃侃侃而谈:其实很早人们就开始实施项目管理,如金字塔、长城等伟大的工程之所以成功,都得益于当时对工程项目进行严密的管理。20世纪60年代初,在著名数学家华罗庚的倡导下,将项目管理的概念引入了我国,并在当时的国民经济各个部门进行试点应用,将这种方法命名为“统筹法”。2000年底,联想在“天麒”、“天麟”两款计算机产品的开发过程中,结合业务对项目管理的需求,配合项目管理相关理论和方法编制软件方案,使该项目仅8个月便全部完成,并达到了国际上PC生产技术的最高水平。“只是当时的企业全都将目光放在ERP上。”杨铁铃不无惋惜地说。
杨铁铃认为,“项目管理对大家来说,并不是一个新的概念,一直以来大家都在提它,其在各行各业的应用也比较多。但是一直没有落到实处。”杨铁铃所说的没落到实处是指目前阻碍国内项目管理软件发展的两个因素:
一方面,国内的信息化水平还很低,尤其是工程的管理者对信息化认识不足。目前,我国对项目建设的管理仍然缺乏明确的法规,项目管理者对监管存在抵触情绪;而另一方面,国内高端管理软件市场一直是众多管理软件供应商争夺的焦点。当大多数软件生产商为ERP的高额利润所吸引时,在自身还没有完成ERP改造情况下,就匆匆转身投入了ERP软件市场的争夺,使得项目管理软件成了一块被荒废的良田。
杨铁铃为记者举了一个例子,去年国家统计局在对旧有的网络架构进行改造时,花了50多万引进了惠普的项目管理,而这还是基于美国1969年建立的PMI(国际项目管理协会)标准。“在国外,90%以上的项目建设都采用软件进行管理,而在我国则还不到10%。如果以应用项目管理软件可以节省35%的建设资金来算,这将是一笔惊人的数字,”杨铁铃说,“我国目前有2000万家中小型企业,在企业项目建设上他们大多数都需要进行项目管理。”
标准之蛊
在微软技术教育大会上,微软(中国)总经理唐骏针对中国软件业难以做大的困境指出,正是由于国内众多软件商对项目管理不够重视,软件开发没有一个规范,无法控制项目的可操作性,导致成本增加,直接影响了整个软件业做大。其实这不仅是软件业本身存在的问题,众多重大项目投资也存在同样问题。然而中国目前的项目管理大多受制于领导意志,要做到很好的控制项目成本,做到与国际标准接轨,其难度不言而喻。
专攻项目管理的邦永曾对外宣称,邦永的PM2系列软件不仅是国外软件的汉化版,而且融合了国际标准化项目管理精髓与本土国情的项目管理模式。从事过项目管理的人都知道,通常一个人对项目管理的把握有4个层次,第1个层次是“误以为自己了解”;第2个层次是“知道自己不了解”;第3个层次是“知道自己了解”;第4个层次是“自己不知道自己了解”。国家统计局计算中心网络运行管理部主任张富民在谈到项目管理实施的体会时对记者说,他觉得当时自己还处在第3个层次。这就是说,目前的项目管理还是一种投资人在投资内的把握,是用工具化的手段帮助投资者把握项目中的每一个赢利和去掉不良成本。
[论文摘要]科学有效的软件项目管理有助于项目开发的成功.本文介绍了软件项目管理的内容并结合软件项目开发经验,探讨了影响软件项目管理的几个关键因素.
0引言
随着信息技术的飞速发展,软件产品的规模和复杂度随之增加,传统作坊式的开发方式逐步被以项目组为单位的协作式开发方式所取代,这就必然涉及到对软件项目的管理.实践表明,一个软件项目的成败,不在于其项目组的技术人员的技术水平,而在于是否采用的合适的管理:.好的管理方式不一定能使项目完全成功,但是一个不合适的管理模式往往会导致软件项目的失败.
1软件项目管理的特殊性
所谓项目,就是在特定条t"ae下,具有特定目标的一次性任务,是在一定时间内,满足一系列特定目标的多项相关工作的总称.项目具有一次性、独特性、目标的确定性、组织的临时性和开放性以及成果的不可挽回性等基本属性.
项目管理是指“在项目活动中运用专门的知识、技能、工具和方法,使项目能够实现或超过项目干系人的需要和期望.”这一定义不仅仅是强调使用专门的知识和技能,还强调项目管理中各参与人的重要性.项目经理不仅仅要努力实现项目的范围、时间、成功和质量等目标,还必须协调整个项目过程,满足项目参与者及其他利益相关者的需要和期望.
软件项目管理和其他的项目管理相比有相当的特殊性.首先,软件的整个过程都是设计过程,不需要大量的物质资源,而主要是人力资源,软件开发的产品以程序代码和技术文档为主,并没有其他的物质成果;其次,软件是纯知识产品,其开发进度和质量很难估H-和度量,生产效率也难以预测和保证.软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制.因此,软件项目管理和其他项目管理相比,有很大的独特性.
2软件项目管理的内容
软件项目管理是一种科学的管理手段,它是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、~x-2,险等进行分析和管理的活动.管理的范围涉及人员的组织与管理、软件度量、项目计划、风险管理、质量保证、过程能力配置管理等几个方面,这几个方面都是贯穿、交织于整个软件开发过程中的.从软件工程的角度讲,软件开发主要分为六个阶段:需求分析阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段、安装及维护阶段.不论是作坊式开发,还是团队协作式开发,这六阶段都是不可缺少的.从用户的角度来看,软件项目的生命周期应该包括项目前期的论证工作、项目计划、软件开发、运行、维护及项目评价.由此可见,软件项目管理的范围不包括传统的软件开发过程,还应该包括开发前的准备工作以及运行中的维护工作和对项目的总结工作.根据PMBOK(项目管理知识体系ProjectManagementBodyofKnowledge,简称PMBOK)中的定义,软件项目管理可以分为以下几个方面:
2.1集成管理:项目计划制定、项目计划实施、集成变更控制等.
2.2范围管理:制定范围计划编制、范围定义核实、变更控制、任务协调等.
2.3时间管理:项目任务分解、进度计划编制、任务持续时间估算、进度计划控制等.
2.4成本管理:资源计划编制、成本估算、成本预算和控制等.
2.5质量管理:项目质量计划编制、软件质量保证、软件质量控制、软件过程改进等.
2.6人力资源管理:组织的计划编制、人员职责的分配、团队合作发展等.
2.7沟通管理:建立沟通渠道、信息交换管理等.
2.8风险管理:项目风险识别、项目风险分析、项目风险优先分析、项目风险控制等.
2.9采购管理:采购计划编制、合同管理、合同收尾等.
在面的软件项目管理中,有几个关键因素,它影响着软件项目的成败,下面就这几4-关键因素进行一下探讨.
3软件项目管理的关键因素
3.1合理配置人力资源
众所周知,人是决定组织和项目成败的关键,也是影响软件93:发质量的最关键的因素,因此软件项目管理应该以人为本,有效管理人力资源,合理配置人力资源.应该根据项目组成员的组成结构情况,合理搭配,充分发挥每位成员的技术专长,做到人尽其能;组织组建好项目团队,培养团结一致的团队精神,规范良好的职业道德;建立健全完备的奖惩制度,落实权利责任制度,做到权责明确,并在项目进程能及时化解各种人事冲突,营造良好的团队协作环境.
3.2顺畅有效的沟通管理
开发软件项目是一项知识性极强的工作,对人的依赖性比其它行业更为突出,因此加强人员之间的有效沟通,实现顺畅有效的沟通管理是软件项目成功的另一个关键因素.沟通管理是一个收集、存储、配置和项目生命周期内所形成的各种信息的过程.它把成功所必须的因素——人、想法和信息之间提供了一个关键连接.对于项目来说,要科学地组织、指挥、协调和控制项目的实施过程,就必须进行信息沟通.这里的沟通包括两个方面,一个方面是软件项目组开发人员与用户的沟通,另一方面则是软件项目组内人员的沟通.前者是做好软件需求分析所必须的;而后者则有助于组内成员的彼此交流,减少理解错位,实现信息畅通,改善人际关系,化解可能的冲突,加快项目的进度.沟通的方式是多样的,可以采用常用的项目组例会方式,可以通过面谈彼此交换意见;也可以利用方便快捷的通讯工具如电话、EMAIL、传真等方式加强信息的沟通;总之,顺畅有效的信息沟通,可以取得彼此的理解,剔除项目进度中的“BUG”,有利于项目按计划顺利开展.
3.3正确可靠的软件需求
软件需求是软件项目的根本所在,需求不明确,软件项目开发范围不确定,项目开发就会失去方向,容易造成开发的产品和用户实际的需求“南辕北辙“,最终导致项目的失败.一个可靠的需求,也是项目管理的关键因素之一.软件需求应当是项目有关的人员一致同意的、清楚的、完整的、详细的、可实现的和可测试的需求的确定,开发人员应该反复和用户进行沟通,认真听取用户的意见,及时归档记录,并适时发掘用户的潜在需求,最大限度地满足用户的目标,开发出用户最理想的产品.最后应拿出开发人员和用户一致认可的软件需求说明书,并加以确认.在项目开始以后,应该尽最大可能不更改需求,要与用户进行很好地沟通,以确保开发212作能按照需求进行,减少需求变更带来的风险!因此,正确可靠的软件需求也是项目成功的重要保障.
3.4周密可行的项目计划.
“凡事预则立,不预则废.”软件项目实施过程中,还必须有一个周密可行的项目计划.软件项目计划的目的是为完成软件工程和管理软件项目而制定的合理的计划,它包括以下步骤:估计软件产品规模及所需的资源,制定表,鉴别和评估软件风险和协商约定,而且要标志出几个阶段性的里程碑,这些都是极为关键的.软件项目开发组来说,一个可行的计划的重要性是不言而喻的.在实际发中,:计划的重视程度不够,计划过于笼统、粗糙导致可执行性差,再加上一些人为因素的影响,必然会产生一些反面的影响,或者有了周密可行的计划不严格遵守计划执行,任意变更,都将产生严重的负面影响,有时甚至是灾难性的影响.因此,要想成功进行项目管理,就要对高度重视、周密制定、严格执行.只有严格进行计划才能使成功项目管理得以实施.
3.5健全完备的文档资料
软件项目的文档作为软件产品的主要形式之一,集中体现了软件人员的劳动成果,在整个软件生存周期中占据重要位置.特别是在开发过程中需求发生了变更的情况下,健全完备的文档资料的重要作用就充yJ-~:现出来,开发人员可以及时在文档中回溯,快速锁定问题所在,及时解决问题避免软件项目延期,减少项目.此外,健全完备的档资料在项目接近尾声时也便于软件的测试与后期的维护工作,在项目结尾时,健全完备的文档资料也为人员的培训和项目的再开发发挥重要作用,因健全完备的文档资料也是软件项目成功的重要因素,在项目管理过程中应该高度重视.
3.6严格的风险管理
软件项目的管理是存在风险的,我们应该提前重视风险,并有所防范,最大限度减少风险的发生.实行严格的Ixt.险管理是有效的手段.建立风险项目检查表是进行风险识别的有效地方法就是,主要涉及到产品规模风险检查、过程风险检查、技术风险检查、开发环境风险检查等.此外软件的风险评估也是必不可少的.主要涉及到发生的可能性,最好建立一个尺度表示风险可能性;发生的结果;确定风险评估的正确性;另外,要对每个风险的表现、范围、时间做出尽量准确的判断.同时,要依据以下三个要素对风险进行评价:风险描述、风险概率和风险影响.并从成本、进度及性能三方面对风险进行描述.
1避免陷入两个误区
1.1开发过程随意化说到简化,也有企业走进了“随意化”的误区。自由主义、经验主义随心所欲地发挥,口头协议满天飞,时间紧、人手不足是他们抛弃规范、拒绝监督的最佳借口。其实,简化绝不意味着随意化。随意容易使软件开发误入歧途,使开发过程难以规范。
1.2项目管理方法和工具过于复杂或简单有人认为自己拥有一套软件项目管理的书籍,书中充满了复杂的标准和示例,并套用到软件开发过程中的管理,使项目管理变得相当复杂。其实,好的参考书无疑能指导我们的工作。充分利用书籍中的方法、技术和技巧,可以有效地解决软件开发中大量常见的问题。但实践者并不能因此依赖于书籍,因为:
(1)现实的工作中,由于条件千差万别,即使是相当成熟的软件工程规范,常常也无法套用。
(2)软件技术日新月异,没有哪一种软件标准能长盛不衰。祖传秘方在某些领域很吃香,而在软件领域则意味着落后。爱因斯坦曾说过:“一切事情都应尽可能使其简化,但不要过于简单。”对于项目管理,此中的玄机无疑隐藏在细节之中。应该抓住影响软件项目管理的关键因素,简化项目管理方法和管理沟通工具。
2软件项目管理如何简化
2.1确定明确、完整的软件需求只有有了明确的、完整的软件需求,项目开发才能有基本的保证。获取需求时应认真听取用户的意见,进行沟通,尽量从专业的角度挖掘用户的潜在需求,最大限度地避免开发工作开始后去修改软件需求。
2.2制定可行性计划并严格执行根据需求将软件按功能划分为多个模块,并将每个模块继续细分为多个子任务,将这些子任务分配给具体的开发人员,与其沟通确定开发进度时间表,这样能保证软件整体进度的精确性,便于项目管理人员对整个项目规模的估算,使计划的制定变的相对容易。项目开发过程中很多人抱怨“计划赶不上变化”,主要原因就是计划过于笼统、粗糙,导致可行性差。除了计划的周密制定外,还要严格执行,使项目管理得以实施。
2.3简化软件开发过程我认为采用基于构件的软件开发方法就是一种有效手段。通过对应用领域的研究(领域工程),提炼领域需求的共性和变化性,刻画领域模型,设计面向领域的体系结构,开发各种构件,从而使应用软件的开发过程更接近于工业化生产流水线,基于体系结构,用各种构件进行组装。简化了的软件开发过程,变化因素更少,更容易规范管理。
2.4编写简洁有效的项目文档编写文档的工作量是很大的,有时会占整个项目的40%,要花费大量的时间,但有效的项目文档能保证项目开发中出现问题时有据可查,同时也给项目后期维护提供方便。实际上,简洁有效的项目文档在某种程度上保证了软件项目整体顺利的进展,避免由于人员流动或其他原因导致项目的延时。特别要注意避免项目文档流于形式化或者生搬硬套模板,因为那些模板文档很多项目对于自己并没有太大的用处,挖空心思的填空实在“出力不讨好”,那样只会让开发人员和管理者头疼。
2.5使用简化的管理沟通工具,进行高效的人员沟通现在的项目管理工具很多,如常用的MicorsoftProject,还有很多自己开发项目管理系统,还是很难奏效。我建议可以参照OPPM(One-PageProjectManager)模型创建一张表格来简化项目管理。我们知道每个项目都有五个基本元素,这些元素已成为项目管理人员“DNA”的一部分。这些元素分别是:任务(如何做)、目标(做什么)、时间(何时完成)、成本(花费)、承担者(谁负责)。OPPM模型正是由这五个项目构成的,其至强至简的在一页纸上用图表体现出各个部分的状态以及之间的联系,同时易于创建和维护。从项目开始就使用一个简单的多维OPPM是非常必要的,它使项目的所有部分(如项目目标、任务和团队成员)一目了然。另外,将OPPM用作项目状态(每周或每月)沟通工具,可以加强业务与开发人员之间的联系。这个简单的多维工具很容易理解,并为业务部门提供了项目的透明视图。因此,定期使用它来交流项目状态的过程,可以有效第提高技术与业务之间的协调性。
关键词:项目管理;Web;研究性学习;教学网站
Keywords:projectmanagement;Web;study;teachingwebsite
前言
软件行业是一个极具挑战性和创造性的行业,软件开发是一项复杂的系统工程,牵涉到各方面的因素,在实际工作中,经常会出现各种各样的问题,甚至面临失败。如何总结、分析失败的原因,得出有益的教训,对一个公司来说,是在今后的项目中取得成功的关键。
1.项目管理在软件开发中的应用的成因
目前我国大部分软件公司,无论是产品型公司还是项目型公司,都没有形成完全适合自己公司特点的软件开发管理模式,虽然有些公司根据软件工程理论建立了一些软件开发管理规范,但并没有从根本上解决软件开发的质量控制问题。这样导致软件产品质量不稳定,软件后期的维护、升级出现麻烦,同时最终也会损害用户的利益。
随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软件开发过程中,应用开发的项目管理日益受到重视。
2.软件项目管理常见问题及解决方案
(1)缺乏项目管理系统培训
在软件企业中,以前几乎没有专门招收项目管理专业的人员来担任项目经理,被任命的项目经理主要是因为他们能够在技术上独当一面,而管理方面特别是项目管理方面的知识比较缺乏。
解决方案:项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识与实践,再加上项目管理知识与实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。
(2)管理意识问题
部分项目经理不能从总体上把握整个项目,而是埋头于具体的技术工作,造成项目组成员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。有些项目经理没有很好的管理方法,不好安排的工作只好自己做,使项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。
解决方案:加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前,最好能经过系统的项目管理知识,特别是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。
(3)项目计划意识问题
项目经理对总体计划、阶段计划的作用认识不足,因此制定总体计划时比较随意,不少事情没有仔细考虑;阶段计划因工作忙等理由经常拖延,造成计划与控制管理脱节,无法进行有效的进度控制管理。
解决方案:计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项目经理的计划意识,采用项目计划制定相关知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。
(4)沟通意识问题
在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失;有些人没有每天定时收邮件的习惯,以至于无法及时接收最新的信息。
解决方案:制定有效的沟通制度和沟通机制,提高沟通意识;采取多种沟通方式,提高沟通的有效性。通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于特别重要的内容要采用多种方式进行有效沟通以确保传达到位,例如:除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。
(5)项目干系人问题
在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、工作职责等没有足够了解以至于无法得到完整需求或最终经权威用户代表确认的需求;或者是多个用户代表各说各话、昨是今非,但同时又要求项目尽早交付;项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩大。解决方案:项目的目的就是实现项目干系人的需求和愿望。项目干系人管理应当从项目的启动开始,项目经理及其项目成员就要分清项目干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。
(6)风险管理意识问题
有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的对策,对于后面的风险防范起不到什么指导作用。
解决方案:通过学习项目管理知识掌握风险识别、量化、对策研究、反应控制的工具和方法,掌握项目风险管理所必备的知识。通过加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。
总结本行业项目中常见的风险及其对策作为风险管理计划中必要的风险内容,并切实评估相应对策的有效性和可行性。
(7)项目团队内分工协作问题
项目团队内部有时由于各阶段不同角色或同阶段不同角色之间的责任分工不够清晰而造成工作互相推诿、责任互相推卸的现象;有时各阶段不同角色或同阶段不同角色之间的责任分工比较清晰,但是各项目成员只顾完成自己那部分任务,不愿意与他人协作。这些现象都将造成项目组内部资源的损耗,从而影响项目进展。
解决方案:项目经理应当对项目成员的责任进行合理的分配并清楚地说明,同时应强调不同分工、不同环节的成员应当相互协作,共同完善。
关键词:软件;项目管理;SW-CMM;模型;市场竞争力;企业
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)04-0113-03
在当前形势的影响下,一些中小软件企业在实际的发展过程中,由于对软件项目管理认识不足,导致在相关的产品质量管理方面出现了各种各样突出的问题。这些问题的存在,客观地说明了软件企业在发展过程中工作思路的不科学及对项目管理认识不清,阻碍了企业的正常发展。做好软件项目管理的基本工作,必须理解和掌握对中涉及的相关技术概念及基本原理,为后续工作的开展奠定良好地基础。SW-CMM软件项目管理模型,结合了项目管理的主要内容及软件的相关特点,有利于提升企业整体的项目管理水平,扩大自身的经营范围。SW-CMM体现了这个时代无数成功软件企业的研发能力和先进的管理理念,为相关中小企业的项目管理提供了一定的参考思路。
1软件项目管理的研究背景及意义
1.1软件项目管理的研究背景
软件项目管理主要针对的是软件行业。它是项目管理与软件行业结合的产物,对于软件行业工作效率的提高有着重要的影响。软件行业的生存和发展依赖于企业内部团体的研发能力,主要是通过相关技术人员彼此间工作的配合逐步实现的。软件项目管理为软件企业未来的生存和发展带来了巨大的推动力。SW-CMM又称软件能力成熟度模型。它最早诞生于20世纪80年代,是由美国的大学研究机构主持开发的。这种软件项目管理的理论体系庞大,内容比较丰富,涉及的范围也比较广泛。其本质上是一种先进的管理方法,主要应用与软件领域,体现的是管理方面的思想。通过对不同层次的内容指出了软件工作机制中控制活动所遵循的基本原则,为软件项目管理和项目施工提供了可靠的工作思路。这给软件企业处理实际问题带来了一些指导性建议,节约了研发人员的工作时间,加快了研发速度,为企业的整体发展带来了积极的推动作用。同时,作为一种参考标准,SW-CMM对于软件企业的预算管理有着一定地影响:对企业如何控制生产成本,实现利润最大化目标提出了具体的解决方法。相对国外比较成熟SW-CMM,我国在这方面的研究理论非常少,缺乏科学的参考标准,相应的软件组织更是很少,只有部分的中小组织。将复杂的SW-CMM理论体系变得简单化,是未来软件研究工作者需要完成的主要工作任务。
1.2软件项目管理的研究意义
软件项目管理直接关系着软件企业的生存和发展,是保证企业竞争力的重要措施。做好软件项目管理的研究工作,有利于提高软件产品的质量,扩大企业的生产经营范围。同时,这种管理理念和管理方法的实施,从根本上降低了企业的生产成本,为企业整体经济利益的增加带来了积极的影响。中小企业在软件项目的管理过程中一直存在着很多的问题,管理方法的不合理,管理机制的不完善,都阻碍着企业正常的发展。因此,做好软件项目管理的研究工作,对于软件企业整体的发展具有现实的参考意义。软件项目管理是决定软件企业战略部署的关键措施,这也客观地决定了开展软件项目管理研究工作的必要性。
2软件项目管理及SW-CMM的相关内容
2.1软件项目管理概念及特殊性的表现形式
软件项目管理主要是指企业通过对项目成本、施工进度、质量管理、人员配置方面的控制而开展的相关活动。软件项目管理对于企业技术人员的研发能力影响很想很大,也直接体现着企业整体的研发水平。软件生产技术相对较高的企业,其项目管理水平较高,综合的研发能力比较突出。软件项目管理的特殊性主要是指这种管理与其他项目管理的区别。主要表现在;1)思维上的独特性。软件项目是通过技术人员的思维能力逐步开展实施的,具有抽象性的逻辑实体。在具体的研发过程中相对比较自由,需要经过一定的研发时间才能获得最终的产品;2)组成结构的复杂性。这主要是指软件本身具有一定的复杂性。其复杂性包括:代码组成的复杂性和解决实际问题的复杂性。当软件在应用过程中遇到特殊的问题时,必须从程序的设计、实际的需求、研发角度等方面展开必要地研究,而这样的处理过程增加了整个工作机制的复杂性,使得整体结构的复杂性逐渐地体现出来;3)层次感鲜明。软件中某些符号存在着优先级,使得系统在处理实际的问题时,必须充分考虑优先级的高低,间接地使软件项目管理在某些应用方面的层次感非常鲜明,为相关工作的开展带来了极大的方便。通过这些不同的表现形式,可以清楚地看到软件项目管理的特殊性。
2.2SW-CMM的基本结构
当前形势下,国际上较为流行的SW-CMM主要分为软件能力成熟度模型和软件能力成熟度的具体实践。这两种技术报告有着不同的侧重点:前者是强调软件实施中的相关原则,主要是为了使软件能够朝着更高层次的方向发展,最后保持一定的成熟度。这种成熟度侧重于具体的过程。而后者主要强调的是不同级别实践过程中的成熟度,侧重于成熟度实现的途径研究。通过对成熟度内涵的分析,可以为软件实施做出一定的综合评估,以达到软件改进的最终目的。SW-CMM结构的基本原理主要是指:在具体的过程中通过各项实践活动的有效开展,可以实现关键过程的相关目标。这些目标象征着不同的成熟度级别。这也客观地体现出了SW-CMM结构中成熟度级别的高低是与一定过程内实现目标相关的。这为软件项目管理带来了重要的参考思路,也为软件实施过程中评估报告的评价指标指明了方向,给相关模型的构件带来了一定的参考依据。
2.3SW-CMM等级的研究
SW-CMM的等级主要包括五个方面:优先级、管理机、定义级、重复级和初始级。这些不同的级别反应了SW-CMM的基本结构特点,在实际的应用中有着特定的含义。五个级别的相关含义主要有:1)初始级。这主要是指软件的生产组织的起始阶段,基本没有形成真正的软件研发环境。无论是管理上还是具体的实践应用方面,都无法达到相关的设计要求;2)重复级。这一级别中的内容较丰富。主要是指它涉及的对象较多,包括人、物、组织及相关的信息传递。这种过程中信息之间的交流需要结合实际的情况随时地调整。应用、测量、研究、规范化、标准化等组成了一个严密的体系,对于软件项目管理起着科学的引导作用。所谓的重复是指在软件项目管理中可以对制度、合同、预定方案等方面重复执行。不同的项目允许在一定的控制范围内出现一些偏差。这主要是从局部的细节方面研究的。而从整体上观察,可以看出这些重复的行为基本的原理都是一样的。无论是参考标准还是项目控制管理,其中的某些过程中是可以重复的;3)定义级。这是软件研发的关键阶段。软件项目管理模型的形成涉及了软件工程和项目管理。在定义级阶段,需要制定相关的参考标准。这些标准的形成,为未来软件的使用进行了必要地规范,为软件的顺利实施指明了方向。这个级别所涉及的软件过程的特点主要是:规范化和互不排斥性。突出了软件工程和项目管理过程的相关特点。当软件进入生产阶段,需要对软件的整体框架、生产数量、生产质量等方面进行综合地管理;4)管理级。这一级别主要是为了做好软件产品的质量指标的制定工作。通过设置一定的质量指标,可以使软件生产组织的活动更加规范,为软件项目的质量控制提供了可靠地保障。当软件处于该级别时,软件实施及相关的评估报告有了一定的参考依据。通过控制软件的过程,对于可能出现的偏差进行随时地调整;5)优化级。该级别主要的工作内容是为了使软件的性能更加可靠,实际的应用范围更大,从而对软件进行持续地改进。通过相关的试验查找软件中的漏洞,并对实验数据进行全面的分析。最终的目的是为了使该软件在技术上和方法上有所突破。通过对SW-CMM不同级别的分析研究,可以清楚地看到软件的设计、制定及实施的过程是可以不断地改进的,这也是对应软件项目管理存在的意义。
3SW-CMM的软件项目管理模型分析与研究
3.1项目启动
项目启动是整个SW-CMM模型内的初始阶段,需要从项目的可行性、项目方案的制定与实施、资源配置管理等方面展开深入地分析。其中,项目的可行性分析主要包括三方面的内容:1)技术角度的可行性。主要是指技术的选择能否对市场风险起到一定的预防作用;2)经济角度的可行性。主要是指项目的成本预算是否合理;3)社会推广的可行性。主要是指项目在推广过程中是否合法,相关的操作方式是否合理。同时,项木启动也对具体的工作目标、整个项目的估算及项目立案的管理等方面做出了一定的说明。
3.2项目的整体计划
在整个模型中这部分的内容相对比较丰富,其中主要涉及了成本控制、风险规避、项目方案指导、工作步骤的有效分解及职责的明确等方面的内容。其中的工作步骤的有效分解可以起到对整个软件综合评估的作用。项目的成本控制可以通过多种方式达到预期的目的。主要有:相似项目的比较;专家团队的评估;算法模型的模拟及特殊的估计法等。对于一些规模较小的项目可以采用一些SW-CMM模型的建立进行相关地估算。
3.3项目的风险评估
无论是在项目的启动阶段还是后续的项目实施阶段,都必须对整个项目的工作机制进行的综合的风险评估。风险评估的过程有着相对完整的体系。主要包括:风险的识别、风险的分析等。利用风险评估体系对SW-CMM项目管理进行整体的评估,主要是从项目实施中三方面的内容展开的。由于软件工程项目在具体的推广过程中可能出现各种类型的风险,需要对项目的风险评估机制进行随时地修改。
3.4项目的实施与控制
这一阶段是项目取得成功的关键所在。由于项目在实际的实施过程中可能会遇到各种各样的突发状况,仅仅利用项目的风险评估机制很难对项目计划做到准确地预估,必然会导致一些偏差的存在。因此,利用项目的实施与控制的作用可以及时地修正这些偏差,保证整个项目能够顺利地实施下去。项目的实施与控制主要包括:需求管理、项目的全程监督及项目的有效控制。通过这些方面工作的开展,可以提高项目实施整体的工作效率。
3.5项目的维护与软件质量管理
当所有的项目结束后,需要开展相关的资料整理及项目验收的工作。项目的验收一般是通过用户的体验完成的。由于最终的软件主要是为用户服务的,用户的客观评价是对整个软件安全性能的最好体现。除此之外,也需要对项目中一些重要的资料进行及时的归档整理。并对相关的工作做出一定地总结。SW-CMM软件的质量管理包含着许多重要的内容。由于软件最终的应用与推广主要是针对用户与社会的,必须对软件的质量进行一定的管理,防止意外事件的发生。软件的质量管理主要包括:软件的综合评审、软件的性能测试、软件的漏洞、解决软件存在问题的方法。通过对这些方面的有效控制,可以保证软件的质量可靠性。
3.6软件的配置管理
作为SW-CMM的软件项目管理模型的重要支撑平台,软件的配置管理对于整个软件的生命周期起着至关重要的作用。软件配置管理主要是对软件生命周期内产品的变更及相关的演化过程进行一定地管理。它主要解决的问题是软件变更过程中的标识、变更过程的控制及最终的等方面的问题。最终的目的是为了使最终的产品在有效性、需求性及可控性等方面达到用户的实际的要求。
4结束语
SW-CMM软件项目管理模型在实际的应用中起着至关重要的作用,主要是因为它深入地分析了软件企业在项目管理工作方面存在的问题,并找到了科学的解决措施。这为软件企业未来的发展带来了积极地影响,使得企业在实际的项目开发中拥有了更多的选择。文中通过对SW-CMM项目管理模型实际应用的研究,为中小软件企业的发展提供了有效的策略。
参考文献:
[1]魏国兴.基于CMM的软件过程管理系统的设计与实现[D].北京:北京邮电大学,2010.
[2]张策.CMM/CMMI模型在成品油协同监管服务平台项目中的应用研究[D].长春:吉林大学,2011.
[3]周津衍.基于CMM的A软件项目开发过程改进研究[D].上海:东华大学,2015.