软件项目的项目管理(共12篇)
软件项目的项目管理 篇1
0 引言
进度管理是项目控制的重要内容, 由于信息系统项目的不确定性, 项目的进度控制是项目管理中的最大难点, 它与项目的质量, 成本管理密切相关, 其基本过程包括:
概念阶段:首先是确定该项目是否可行, 然后是项目周期的初步估计计划, 在项目的总体结构方向上建立总体的概念和思路。根据总体的规划, 来确定里程碑, 明确检查点, 以便更好对项目进行控制。本阶段需要确定项目的可行性方案, 进行项目评估, 项目机会研究, 制定初步可行性方案, 详细可行性研究, 明确合作伙伴等。
开发阶段:根据计划的进度进行跟踪控制以及对计划进行审查、协调, 确定进度管理计划。对项目做好开工前的人、财、物及一切软硬件准备。需要监理组织、项目背景描述、范围定义、工作分解、工作排序、工作延续时间估计、资源计划, 费用估计、费用预算、质量计划、质量保证等。
实施阶段:对照进度管理计划, 对项目实施的进度检查, 如果进度延期, 则需要进行工作调整, 可以采用快速跟进或者加班的方式进行, 也可以按照变更控制流程变更调整工期。按计划启动实施的项目工作建立项目组织、项目的沟通渠道、项目的激励机制、项目工作报告等, 细化各技术需求, 执行WBS的各项工作, 指导、监督、预测、控制范围质量进度成本等。
结束阶段:用户对项目验收, 验收合格后进行项目正式移交, 最后进行项目的总结, 经验教训的交流, 为下一次项目提供实践依据和经验教训。
一般来说, 项目范围边界的不明确、需求蔓延是导致项目进度失控的主要原因之一。进度, 质量, 成本三者都是项目的重要评价标准。项目控制需要有明确的目的、有重点、有全局观念。结合实施项目时遇到的实际工作情况, 对项目进度管理进行简要剖析:
1 定义活动并估算工作量和技术难度系数
在定义活动并估算工作量和技术难度上采用数据系数统计法和类比法原则, 先将每个子系统逐层分解, 根据WBS分解的基本模块进行工作量的核算。首先, 借鉴历史项目经验将项目相同或相似的模块, 统计出其在以往项目的工作量系数。例如系统框架部分的功能授权, 系统登录, 日志管理, 文件的起草审核发布归档, 资源共享等。此外, 前台的常用操作, 如增加、删除、修改、查询和统计的功能也和以往项目存在类似之处, 主要就是数据匹配的工作。针对本项目的特有的技术, 我们作为重点对象, 一方面项目内部核心人员提前考察, 另一方面向提供相关技术的工作申请相关资料。比如GIS中的视频采集, 数据模型计算和分析以及对各路段设备的监控和使用上, 我们特别邀请了产品供应商对产品和技术进行介绍和培训, 为工作量估算和难度分析提供了重要依据。在这些模块上, 可以安排经验丰富并有特长的程序员, 同时在资源安排上给予倾斜, 这样能保证不影响系统关键路径上的时间。项目估算完成后, 召集子系统负责人对项目进度进行讨论, 在系数安排和资源人员分配上进行了协调, 最后获得了大家对估算结果和安排的认可。
2 识别关键任务定义里程碑
根据项目活动的逻辑关系和工作流程, 可以采用关键路径法定义项目进度管理。集中优势完成关键活动, 专项承包, 可以采用新技术、新工艺完成。比如交通状况的处理和疏通, 是以多个视频采集点信息分析出结果为驱动, 然后进行路况的发布及人员的调配, 其中人员的调配又以人员工作角色、工作时间表、工作区域为条件, 进行状况处理后数据的整理并归档。此时, 人员的工作情况表和视频采集点信息是处理交通情况的紧前任务, 而故障处理结果数据分析为后续任务, 为下一次的路况提醒提供重要依据。在其相关联业务上, 进行模块的合理分配和安排。对于不直接相关的文件传输, 办公自动化模块, 可以在人力资源充足并不影响进度的情况下启动, 最后找出最长路径作为关键路径, 在重要活动中设定里程碑和检查点, 对项目进行实时监控。
3 进度计划编制
根据具体项目活动, 对项目进行分解和活动的接点界定, 明确项目组织和工作任务的分配, 采用关键路径法制定详细的进度计划表, 主要包括任务工作量、开始时间、持续时间、结束时间、版本号以及人员和资源分配。使每个人都知道自己工作任务的时间表及其工作任务的排序。管理主管总体掌握其业务时间在项目的地位, 建立互动机制。操作人员根据实际情况写出乐观、悲观、可能完成时间、问题等情况。运用关键路线图的方法将工作分解结构和活动, 按照逻辑关系加以整合, 计算出某项活动的最早开始时间和最迟结束时间等, 并且安排各子系统负责人, 用统一格式编写小组情况报告。
4 项目进度控制
在项目中采取定期检查和定点检查的方式控制项目进度。其中定期检查的主要形式是周项目例会。规定在每周三下午定时召开任务进度情况汇报会, 了解项目的实际进度。根据负责人汇报的工作情况, 对完成情况与计划进行比较, 如果出现偏差, 及时调整, 给出解决措施, 纠正偏差。定点检查主要是事先设定的检查点如:里程碑, 基线, 对其完成情况进行检查, 如果有偏差, 需分析原因, 判断偏差影响, 并制定出解决方案。对愿意主动承担项目任务的员工多发奖金和公开表扬进行激励, 或者不必要的功能和过度修饰。在项目进度动态监测后, 形成项目进展报告有概要级进度控制报告, 主要是针对整个项目对干系人进行汇报;管理级进度控制报告, 主要是以分项目为对象由分项目主管进行汇报;业务管理及进度控制报告, 主要是以某重点部位或重点问题为对象由普通研发工作人员进行汇报。这些报告除了日常报告, 还有例外报告和特别分析报告的形式。项目进度报告的有效管理和制度的健全, 可以帮助本项目的进度有效控制, 便于项目干系人能够及时理解项目的情况。为以后项目经验教训的总结提供了有效的依据。
5 结语
回顾该项目进度管理的过程, 总体比较顺利, 现将主要经验教训总结如下:(1)进度计划的制定, 一定要充分预计, 好的进度计划能够保证任务的连贯性和及时发现问题。(2)建立标准的进度管理模板, 便于快速沟通, 标准性沟通, 提高效率, 使统计及分析更加清晰明确。(3)有效的沟通能够事半功倍, 非正式沟通能够有利于快速获得项目情况。特别是在用户自身对需要无法表述清楚的情况下, 采用用户能够接受的方式沟通, 尤为重要。榆建立公平的奖惩制度, 出现问题共同积极解决, 有利于激发员工的工作热情, 保持工作积极性。
总之, 项目的进度管理是整个项目管理过程中的重要环节, 它与项目的质量, 成本, 人力资源, 沟通管理有着密切联系。项目经理需根据项目的实际情况和团队的构成, 采用合理的进度管理模式, 在规定的时间内保质完成, 让客户满意。
摘要:本文针对进度管理, 从项目管理的概念阶段、开发阶段、实施阶段、结束阶段四个阶段进行了阐述。对项目的各项活动进行了定义, 采用了关键路径法和PERT计划评审技术, 进行了有效管理, 保证了项目能够如期保证质量的完成, 并通过了用户的验收。文章最后, 对该项目实施过程中的经验教训, 进行了总结。
关键词:项目开发,进度管理,计划
参考文献
[1][美]科兹纳著, 杨爱华等译.项目管理:计划、进度和控制的系统方法[M].电子工业出版社, 2010.
[2]徐玉凤, 董亚辉.项目进度管理[M].对外经济贸易大学出版社, 2006.
[3]潘洁, 杨帆.工程项目管理中的质量控制[J].企业导报, 2010 (12下) .
[4]李建平.现代项目进度管理[M].机械工业出版社, 2008.
[5]张友生.信息系统项目管理师考试全程指导[M].清华大学出版社, 2012.
软件项目的项目管理 篇2
摘要
本文讨论了《电力行业工作票、操作票系统》的项目管理,在本项目中我作为项目负责人,承担了项目管理工作.
在本项目管理中,我主要采用了面向对象技术同传统技术相结合的原则,在估算项目的工作量这方面尤为突出,面向对象技术对传统技术有所改进,传统技术能弥补面向对象技术的不足。
本文从合理的估算项目的工作量及技术难度;识别关键任务;随时了解项目进度,必要时调整进度表等方面讨论了《电力行业工作票、操作票系统》项目管理的基本活动与方法,有效地控制开发进度,确保项目如期按质量完成.本系统在电力系统已经运行,状况良好,受到一致好评.
正文
2003年2月,我参加了《电力行业工作票、操作票系统》的开发,担任项目管理工作.电力系统有关部门在对电力设施进行检测、维修、试验等一系列活动时应按照我国电力行业相关标准进行工作,《电力行业工作票、操作票系统》就是按照国家有关标准及电力行业操作规程设计的仿真系统。工作人员在施工前按照工作流 程在此仿真系统上进行操作,严格遵守电力设施的逻辑闭锁关系,顺序执行.有效地防止不规范操作,确保电力设施及现场工作人员的安全,提高安全意识.
本系统由系统图编辑平台和工作票、操作票签发系统两大部分组成,其中系统图编辑平台主要是编辑变电站、用电系统及变电站控制系统图,每一个电力设施对应一个对象,在系统图上都有相对应的部分,系统图真实地反映电力设施的布局及相互关系,生动形象又合乎技术标准,同时为第二部分提供操作对象.工作票、操作票 签发系统主要是在系统图的基础上进行点击操作,每饮点击对应一个对象即一个电力设施,根据电力设施的逻辑闭锁关系自动生成相应的工作票或操作票或提示操作不规范.
在本系统的开发过程中,我通过合理的估算项目工作量及技术难度;识别关键任务;随时了解项目进度,必要时调整进度表等方面对项目进行管理,确保本系统如期按质量完成。
1、合理的估算项目工作量及技术难度
我们在项目工作量及技术难度的估算上采用面向对象技术同传统技术相结合的原则.
本系统采用了面向对象的分析、设计等一系列面向对象技术,在本系统工作量的估算上根据功能点进行估算.将每个功能模块逐步分解,直至基本模块为止.我们将系统分为系统图编辑与工作票、操作票签发两个大的功能分别进行估算。系统图编辑部分主要是一个图形编辑系统.一种电力设施对应一个类,电力设施的技术参数 及其操作对应相应类的属性和方法,电力设施图是由线段、圆、曲线、折线、多边形等基本图形组成,这些基本图形分别对应一个类,这些类又继承一个最基本的类.系统图编辑部分的工作量也就是这些类的实现,工作票、操作票签发部分用到了编辑平台的系统图,因此由大量的功能可以复用,这部分的功能划分同系统图编 辑部分一样也是采用类作为基本结构,这样就比较准确的进行工作量的估算.
同时我们开发的这个系统是基于C/S结构的,由于C/S结构的系统我们公司有不少成功的案例,因此有不少的案例供我们参考.对于本系统的第二部分我们就是借鉴以前我们做过的基于C/S结构的系统,基于C/S结构的系统的框架基本上是一致的,数据库的设计、前台操作如对数据库进行添加、删除、修改、查询等一系列活动大体相同.正是如此,有大量的东西可供我们复用,如权限控制模块我们就是复用以前的案例,仅作少量修改.在工作量的估算上也有很好的借鉴作用.这 对工作量的估算也是一个重要的参考,为工作进度安排提供了依据.
在技术上,我们重点考虑本系统与其他C/S 结构的系统的不同之处,相同或相似之处我们认为没有技术难点.系统编辑平台主要是绘图,我们知道MFC的绘图功能确实强大,但是过于繁琐,功能封装不是十 分完美,我们采用了Form++这个MFC 扩展类库,这个扩展类库对图形操作封装得很好,大大降低了系统图编辑部分的难度,在界面设计上我们采用了BCG 这个扩展类库,使得VC应用程序界面设计得如同Delphi等工具一样完美.同时减少了工作量,在工作安排上,技术难度相对大一点的部分我们安排经验丰富 的程序员,同时也同其他工作组的成员商讨技术细节间题,同他们进行技术探讨.这样不至于因为某一技术细节而影响整个工程进度.根据上述分析我们制定一个详细的进度表并定义相应的里程碑.
2、识别关键任务
系统图编辑部分是整个系统的基础,因为工作票、操作票签发部分是建立在该部分的基础之上,系统图编辑部分直接影响到整个项目.因此该部分是整个系统的关键部分,在这部分中每种电力设施所对应的类及其父类的定义是关键,因为所定义的类必须完整、准确地反映该电力设施的技术参数和操作.
工作票、操作票签发部分,是用户明确提出的要求实现的功能,直接面对用户,这部分的成功与否直接影响到该系统的质量,因此也是不容忽视的.
如果上述两部分任务的进度受到影响,则整个项目的完成将受到威胁.因此是本项目的关键任务.在进度控制时我们将其作为重点对象进行控制.
3、随时了解项目进度,必要时调整进度表
在确定项目开发计划时,我们制定了详细的进度表.我们在确定每一项任务时都确定该任务的工作量、开始时间、持续时间、结束时间.同时让每个小组成员知道自己所承担任务的时间表,小组成员根据自己的任务制定自己的详细工作计划.
工作日志是了解每个小组成员工作情况的很好的方式,我们要求每个小组成品对自己的工作都要做工作日志,对自己每天的工作做详细记录.每周对自己的工作进展做出结论,向项目组汇报.在做结论时,不得使用“差不多”、“大概”、“完成了90%”„ 等模糊字眼.而是采用某任务“已经全部完成”、或者“90%的工作全部完成”或者“再过1 天全部完成”„等方式.每个小组成员对自己做出的结论负责,这样可以做到随时了解项目进度,为调整项目计划提供客观基础.
同时我们在项目进度计划中根据项目设计定义了相关的里程碑,在每个里程碑我们都采取小组会议形式对本阶段的工作进行确认、总结,对本阶段的进展情况做出结论,并决定是否调整下一阶段的进度计划.
在系统图编辑部分我们认为各电力设施所对应的类(包括其父类)定义完成为一个里程碑,每个类是否具备了相对应的电力设施的技术参数及操作是该里程碑的标 准,这些类(包括其父类)的实现完成又为一个里程碑,„ „ 整个系统图编辑部分完成也是一个里程碑.每个里程碑的标准在系统设计时已经定义好.
结束语
项目管理在软件中的应用 篇3
摘要:随着信息产业的飞速发展,项目管理对于以应用开发为主的软件企业是一个行之有效的管理方法,项目管理在软件开发中的应用日益受到重视。本文主要通过对项目管理在软件开发中的应用的成因、存在的问题以及相应的解决方案进行了分析和论述。
关键词:项目管理软件开发
0引言
如果用两个字概括当前社会的特点,那就是“变化”,而这种变化在信息产业中体现得尤为突出,技术创新速度越来越快,用户需求与市场不断变化,人员流动也大大加快。在这种环境下,企业需要应对的变化以及由此带来的挑战大大增加,也给管理带来了很多问题和挑战。软件行业是一个极具挑战性和创造性的新行业,管理上没有成熟的经验可供借鉴。而项目管理应该说对于软件企业,尤其是那些以应用开发为主的软件企业,是行之有效的管理方法。因此,项目管理在软件开发中的应用日益受到重视。
1项目管理的概念和意义
项目管理是在一定的约束条件下,以高效率地实现项目业主的目标为目的,以项且经理个人负责制为基础和以项目为独立实体进行经济核算,并按照项目内在的逻辑规律进行有效的计划、组织、协调、控制的系统管理活动。没有项目管理,项目也有可能成功。但没有管理的项目,很难保证项目的利润空间,对公司来说,亏损的风险就大。所以我们要有项目管理,以保证公司在总体上是盈利的,注意不是每一个项目都要盈利。
另外,有了项目管理,就有了管理改进的基础,无论刚开始的项目管理多么糟糕,只要有管理,就有了改进的可能性,至于能不能得到改进,以及改进的快慢,则取决于两个因素:一个是人,特别是各级管理者:另一个是利益。关键是“利益”,准确的说是“利益的分配”,在权责利明确的前提下,人才能充分的发挥作用。
2项目管理在软件开发中的应用的现状及成因
随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。早在20世纪60年代中期,人们就发现软件的生产出现了“问题”,主要表现在生产过程不规范,缺乏管理。但是直至80年代还是没有提出一套管理软件开发的通用原则,软件管理不善的问题依旧在大范围内存在。目前的软件开发正逐步趋向于复杂化、多元化,大多数开发团队中都会出现同时开发多个版本、开发/维护工作并存、多地点同时开发等情况,给软件开发管理带来了前所未有的困难。如果管理不善,必将造成版本混乱,各个开发人员的工作相互交叉、干扰,整个开发团队的工作在一种无秩序的不良状况下运行,严重影响软件产品开发的进度和质量。
因此,随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软件开发过程中,应用开发的项目管理日益受到重视。而项目管理技术的发展与计算机技术的发展是密不可分的,随着计算机性能的迅速提高,大量的项目管理软件涌现出来。它们可以用于各种商业活动,提供便于操作的图形界面,帮助用户制定任务、管理资源、进行成本预算、跟踪项目进度等。
3软件项目管理常见问题及解决方案
对于软件开发项目中,经常出现两种极端情况,一种是创造了新的生产率和质量的纪录:一种则完全是一场灾难,不是被取消就是拖延很长时间。分析目前项目管理需要改进的问题可以从几种相关角色的角度去考虑:项目经理、项目组成员、公司管理人员、市场人员、客户等。
3.1缺乏项目管理系统培训(相关对象:项目经理、管理人员)。项目经理在项目管理方面的培训较少或不够系统。项目经理或管理人员不了解项目管理的知识体系和一些常用工具和方法,所以在实际工作中没有项目管理知识的指导,完全依靠个人的知识技能,管理工作的随意性、盲目性较大。
解决方案:项目经理要接受系统的项目管理知识培训,有了专业领域的知识与实践,加上项目管理知识与实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。实行项目经理知识技能资格考核制度,让项目经理自觉补充学习项目管理的知识和一些常用工具和方法。
3.2项目计划与管理意识问题(相关对象:项目经理)。部分项目经理没有意识到自己项目经理的角色,从总体上去把握管理整个项目,而是埋头于具体的技术工作,造成项目组成员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。有些项目经理对于一些不服管理的技术人员,没有较好的管理方法,工作不好安排的工作只好自己做。另外由于工作分解结构设计的合理性,项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。
解决方案:加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前,最好能经过系统的项目管理知识,特别是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。
3.3风险管理意识问题(相关人员,项目经理)。项目经理没有充分分析可能的风险,对付风险的策略考虑比较简单。项目经理在做项目规划时常常没有做专门的风险管理计划文档,而是合并在项目计划书中。有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,对于后面的风险防范起不到什么指导作用。
解决方案:通过学习项目管理知识掌握风险识别、量化、对策研究、反应控制的工具和方法掌握项目风险管理所必备的知识。加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其对策作为风险管理计划中必要的风险内容,并切实评估相应对策的有效性和可行性。
3.4项目干系人相关问题(相关人员:项目经理、项目成员、客户)。在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、工作职责等没有足够了解以致于无法得到完整需求或最终经权威用户代表确认的需求。由于项目经理的工作问题,客户参与程度部不高,客户方相关责任人不明确或对范围和要求责任心不强,提出的要求具有随意性,项目前期对需求的确认不够积极;或者是多个用户代表各说各话、昨是今非但同时又要求项目尽早交付;项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩大。
解决方案:项目的目的就是实现项目干系人的需求和愿望。项目干系人管理应当从项目的启动开始,项目经理及其项目成员就要分清项目干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。
3.5项目团队内分工协作问题(相关人员,项目经理、项目成员)。项目团队内部有时由于各阶段不同角色或同阶段不同角色之间的责任分工不够清晰而造成工作互相推诿、责任互相推卸的现象,有时各阶段不同角色或同阶段不同角色之间的责任分工比较清晰但是各项目成员只顾完成自己那部分任务、不愿意与他人协作。这些现象或多或少地造成了项目团队内部资源的损耗,从而影响了项目的进展。
解决方案:项目经理应当对项目成员的责任进行合理的分配并清楚地说明,同时应强调不同分工、不同环节的成员应当相互协作,共同完善。
以上对软件开发项目管理中出现的问题的分析还不够深入,也无法列举所有遇到或将遇到的问题,解决方案也要根据实际情况进行调整,希望引起对这些问题更多的思考和改进。
4结束语
关于软件项目管理的未来 篇4
软件项目管理在IT行业的一个富有创新意义的领域, 是针对特定的项目需求, 以团队运作的形式, 有效地组织项目资源, 通过对项目的管理和控制, 实现项目的目标。在我国IT行业起步较晚, 但发展迅速, 项目管理在IT行业的应用还很不成熟, 一般的、常规的组织管理方式已很难适应, 这是软件开发中项目管理面临的最大挑战。
因此, 在对未来的项目管理中, 第一, 要加强认识和重视。项目经理或管理人员要更加了解项目管理的知识体系, 在实际工作中要具备项目管理知识的指导, 不以完全依靠个人现有的知识技能, 管理工作不能随意性、太盲目性。在软件企业中, 项目经理主要是因为他们能够在技术上独当一面, 而管理方面特别是项目管理方面的知识比较缺乏。希望尽快推行和实施软件项目经理知识技能资格制度, 各方面都能充分认识项目管理的重要性, 让项目经理自觉学习项目管理的知识和一些常用工具和方法;第二, 要加强对项目的系统性把握。在软件企业一些项目管理人员对项目总体计划、阶段计划的作用认识不足。项目经理认为计划不如变化快, 项目中也有很多不确定的因素, 做计划是走过场, 因此制定总体计划时比较随意, 造成计划与控制管理脱节, 无法进行有效的进度控制管理。其实制定计划的过程就是一个对项目逐渐了解掌握的过程, 通过认真地制定计划, 项目管理人员可以知道哪些要素是明确和重要的, 哪些要素是要逐渐明确和次要的, 通过渐近明细不断完善项目计划;第三, 作为未来的软件项目, 要考虑软件产品质量, 在考虑如何提高产品质量前, 我们需要明白什么是产品的质量, 对于很多从事软件开发或者互联网开发的工程师或者项目经理来说, 第一反应估计应该是:“产品的质量就是产品的缺陷率“。这也无可厚非, 这帮哥们都让绩效考核、KPI跟折腾的。其实真正的产品质量应该和用户满意度画上等号。考量一个产品是否满足质量要求应该就是考量的一个产品是否满足用户的要求, 当然这里的用户是一个逻辑的概念, 指产品的典型目标用户。
所以要提高产品质量就是要提高产品的用户满意度, 也是未来软件项目管理的一个重要因素。这是一个系统的工程, 涵盖了产品设计, 产品开发的所有阶段和方方面面。所以应该从对软件本身的质量来进行讨论。
首先, 软件的质量是规划出来的, 而不是测试出来, 个人认为, 项目的计划阶段已经决定了软件的质量。很多项目人员和项目经理一直对做软件的开发计划异常的不理解, 认为在软件的过程种各种风险发生的可能太大, 计划永远都跟不上变化。而我认为, 这里的软件开发计划并不仅仅是一个时间计划。而是让项目经历在计划的过程种综合考虑项目的实施的各个方面, 包括范围, 进度, 质量, 风险等, 从而形成一份包括进度计划, 质量保证计划和风险计划的项目管理计划。在这里根据项目的情况, 这些计划可以不以书面的形式来进行体现。然而项目经理一定要经过充分的思考和规划。
为保证软件产品的质量, 项目经理在这个阶段要考虑的因素包括但不限于如下各个方面:
1.定义项目的质量目标, 这些指标包括功能指标, 性能指标等等。项目也可以根据公司的情况为各个研发活动定义质量目标。比如设计阶段的Bug检出率等等。质量目标是基于, 质量保证活动都要依据目标进行建设。
2.项目采用的软件开发流程。采用什么样的流程取决了公司的标准流程和裁剪规范以及软件项目的难以程度。在这个研发活动中项目经理需要根据自己的经验判断项目需要的质量保证过程。比如是否需要引入单元测试, 是否需要测试用例等等。
3.项目的三要素的平衡, 我们之前说过, 产品的质量=产品的用户满意度。所以对不同的产品用户的满意度是不同的, 比如电信产品的质量要求和互联网产品的质量要求是不同的, 项目经理需要能够根据产品的用户满意素来决定在项目的三要素之间来进行平衡。
4.项目的质量保证计划, 这个研发活动应该是SQA的职责, 但是很多企业都没有设立这个职位, 在没有这个职位的时候, 默认应该由项目经理来承担这个职责。项目经理要根据之前定义的项目目标来定义质量保证活动和质量保证计划。项目质量保证计划需要依据项目定义的软件开发流程, 是对软件开发流程种质量活动的更详细的定义。
不管你采用的CMM还是敏捷的软件开发, 以上活动都需要进行, 只不过进行的复杂程度和研发活动的交付不同罢了, 最基本的要求是项目经理要在自己的脑子里面考虑过以上事情。
从管理上来说“软件的质量是规划出来的, 而不是测试出来”讲的是流程。决定软件产品质量的另外一个关键要素是人。这里的人包括了技能这个要素。在网络上关于CMM和敏捷开发的讨论层出不穷, 基于我对它们的极端的理解。CMM强调的是流程。流程为王。而敏捷开发更多的是强调人的作用。当然这是一个极端的理解, 它们的区别主要体现在侧重点的不同上。
其次产品是人做到的, 所以产品的质量完全取决于产品的开发人员。
然而对人的管理是一门艺术, 要远复杂与一切流程和规范。所以这部分技巧的整理是一个难题, 有点只可意会不可言传的味道。所以, 具体应该从如下角度出发:
(1) 建立团队文化
建立团队文化非常的重要, 因为重要所以也比较难以建立。你要提高产品的质量, 首先要在您的团队里面建立一种负责任的团队文化, 这只是其中一点, 也是最重要的一点。
(2) 提高团队的技能, 建立学习型组织
培养下属永远是一个Leader的主要职责, 您需要通过努力把您的团队内建设成为一个学习型的组织, 进而形成进取的团队文化。
总之, 如果您要提高您的产品质量, 您可以从两方面下手, 第一、建立一套合适的产品开发体系, 可以参考IPD。第二、进行团队建设, 建立高效能的团队。
参考文献
[1]朱利娜, 周宁.软件项目管理的思考[J].平原大学学报, 2007, (02) .
[3]杨智明.软件项目管理过程[J].科教文汇 (下半月) , 2006, (09) .
[4]陆伟.软件项目管理及其在中小规模开发中的实施[J].电脑知识与技术, 2005, (08) .
[5]郭国印, 张秀伟, 赵政文.软件项目管理技术分析研究[J].微处理机, 2007, (05) .
[6]周慧.论软件项目管理[J].现代电子技术, 2003, (18) .
[7]窦燕.影响软件项目管理关键因素的探讨[J].燕山大学学报, 2004, (04) .
软件项目的绩效考核 篇5
一、绩效工资各中角色所占比例:
研发人员:绩效部分占 10% ;项目经理:绩效部分占 20% ;部门经理:绩效部分占 30% ;
按月进行绩效考核,绩效达标的发全额绩效工资,不达标的按照比例扣减绩效工资。
如果部门经理兼了项目经理,那么应该按照什么比例来算绩效工资?需考虑因素:
如果兼了项目经理或技术经理等与项目相关的浮动岗位,实事上增加了员工工作量,相应地,应该增加 “ 浮动 ”
岗位应享受的津贴;并承担相应的风险(但风险比例如何确定?)
如果兼的只是普通角色,则根据兼角色两个的主从关系,工作量比例,多个工作角色考核指
标分别计算,并乘以一个百分比系数并相加,获得其最终的考核得分。
二、以项目经理的视角考虑,实施绩效制度的风险:
项目经理是一个处在甲方与公司之间的一个衔接点,要想严格控制成本,使项目利润最大化,必须在与甲方沟通时,严格控制甲方的需求边界,这样做不可避免地会造成与甲方关系紧张,而有时,公司为了长远或产品化考虑,也会答应甲方增加功能的要求,这样,就会必然增加
项目的成本。而影响到项目经理的绩效考核。
如果因为这种问题降低了项目经理个人的绩效工资部分,那么时间长了项目经理就会认为自
己承担了巨大的压力,反而少拿了工资,逐步造成项目经理感觉不平衡,无法安心工作。这 也不是公司所希望发生的。、真正落实项目奖金制度;
让项目经理从长远考虑,让其认识到承受短期的项目压力,短暂的收入降低,最终会获得更
高的收入;具体奖金比例及分配制度可另行说明。、考核指标多样化,多角度反映项目经理工作的成效
很多项目,其延期原因是多方面的,是项目经理所不可控的。但是,项目经理在项目延期时,应该在其他方面发挥其作用。比如在团队建设上,在技术储备上,在项目产品化上。
三、关于项目奖金的设置:
项目奖金为项目利润的 8%,项目奖金分配原则:项目经理 75%,部门经理 25% ;
其中项目利润指:项目合同金额
-开发成本(工资 + 保险 + 补助 + 人头费 + 差旅)
以项目金额 100 万为例,项目开发从需求到部署,人员成本控制在 50 万,则项目奖金为 50*8%=4 万元。项目经理可获得 3 万元奖金,部门经理为 1 万元。
奖金来源于公司的利润:
减去 6% 的税金
= 6 万;
减去销售费用,按 10% 计算
= 10 万元;
管理费按 5 万元计算;
这样,公司利润为: 100410-5 = 25 万元 ; 减去 2 年维护费用(按北京标准 2 年):合同金额的 15% = 15 万;
维护完成,公司利润: 10 万元 ;
软件项目的项目管理 篇6
关键词 软件项目;成本管理;问题;对策
中图分类号:F715.53 文件标识码:A 文章编号:1671-489X(2007)12-0068-03
Study on Problems and Measures of Software Project Cost Management//Cai Xuebing
Abstract Combining the real-life situation, this thesis analyses the problems exist in software project management, put forward proper countermeasures to those problems, which aims to improve the management of project in software enterprises according to their own feature.
Key words Software project;Cost management;Problem;Countermeasure
Author’s address School of Economics & Management, Guangdong University of Technology, Guangzhou 510006
软件企业是我国高新技术产业的重要组成部分,软件项目管理和成本控制已经成为软件企业积蓄财力,增强竞争力的核心手段。软件项目成本管理就是根据企业的情况和项目的具体要求,利用公司既定的资源,在保证项目的进度、质量达到客户满意的情况下,对软件项目成本进行有效地组织、实施、控制、跟踪、分析和考核等一系列管理活动,最大限度地降低项目成本,提高项目利润,实现客户、公司、员工三赢,获得更稳定的客户群、更多的公司利润和更稳定的项目队伍。但是,当前国内软件企业在项目成本管理方面比较薄弱,项目经常出现有订单无利润、客户不满意、员工有怨言等现象。本文针对软件项目成本管理过程中存在的问题进行分析和探讨,并提出相应的对策。
1 软件项目成本管理中存在的主要问题
1.1 项目人员经济观念不强,公司缺乏一套行之有效的成本管理体制
目前,我国软件项目人员大多具有软件开发专业技术背景,但是普遍缺乏经济观念,成本意识淡薄,特别是项目不单独核算的企业,项目经理职能更偏重于技术而非管理,简单地将项目成本管理的责任归于财务部门。同时,软件公司通常缺乏行之有效的成本控制和激励体制。很多只是简单的规章制度,至于由谁做、何时做、做到什么程度都没有提及,实际运作起来难度很大。在项目内部,每个成员只从自己的职责角度考虑,项目成本居高不下。如何由“人治”过渡到“法治”,建立一套体制,在项目成本管理中非常重要。另外,项目人员常常在接到软件项目时没有认真做好项目的需求分析,没有认真了解客户的真正需求,为了把项目拿下来,口头上统统答应客户的要求,并没有在合同里把条款细化、量化。而往往客户的需求也是停留在比较笼统的概念上,很难明确化,实际操作起来时,项目不能满足客户的要求,客户就会不断提出新的要求,这时候要更改项目就必须付出很高的代价。例如国寿广州公司委托某软件公司开发代理人综合管理系统时,在项目的需求分析中,国寿信息部只提出相对笼统的概念,软件公司为了尽快拿到此项目,就全部答应,在合同里也没有细化条款。结果在系统做出来以后,总是难以全部满足最初需求,以致项目一再变更,软件公司为此付出很大的代价。
1.2 项目的过程编制薄弱
一些项目成本预算和估算的准确度差,失去控制标准。在项目管理中,相关的管理部门通常要求项目经理做出项目的估算或预算,并以此为标准,进行项目的控制和考核。但在实际工作中,由于项目具有一次性和不确定性的特点,以及项目经理自身的经验和水平的限制,使项目估算或预算的准确性很差,一有变化,项目经理就追加项目预算。预算频频变更,最终失去了项目的控制标准,成本控制也流于形式。等到项目结束时,实际成本和初始计划已经大相径庭。
一些项目缺乏成本绩效的分析和跟踪,缺乏将成本数据和工作量联系的对比数据。项目成本管理中,通常将预算和实际数值进行对比,没有将预算、实际成本和工作量、进度联系起来,考虑实际成本和工作量是否匹配、价值成本等问题。例如一个项目成本花费到总预算的1/3,而进度却是预计进度的1/4,工作量是总工作量的 1/5,这就说明项目成本控制存在问题。如果不采取措施,照此下去,项目一定会超出预算。
1.3 缺乏质量成本、工期成本、资金成本、风险成本的管理和控制
质量成本是指为保证和提高软件质量而发生的一切必要费用,以及因未达到质量标准而蒙受的经济损失。质量成本分为内部故障成本(如返工、停工等引起的费用)、外部故障成本(如保修、索赔等引起的费用)、质量预防费用和质量检验费用等4类。保证质量往往会引起成本的变化,但不能因此把质量与成本对立起来。长期以来,我国软件企业未能充分认识到质量和成本之间的辩证统一关系,习惯于强调软件质量,而对项目成本关心不够,造成质量虽然有了较大提高,但增加了提高质量所付出的质量成本,使经济效益不理想,企业资本积累不足。相反,一些项目经理片面追求经济效益而忽视质量,虽然就单个项目而言,利润指数可能提高,但是因质量标准而付出的额外质量成本,既会增加成本支出,又会对企业信誉造成很坏的影响。
工期成本是指为实现项目工期目标而采取相应措施所发生的一切费用。工期目标是项目管理3大主要目标之一,软件企业能否实现合同工期往往会引起成本的变化。我国软件企业常对工期成本的重视不够,虽然对项目工期有明确的要求,但对工期与成本的关系很少进行深入研究,普遍认为越早越好,有时会盲目地赶工期要进度,造成项目成本的额外增加。
资金成本是指资金的一切费用。由于公司一般项目都是由公司提供资金支持的,因此每个软件项目很少考虑现金流的状况,以及项目投入给公司带来的资金压力和项目本身的资金成本。在以项目为主的软件企业中,项目收入是公司资金流入的主要来源,项目的支出也是公司资金流出的主要内容,所有项目的资金流扣除期间费用后就是公司的资金流。因此,项目的资金流对公司的资金会产生重大的影响。现金流是公司的血脉,特别是对于中小软件公司,如果项目的资金流出现问题,可能会导致公司经营的瘫痪和夭折。
风险成本是指项目的不确定因素导致的项目风险。在项目成本管理中,很少考虑项目风险和潜在的风险成本,而风险一旦出现,会对项目的成本造成巨大的冲击。
2 软件项目成本管理中存在的问题的对策分析
2.1 树立全员经营意识,建立规范的成本管理体制
软件企业必须加大对从项目管理人员到普通员工的经营教育,强化经营意识。根据公司和项目本身的特点,制定有针对性的项目成本管理办法和流程。这些管理办法应该是责任到人、切实可行的具有较强操作性的办法,使项目的成本控制有法可依、有章可循、有据可查。每个项目都要有成本控制的目标——项目预算,都要严格做WBS(工作任务分解),在落实任务的同时,也要落实完成任务所需要的成本预算,并且逐级负责,层层落实。项目经理是项目成本管理的领导,这就形成一个以项目经理为核心的成本管理体系。同时用一定物质奖励去刺激,使每个人的工作、成本和项目的效益挂钩,彻底打破过去那种干好干坏一个样,干多干少一个样的格局,调动职工的积极性和主动性,使大家共同为项目的成本管理献计献策。另外,要做好项目的需求分析,真正了解客户的需求,尽量把客户的每一条要求量化、细化,并明确写入合同,避免以后因客户不断提出新的要求而增加项目成本。
2.2 加强项目过程管理和监控
要进行有效的项目成本估算和预算。项目预算是项目分配资源的计划,也是控制的标准,在项目成本管理中具有重要作用。成本估算和预算是对完成项目各项任务所需要的资源成本的近似估算。在实际工作中通常有3种成本估算方法:(1)自上而下估算。项目经理利用以前类似的项目的实际成本作为基本依据,通过经验做出判断项目整体成本和各个子任务的成本预算。此方法通常在项目的初期或信息不足时进行,需要项目经理有较高的水平和经验。(2)自下而上估算。将项目任务分解到最小单位——工作包,对项目工作包进行详细的成本估算,通过各个成本汇总将结果累加起来得出项目总成本。由于项目相关人员都参与项目的预算,这种方法最为准确,同时避免预算争议,但是耗用的管理成本会相应增加。(3)参数估算。这是一种建模统计技术,如回归分析和学习曲线。此方法需要数据的积累,根据同类项目的管理状况和成本数据,建立模型,在遇到同类项目时可以直接套用。
此3种方式可以根据公司的实际情况和项目的特点使用一种或同时使用。有效的成本估算和预算涉及到各方面的通力合作,需要项目人员进行有效的沟通。另外,即使最好的专家也不可能使预算和实际成本完全一致,因此项目应该预留一定的不可预见成本5%-10%,作为应急项目成本。
2.3 从质量成本、工期成本、资金成本、风险成本管理上要效益
质量成本管理的目标是使4类质量成本的综合达到最低值。一般来说,质量预防费用起初较低,随着质量要求的提高会逐渐增加,当质量达到一定水平再要求提高时,该项费用就会急剧上升。质量检验费用较为稳定,不过随着质量的提高也会有一定程度的增长。而质量损失则不然,开始时因质量较差,损失很大,随着产品质量不断改进,该项损失逐步减少。因此,必须找到一个质量成本最低的点。正确处理质量成本中几个方面的相互关系,即质量损失(内、外部故障损失)、预防费用和检验费用间的相互关系,采用科学合理、先进实用的技术措施,在确保质量达到设计要求水平的前提下,尽可能降低软件项目成本。同时,不能单纯为了提高企业信誉和市场竞争力而出现质量过剩的现象,导致出现完成工作量不少,经济效益低下的被动局面。
工期成本管理的目标是正确处理工期与成本的关系,使工期成本的总和达到最低值。工期成本表现在2个方面,一方面是项目经理为了保证工期而采取的措施费用;另一方面是因为工期拖延而导致的业主索赔成本,这种情况可能是由于外部因素引起的,也可能是内部因素所造成的,如停工、窝工、返工等,因此所引起的工期费用,可称为工期损失。一般来说,工期越短,工期措施成本越小;但当工期缩短至一定限度时,工期措施成本就会急剧上升。而工期损失则不然,因外部因素引起的工期损失,其损失额度相应较小,通常情况下不予赔偿或赔偿额度较小,该部分工期损失可不予考虑;因项目内部因素造成的工期损失,随着时间的推移、经验的积累会逐渐减少。综合工期成本的各种因素,就会找到一个工期成本为最低的理想点,这一点也就是工期最短并且成本最低的最优点。由于外部环境条件及合同条件的制约,保证合同工期和降低成本是一个十分艰巨的任务,因此必须正确处理工期成本的2个方面的相互关系。在确保工期达到合同条件的前提下,尽可能降低工期成本,切不可为了提高企业信誉和市场竞争力,盲目抢工期赶进度,增大项目成本,导致项目亏损。
对于项目现金流的控制,可通过项目的财务现金流分析,判断项目资金收支的时间、资金亏口的时间,便于提前准备资金。同时积极从客户方催款,以便支付各种费用,使得现金的流入大于流出。产品投资项目可采用投资回收期、净现金流来控制。
通过主动的风险控制,防患未然,避免和减少损失。根据拟建软件项目的具体情况,有选择性地进行经济模型盈亏平衡分析、敏感性分析和概率分析、合同控制等。软件项目的各种经济活动,都是以合同或协议的形式出现。如果合同条款不严谨,容易留下漏洞,造成己方蒙受损失时应有的索赔条款不能成立,产生不必要的损失。所以必须细致周密地订立严谨的合同条款。首先,要有相对固定的经济合同管理人员,并且精通经济合同法规有关知识,必要时应持证上岗;其次,要加强经济合同管理人员的工作责任心;三是要制定相对固定的合同标准格式。项目合同基本上有以下几类:软件开发合同、技术服务合同、采购合同、分包合同、劳务合同等。各种合同条款在形成之前应由业务部门参与定稿,使各项条款的内涵清楚,严谨不漏。
3 总结
论软件项目的质量管理 篇7
1. 高素质软件人才战略
影响软件项目质量的因素主要是“人、过程、技术”。首先要明确的是这三个因素中, 人是第一位的。我始终认识到软件行业中人才的重要性以及人才在软件质量的重要作用, 特别是领头人的作用。一个项目的主管、开发经理、实施经理对项目的把控水平、相互之间的沟通、协调、配合, 以及项目中其它人员之间的合作, 是项目质量保证的关键。为此要充分调动项目成员的积极性、主动性, 激发其工作热情和责任感。除了采用目标激励、信任激励、职务激励等精神激励外, 还要采取相应的物质激励手段, 人事部门应制定比较公平、公正、有效率的薪金激励体系。由于软件开发行业的特殊性, 还应十分重视人员素质提高与技术学习和交流, 积极提倡和鼓励人员参与软考和各类认证考试以及职称评审, 这样可以在公司内形成了十分良好的积极进取向上的科研与学习气氛, 有效地提高各成员业务水平。
2. 项目研发各阶段的质量确保
a、需求分析
需求分析是研发人员对系统需要做什么和怎样做的定义过程。从系统分析的经验来看, 这个过程往往是个循序渐进的过程, 一次性对系统形成完整的认识是非常困难的。只有不断地和客户领域专家进行交流确认, 方能逐步明了用户的需求。从系统研发的过程得知, 系统分析时犯下的错误, 会在接下来的阶段被成倍的放大, 越是在研发的后期, 纠正分析时犯下的错误所花费的代价越是昂贵, 也越发影响系统的工期和系统的质量。所以需求分析一定要做好、做细, 确保需求分析的准确性, 并做好需求变更风险评估与需求变更记录。
b、系统设计
优良的体系结构应当具备可扩展性和可配置性, 而好的体系结构则需要好的设计方法, 自然设计选型成为了系统设计首要的工作, 究竟是采用哪种设计方法好呢?
对于设计选型不能一概而论, 需要针对项目的结构、项目的特征和用户的需求来分析, 同样也要考虑到参与项目小组成员的素质。除设计选型, 更有一个容易被忽视的问题, 就是公共类研发。公共类研发不仅能够减少工作中的重复工作, 降低研发成本, 更重要是可以使程序结构更加科学, 软件质量提高。这需要我们在设计阶段通过对用户需求的仔细研究, 尽可能的识别出公共类, 并进行定义, 指定专人负责设计, 通知其他设计人员, 以减少重复工作, 保证软件质量。
c、实现
实现也就是代码的生产过程。这里不但包括代码的产生, 同时也包括测试用例的产生。针对上一阶段提供周详设计, 程式员开始编码并且调试程式。好的编程习惯是程序代码质量的保证。程序员在编写代码时, 要思路清晰, 认真负责, 好的程序是高内聚、低耦合, 同时也是条理分明, 结构科学的, 同时程式员调试完程式, 提交测试人员进行程式正确性检测。同时在对测试出现的问题进行修改时, 要考虑周详。曾经有一个项目, 程序员在修改问题时, 一不小心, 改错了, 不仅原来问题没解决, 反而引起更多其它问题, 造成一时不小的混乱。
d、文档管理
保存适度的文档, 使其真正为项目的质量提供保证。详细、准确的文档, 不仅可以记录软件项目开发过程中一些重要事件, 同时, 当发生人员变动时, 仍可保证软件项目按原定计划保质保量进行, 减少对人员的的依赖性。
3. 加强测试
为了提高软件质量, 要十分重视测试工作。通常情况下测试能够分为如下几种类型, 如:正确性测试、功能性测试、性能测试、安全测试和系统测试等。测试是程序进行正常运行之前的最后一道关口, 一定要把好此关, 充分、详细地做好各类测试, 以免正式运行后, 发现太多问题, 引起用户的反感, 从而引发信任危机, 阻碍项目的有序推进。
当然测试不可能发现所有潜在的问题, 一些小的功能或操作方面的问题在使用过程中一段时间会出现, 这是不可避免的, 需要向使用人员事先进行说明, 但是大的功能性问题不应该进行正式运行阶段。
加强软件质量管理的做法还有很多, 对其中的一些细节本文也不再讨论。当然, 质量管理的内容与做法也要与时俱进, 要针对不同的项目采取不同的最适合本项目的方法, 以便取得最好的效果。
摘要:本文列举了各种影响软件项目质量的因素, 详细分析了其对质量影响的程度, 着重指出在各种因素中人是第一位的, 并进一步说明质量管理的内容与做法也要与时俱进, 要针对不同的项目采取不同的最适合本项目的方法。
关键词:质量,需求,设计,测试
参考文献
[1]《IT执行力---IT项目管理实践》作者:刘慧, 陈虔等编著, 电子工业出版社出版.
软件企业项目的质量管理 篇8
1. 代码质量
编码质量是应用软件的高性能运行的关键, 主要指代码编写不规范或者程序不合理。例如类方法, 类变量, 类名称等命名的不规范;项目工程结构, 包结构的不合理, 代码注释过少, 没有异常情况处理等这些问题会对后期维护工作增加难度, 甚至发生异常时程序会中断, 而且一旦有人员变化也给交接工作也带来困难。所以我们应该重视编码质量。
2. 系统性能
系统需达到稳定高效实用、数据更新及时方便、数据调用快捷准确、操作维护简便、数据组织合理、可扩展性和兼容性良好的目标。由于对编码质量的忽视往往在系统上线之后进入正式的运行环境表现出死机, 内存溢出, 响应速度很慢等问题, 也常常引起客户的抱怨。
3. 功能性质量
功能性质量是衡量是否与用户需求相匹配的程度, 如果有用户所需必要功能并没有完成, 那么用户也不会满意。它主要表现在系统设计与原始需求有出入, 在沟通过程中由于双方理解不一致造成系统开发完成之后与客户需求偏差较大, 系统不能满足客户日常使用的需要, 有的甚至是客户明确提出过但在实际开发过程中由于技术难度问题没有实现, 种种原因的后果可能都会造成客户对系统不满意甚至于影响项目尾款的顺利结算。
二、对项目质量管理中产生问题的有效措施
1. 制定合理的计划
(1) 质量管理计划针对具体的项目, 一般由PPQA人员针对所负责的项目制定质量计划, 包括过程活动质量检查计划、参与技术评审的计划、参与产品测试的计划等。质量计划的目的是确保项目的质量目标都能达到。根据ISO9001要求为实现质量目标, 应遵循以顾客为中心、领导作用、全员参与、过程方法、管理的系统方法、持续改进、基于事实的决策方法、互利的供方关系等8项质量管理原则。
(2) 项目计划编制过程, 项目计划是项目管理的基础, 计划的制订与跟踪是贯穿于项目生命周期中持续不断的工作。在项目计划的编制过程中, 按照公司的计划管理过程域的要求, 与项目组的PPQA人员共同针对本项目的实际情况, 对组织级的项目定义过程进行了必要的裁减, 形成本项目的已定义过程, 将项目的整体过程分为项目管理、工程过程、支持过程三大类, 其中每一大类又包含若干具体的过程, 按照项目的各个已定义过程, 同时参照历史项目经验数据, 我组织了专家组对项目各个过程的规模、工作量、成本、工期、资源等进行了估算, 在估算数据的基础上编制了科学、合理、周密的项目总体计划与项目进度表。在项目总体计划中, 对项目目标、项目范围、项目组织、项目监控等措施进行了明确, 并定义了各里程碑的完成时间点以及主要的交付物。项目计划初稿完成后, 我提交计划评审申请至公司项目管理部, 由其组织高层经理、项目经理、客户代表、项目成员以及其它所有受影响的项目干系人共同正式评审计划, 并在评审通过后由高层经理对该计划进行了批准, 使所制订的项目计划获取所有各方的正式承诺, 并纳入计划基线的管理。
2. 加强项目执行
此阶段主要的工作是要按照预先制定的项目计划, 利用项目团队组织机构和工作程序, 领导项目团队开展各项工作, 管理和协调各利益相关者的关系, 成功地将项目计划投入实施。在项目管理中, 制定出一个科学、合理的项目计划, 只是为项目的科学管理提供了可靠的前提和依据, 但并不等于项目的管理就不再存在问题。在项目实施过程中, 由于外部环境和条件的变化, 往往会造成实际情况与项目计划发生偏差, 如不能及时发现这些偏差并加以纠正, 项目管理目标的实现就一定会受到影响。所以, 必须实行项目计划控制。我在实施过程中对实施情况不断进行跟踪检查, 收集有关实际项目的信息, 比较和分析实际的项目进度、成本、质量与计划存在的偏差, 找出偏差产生的原因和解决办法, 确定调整措施后再予以实施。
3. 加强软件项目的测试
(1) 软件测试的重要性
在系统开发完成之后, 怎样检验一个系统的可靠性, 怎样保证系统运行的稳定性, 怎样保证系统能够满足用户的真正需求等等这些都需要经过软件测试来验证, 我公司也有软件测试执行标准, 测试计划、测试用例等由软件测试人员编写, 编写完成后组织相关人员进行评审, 评审通过后才进行测试, 确保了测试的规范性和正确性。软件测试是软件开发过程中的一个重要环节, 软件测试贯穿与系统开发过程的每一个阶段。软件测试所起到的作用是——能够确保在软件开发过程中, 能够及时发现问题, 方便开发人员及时修改和调整。只有加强软件测试才能保证系统更稳定, 更符合用户需求。
(2) 软件测试的方法
为了提高软件质量, 要十分重视软件的测试工作, 成立了专业的测试小组, 编写测试计划、准备测试用例。开发人员在开发完成每个模块后都要严格的进行单元测试, 严格根据程序内部结构进行, 测试完成后形成单元测试报告。系统开发完成后需要联合各个模块进行联调, 负责各自模块的人分别测试对方的系统功能, 测试完成后形成集成测试报告。最后需要搭建模拟真实环境, 进行系统测试, 在这个环节中需要严格模拟实际情况, 包括性能的测试, 模拟实际的用户数同时访问系统, 检查系统稳定性与相关性能指标, 测试完成后形成系统测试报告, 交有项目管理委员会评审, 评审通过后开始部署上线工作。
4. 强化人员培训
(1) 业务需求培训
在项目开发启动之前项目经理要给项目组内各个成员讲解系统需求、要实现的功能, 以及应该达到的质量目标, 项目工期, 各自的任务分配, 担当的职责角色。只有当业务需求培训完成后才能顺利的开展下一步工作, 虽然浪费了一些时间但是会使后期的项目开发过程进展的更顺利。业务需求培训是很关键的, 只有项目组成员都熟悉了客户需求, 才能保障系统开发的成功。
(2) 技能培训
经验欠缺的开发人员缺少丰富的软件的开发知识, 在实际开发过程中不知道如何进行系统性能优化, 不清楚如何做到简洁的代码实现完整的功能。在开发过程中应该由项目组长或者架构师来给项目成员培训系统的整体架构与相关技术, 比如当前流行的J2EE架构, 还包括具体的实现技术。
三、结论
我们的软件企业应该积极的学习先进国家的管理理念与技术, 以项目管理为基础, 以质量管理为核心, 着重抓好项目计划制定与实施、软件测试、人员培训等方面的措施, 将项目质量管理体系尽早落实到实际的管理工作当中。
摘要:本文以某某科技股份有限公司以及当前软件企业所面临的主要问题为研究对象, 从项目管理理论和软件开发过程两个角度来探讨我国软件企业发展状况和与存在的问题, 利用理论联系实际的方法对当前软件企业普遍存在的问题进行分析与研究并提出有效的解决方案。
关键词:项目管理,项目质量管理,项目计划
参考文献
软件项目管理中的需求管理 篇9
关键词:软件项目,需求管理
计算机包括了硬件、软件, 而计算机的顺利运作离不开软件这个重要因素, 由此可以看出相关的软件工作人员对软件展开设计、开发以及管理的工作, 是非常重要的。然而, 在软件的整个项目中, 软件需求更是重中之重, 既是广大用户与软件工作人员的直接桥梁, 又是展开软件设计、开发以及管理的基础前提。只有根据广大用户的需求、思想来实现软件项目的设计、开发以及管理, 才能够获得成功, 也才能够保持持续的发展。
一、软件需求管理
(一) 软件需求管理的目标、原则
对软件需求实施管理, 能够直接地从本质上确保软件开发的实用价值, 进而增强软件开发完成后的成功率。然而, 软件需求的管理, 并不仅仅只是采纳广大用户的意见、建议, 而是一项比较系统的工作, 在运作的过程中有着其自身的目标以及原则。软件需求管理的原则:第一, 软件需求必须划分优先级;第二, 软件需求必须展开分类的管理;第三, 对软件需求的管理工作必须与所有的软件需求活动紧密的结合在一起;第四, 在运作的过程中如果软件需求发生了改变, 应该及时的根据改变所造成的影响展开评估活动;第五, 软件需求的所有信息, 都应该实施文档化。软件需求管理的目标:尽可能良好地控制软件需求, 在此过程中积极地、主动地建立、完善整个工程所需要的基线, 并且使后续的软件设计、开发以及管理工作符合最初的软件需求。
(二) 软件需求管理的涵义
在展开软件设计、开发以及管理工作之前, 必须先做好相关的软件需求工作, 而对软件需求管理工作的实施, 则应该积极地、主动地去提取、组织并且将这些系统性的软件需求进行文档化, 由此可以看出, 软件需求的管理是一个系统性的项目。具体的运作步骤如下:第一, 提出问题或者列出示范类型, 并且尽可能的找到相关的依据, 进而得出切实可行的需求探讨;第二, 将所有的信息做好记录以及整理, 并且输入到数据库当中, 从而使软件企业、软件工作人员能够在系统的具体操作上与广大的用户达成共识;第三, 用更为准确、更为清晰的方式描述对软件的需求, 为后续软件设计、开发以及管理工作人员的工作奠定好基础, 使其能够顺利的、成功的将需要转换为真实的系统设计。
二、软件需求管理的实施特点
从某种程度上来看, 软件企业与传统的生产企业有着很多的相似点, 而对于软件需求的管理则类似于传统生产企业所展开的问卷调查活动, 其性质都是为了能够更好地掌握消费者的需要以及了解市场的最新动向等等。但是软件企业毕竟与传统生成企业有所不同, 传统的生产企业所展开的需要管理, 是具体的、有形的, 也就是说可以直接进行描述的, 然而软件是一个比较抽象的商品, 其最初的需求管理工作具有主观性, 是模糊的、难以确定的。不仅如此, 软件企业的需求管理工作, 也比传统的生产企业重要得多, 可以说是整个软件设计、开发以及管理项目的关键所在, 直接的影响到软件能否获得成功, 进而影响到软件企业的生存、发展。正是因为这样, 软件需求的管理有着其自身的实施特点, 包括了:第一, 软件需求的变化。社会在不断地发展, 科技在不断地进步, 而计算机作为一种高端科技, 可以说是瞬息万变的。更何况一个新软件的推出, 并不是在短时间之内就能够完成的, 从最初对软件需求的管理, 到软件的具体设计、开发以及后续的管理, 是需要一定时间段的, 而在这个时间段中可能会发生很多的事, 比如说其他的软件企业抢先推出了同一类型的软件或者人们的思想、需要在这个时间段中发生了改变等等。第二, 软件需求的完整程度。软件的需求系统, 是一个非常庞大的工程项目, 小到广大客户所提出的意见、建议, 大到专业的推断、决策等等, 要想做到全面几乎是不可能实现的。更何况对于软件需求系统的划分还是一个非常客观的重要问题, 只有准确的实施硬性划分, 才能够区别出特点的范围, 也才能够建立起指定的基线, 并在其过程中尽可能地去完善软件需求的完整程度。第三, 软件需求的描述。尽可能地完善软件信息的完整程度, 会消耗软件企业大量的人力、财力以及物力, 而当软件信息的完整程度获得成功, 就会延续地引发另一个问题, 那就是对软件需求的描述。软件是一个比较抽象的商品, 如果通过文档来展开记录, 则会出现成百上千的页面文档, 而广大的用户是不可能完全地理解这些文档记录的, 更何况不同层次的用户所需要的、关心的问题又都是具有差异的, 所以造成了软件需求的描述难点。第四, 软件需求的细致程度。软件需求的细致程度, 可以说是见仁见智的, 不同的人都会有不同的想法以及观点, 如果一味地强调细致, 就会拖延时间, 而时间的延长又会引发需求的变化。正是因为这样, 对于软件需求的细致程度, 也是一个非常值得重视、深思的问题。第五, 软件需求的工期。软件的推出, 不仅仅在质量上要抓好, 在时间上也同样要抓紧, 因为时间的延长会引发一系列的变化问题, 而这些变化问题的出现将会直接的影响到软件企业的生存、发展。但是软件需求管理, 又是软件设计、开发以及管理工作的必要前提, 要想确保软件需求管理的准确性、完整性, 就不得不在这个阶段投入大量的时间, 从而引发极端的矛盾。
三、如何做好软件项目管理中的需求管理工作
(一) 正确认识需求变化
软件需求管理的变化包括了建立基线、确定软件需要追踪的重要依赖关系、建立相关项目之间的可追踪性以及对变化控制等等。软件需求的变化可以说贯穿了整个软件项目的生命周期, 只有通过建立规范的变化控制流程, 改进软件分析以及设计, 将不能够确定的变化纳入已经确定的计划当中, 才能够在应对软件需求变化的过程中更加的从容以及更加的具有信心。在软件开发的过程中有这样一条客观真理, 那就是需求的变化是永恒的, 而需求又是不可能完备的。软件开发的过程实际上是一个变化的过程, 然而需求的变化不一定是坏事, 也有可能是好事。软件需求的变更之所以难以进行管理, 不仅仅只是因为一个变更了的需求意味着要花费或多或少的时间来实现某一个新特性, 而且也因为对某个需求的变更很可能影响到其他需求。正是因为这样, 应该确保赋予需求一个有弹性的结构, 从而使软件需求能够适应变化, 并且确保使用可追踪性链接可以表达需求与开发生命周期的其他工件之间的依赖关系。
(二) 与用户充分沟通
在软件需求的管理过程中, 与广大用户保持积极的、有效的沟通、交流是非常重要的, 因为这个过程直接地决定着最终的软件商品是不是能够满足用户的要求, 换句话来说, 这个过程在很大程度上决定着软件项目的成功与否。然而, 在与广大用户保持沟通、交流的过程中, 双方对于软件需求的认识应该要确定一致, 不能够模棱两可。而在讨论软件需求以及软件需求变化的时侯, 软件工作人员必须以协作的态度来对待这些用户, 从而通过良好的工作氛围、交流分为来提高工作的效率, 激发广大用户的思维, 从而获得软件需求信息。除此之外, 确定软件需求基线的过程也是软件企业与广大用户交流的过程, 而频繁的、大量的软件需求变化在很大程度上也是交流不充分的后果。正是因为这样, 有效的充分的交流尤为重要, 需求人员认真听取客户用户的要求, 进行分析以及整理, 并且最终取得用户的确认。
(三) 建立需求管理模型
软件需求建模的目的是为了能够消除人际沟通随意性很强的弱点, 所以需要致力于将沟通标准化、自动化以及准确化, 而且责任到人负责的具体阶段, 具有可测试性以及可验证性的特点。软件需求建模是表达软件需求的其中一种形式, 是对软件需求的一种描述以及诠释, 它使用标准的语言, 利用类似积木的概念来建模, 最大的优势就是每个人都能够直接的根据自身的要求, 轻易的、反复地修改这个软件需求模型, 而在这个过程中还不会产生任何的歧义, 从而可以使大多数人快速地掌握、理解。建模的过程就是通过软件需求的特点以及要求来展开相关的分析、探讨, 以建模标准为基础进行准确的、完备的以及有效的阐述, 以确保广大用户以及软件企业都能够准确无误的、通用的理解。
(四) 控制好需求文档版本
客户签收的所有过程文档都要作为基线确定下来, 做好相关文档的管理工作。软件需求的基线指的是容许需求变更的分界线, 需求分析人员在充分与客户用户进行沟通的基础上形成第一个版本的需求文档, 这个需求文档在通过需求评审后即可以建立第一个需求基线。在此之后, 每次软件需求的变化并且经过需求评审之后, 都要重新的确定新的软件需求基线, 以免将来用户需求发生变更的时侯, 原来的需求无法查找。为了能够有效地进行软件需求变更的控制, 必然要做的工作就是保存好各个版本的需求基线, 维护需求基线的文档, 这样才能够以备不时之需。
四、总结
总而言之, 软件的需求管理是软件设计、开发以及管理的必要前提, 只有认真地、充分地、完整地做好软件需求管理, 才能够确保软件的顺利推出。正是因为这样, 软件企业必须重视软件需求管理, 并且尽可能的完善这个项目, 用科学的、严谨的态度对待软件的需求管理, 这样才能够从本质上促进自身企业的成功发展。
参考文献
[1]姬晓鹏, 吴朝晖.需求管理的一个系统解决方案[J].计算机工程, 2003.
[2]江小丁, 王朝晖.软件项目需求管理的研究[J].计算机与现代化, 2006.
[3]陈丽杰.浅析软件项目管理中的需求管理[J].科技资讯, 2007.
软件企业项目组合管理的初步实践 篇10
项目组合管理 (PPM) 简述
首先我们来了解一下什么是项目组合, 项目组合的最简单定义就是一些彼此间具有共同联系的项目的集合。联系的形式是可以多种多样的, 这些项目可能同处于一个产品线, 或者都是新产品研发项目, 或者都来自于一个客户等等。
纽约城市大学的经济学家, 诺贝尔经济学奖得主哈里·马科维茨 (Harry M.Markowitz) 的现代组合理论在20世纪90年代从投资组合领域拓展到项目组合领域, 根据现代投资组合理论, 您可以通过创建多样化的投资组合来减少投资风险, 多样化的投资组合包括很多不同类型或等级的有价证券, 以便至少其中的一些可以在任何的经济环境中创造很多的回报。在非金融的业务环境中, 我们可以把项目和计划理解为投资的手段。那么我们就可以根据企业的商业战略和目标, 把很多项目分成若干项目组合, 并关注哪些项目组合应该投资, 哪些项目组合应该继续, 哪些项目组合中的计划应该暂停, 哪些应该终止, 以使我们对每个项目组合的投资回报最好。
项目组合管理包括建立组合的投资战略, 判断什么类型的项目适用于本组合, 评价被提议的项目并进行优先级排序, 建立一个平衡的可以实行投资目标的组合, 监督组合的表现, 并对组合内容进行调整以实现预定结果。
根据SPM Group的描述, 图1描述了一个基本的项目组合管理过程。此方法包含的工作过程包括:项目需求定义、项目筛选、项目优先级、项目注册、项目激活、项目执行和监控、项目结束。
根据IBM对项目组合管理生命周期的描述, 项目组合管理方法包含了如下这些过程, 识别、考核、寻找那些引导商业策略的项目/计划。管理组织的资源需求、容量、能力;度量绩效以保证项目/计划共同地符合组合策略;根据组合目标和承诺, 识别并校正项目/计划中与投资组合不一致的地方;建立有效的交流和报告机制确保对项目、计划和整体组合, 进行及时、准确的决策;实现一个过程能够持续的改进投资组合。
一个企业的过程方法必须根据这个企业的业务战略量体裁衣, 没有用通用尺寸满足所有人的方法, 那么最重要的就是项目组合管理生命周期是否满足企业的组织和业务战略。从前面两个方法不难看出, 应用项目组合管理, 可以从项目机会开始, 一直到项目结束。
参考前面两个描述, 并参考其他方面的描述, 我们可以把项目组合管理生命周期需要的过程总结为建立、评估、优先级排序、选择、管理。
企业项目组合管理推进实践
很多软件企业都曾或多或少地存在这样的问题:关注不了客户的重点;同一客户的每个项目各自为战, 资源浪费, 成本偏高;所有项目都是最重要的;项目计划满天飞, 但没有能够真正执行的;无法实现部门的工作策略和目标, 我们永远都面临着资源不足, 还有很多项目要进行的状态。
为了能够在一定程度上解决我们的问题, 我们希望能够从项目的合同 (或者提前执行) 签订之后, 能够迅速贯彻部门的商业战略和目标, 关注客户最关心的事情, 提高客户满意度, 进一步降低运营成本, 缩短项目的平均完成周期, 保障产值的顺利完成, 降低管理和协调的复杂度和成本。
项目组合的建立与评估。组合的策略可以有很多种方法, 经过分析我们的问题, 我们采用了比较简单的项目分配矩阵模式, 确定了项目组合的方式。经过分析后, 我们把A-N若干项目分配到了各个方面, 以后再有新的项目签订合同, 也会同样按照一致的原则进行评估后分配, 这样统一了分配原则, 避免了内部管理协调的重复劳动。
项目组合优先级排序。针对战略-新项目的情况, 我们采用了强制定位的方式, 明确了战略-新项目的最高优先级, 我们会有专门的部门和资源来保证A, B项目的顺利进行。
除去战略-新项目外, 由于我们的项目数量众多, 在考虑优先级时我们又按照业务方向、客户进行了项目组合。然后基于关键客户、里程碑产值、客户关注度等情况, 采用层分法, 进行层层分解, 最终排列出以月为单位, 甚至是以周为单位的项目优先级列表。如下是一个项目优先级列表的示意图。
通过优先级排序选择平衡的组合。我们来进行项目选择的基础是我们能够投入的人力资源, 我们把所有支撑项目的职能部门的人力资源都采用资源池的思路管理起来, 那么我们未来有多少人力资源可以投入都做到了心中有数, 职能部门经理也能够确保不浪费宝贵的人力资源。
根据下个月或者下周的人力资源使用率, 和我们所拥有的人力资源的能力情况, 再结合我们已经排定的项目优先顺序, 来确定我们能够做那些项目, 比如我们应该做L项目, 但由于我们没有可用资源来完成此项目, 那么就需要根据优先级列表判断是否放弃原有资源从事的项目来做L。
从2007年全年来看, 我们本着关键客户和里程碑产值优先的原则, 通过选择来匹配人力资源, 很好地完成了对关键客户的支持服务, 并完成了2007年全年的里程碑产值任务。
管理所有的项目组合。项目组合管理后, 我们通过排定优先级, 那么有很多项目肯定都会在不同的时间段处于等待资源投入的状态, 我们需要从整体部门目标的角度出发, 在最适当的时候激活项目并在最短的时间内完成。这样也确保了我们一旦制定项目计划, 我们的资源就是就绪的, 确保了项目计划的按计划执行, 并确保了里程碑达成率。
通过项目组合管理, 我们能够把握住每个客户当前最关心的项目是什么, 并能够集中优势资源来完成, 客户能够及时得到他所需要的结果, 使我们的工作效率更高, 客户满意度更好。
采用项目组合管理后, 避免了项目经理在矩阵型组织下非常复杂的沟通、协调项目计划的情况, 避免了计划的频繁变更, 一定程度上降低了运营成本。
当然, 我们虽然通过应用项目组合管理理论走出了第一步, 但如何能够使之更加符合部门策略与目标, 组合的建立与评估的进一步深入, 优先级原则的进一步细化, 资源池管理的进一步完善等各个方面还需要进一步的探索。
未来我们还需要考虑全流程的项目组合管理如何应用到部门中来。更要考虑如何进一步推进组织级项目管理的实践。
软件项目的项目管理 篇11
关键词:软件项目;管理流程;流程设计
中图分类号:TP311.52 文献标识码:A文章编号:1007-9599 (2011) 11-0000-01
Software Project Management Process Design Related Issues Research
Yan Bing
(China PICC,Beijing100022,China)
Abstract:Software engineering project has a complex,volatile and so,also because of its unpredictability makes the software project management more difficult.This paper mainly discusses the design of software project management process issues related to study how to design the overall software project management processes to ensure the smooth.
Keywords:Software project;Management processes;Process design
軟件项目管理是为了保证软件项目开发成功而进行的,它是一项涵盖了整个软件工程过程的管理工作。软件项目管理始于技术工作开始目前,对软件项目的任务、范围、资源、风险、进度、工作量等等进行合理的安排,直到软件工程结束后才完结。
一、软件项目管理流程设计概述
目前,随着软件项目规模的快速扩大,开发和管理工作的难度也不断增加,严格而规范的管理软件项目各个阶段的具体工作,并纠正出现的偏差和错误,能够有效的降低人才流动的不良影响,还能够积极的防范软件项目可能存在的风险。
(一)流程。流程,由某种活动构成,基本活动由个人或是团体完成,各个活动间有着各自特别的流向,不需要其他活动进行转化,它包含了起始直到终止的各项活动,是一种动态的概念,流程由活动以及其逻辑关系、实现方式、承担者共四种基本因素构成。管理在分工理论的基础上运行了几百年的时间,再次回归了整合系统的管理理念,流程管理就是一种建立在整合系统上的管理技术和方法。
(二)流程管理。流程管理,是一种能够不断的增加组织业务绩效的系统的管理方法,它通过尽量建立规范而卓越的业务流程来更好的管理软件项目。流程管理包括流程分析、定义、质量、优化和资源分配、效率测评等方面,流程管理随着客户的需求等内外环境的改变而不断的进行优化。在软件项目的整个过程中,各个环节都需要按照流程制定的活动方式和逻辑联系,通过规范的执行各活动过程来保证软件项目的成功。
(三)软件项目管理流程设计的原则。软件项目是具有生命周期的整体过程,它包含了一系列的流程活动。软件项目管理流程的设计需要秉承以下原则:设计的目的是引导项目成功,能够指导并帮助软件项目开发和管理;设计要能够适用于软件项目的全过程,要以流程图的方式让项目人员直观、明确的知道软件项目开发、管理的过程和其间的联系;设计要明确、规范的确定活动条件和工作产品定义、评价标准等等,并保证设计的可操作性。
二、软件项目管理流程设计的相关问题
随着软件项目涉及领域的持续扩大,软件项目的规模也不断的增大,使得软件开发和管理难度越来越大。导致软件项目失败的最直接的原因就是软件过程管理上的不足,在没有组织性、纪律性的项目状态下,难以保障软件项目的成功。
例如,S公司是一家美资企业在华的子公司,主要负责开拓中国市场,其公司的软件产品多由美国硅谷的总公司负责完成。Y公司是S公司在中国的合作商,负责软件的测试和本地化工作。
(一)搜寻项目。搜寻项目阶段是立项的重要基础,这部分的主要工作包括收集市场信息,跟踪用户,分析用户的需求,并对潜存的软件项目进行科学、合理的分析和筛选。
(二)立项。这个阶段的任务主要包括确定立项的根据和理由,并提出立项的相关建议,为立项提供相应的材料以及资金,将立项建议转变为正式成立的项目。
(三)售前阶段。在立项确定直到签订项目合同的项目售前阶段,主要的工作内容包括制定与客户之间的交换打算,充分了解客户的相关背景资料,明确客户之所以启动项目的原因以及启动项目的期望和目标,并编订筹备好项目的合同底本和方案建议书等等。Y公司对S公司的情况拥有深入、详细的了解,针对确立的A项目制定好了相应方案。
(四)签订合同。Y公司对项目方案进行评估,约定、评估商务合同,并最终与S公司签订合同。
(五)执行合同。这个阶段是软件项目管理流程的关键,具体工作有软件开发直到项目维护共五个方面的基础工作:
1.软件开发。这个阶段具体可分为需求调研和系统的分析、设计等过程,主要工作有以下几个方面:首先,Y公司制定了软件项目的计划,该计划用于协调其他计划,指导项目具体操作,突出体现出项目对S公司的理解;其次,Y公司根据自身的实际情况建立了可行的项目开发过程,并依据该过程进行软件项目的开发工作;再次,Y公司的项目负责人亲自领头与各分部门主管成立了管理小组,负责软件项目过程的控制,主要对过程、配置进行管理,对变更进行控制。
2.软件测试。软件测试是为了检查软件系统是否能够符合项目合同等相关规定的要求,Y公司在模拟环境中进行了软件的测试,发现了一些不合理的情况,并进行了改进。
3.内部验收。软件项目测试完成后需要进行内部验收环节,Y公司准备好内部验收计划、产品发布清单等文档,并站在S公司的立场去进行了内部验收的相关测试,通过对测试的结果和准备的文档进行内部评审,软件项目基本达到了S公司的要求。
4.用户验收。在内部验收完成后,Y公司做好了验收前的相关准备,由S公司进行测试,但在测试后S公司的项目负责人对软件功能的问题产生异议,需要Y公司再给予解决。在1个月后,S公司项目负责人再次进行测试,这次软件项目得到了认同,Y公司向S公司移交了软件系统和文档,最后Y公司项目经理协助对方完成验收环节,得到用户的最终确认。
5.软件维护。软件维护通常分为两种类型,分别是纠错性维护和完善性维护。在软件投入使用后,Y公司的软件维护人员多次与S公司进行沟通,主动的解决了软件运行中的一些问题,并对软件进行了优化和升级。
三、结束语
综上所述,软件项目管理流程的相关技术和方法广泛应用于软件项目的开发和管理工作。软件项目管理流程设计通过设定软件项目的总体流程,进一步确定各个阶段的流程,并以建立评价指标体系等方式进行软件项目全过程的管理,以科学、有效的管理提高了软件项目的研发效率和成功率。
参考文献:
[1]罗铁清,王莹,王如龙.软件项目管理流程分析与设计[J].计算技术与自动化,2005,3
[2]李斌,吴德垠,张义轩.软件质量保证中不符合问题的探讨与系统实现[J].计算机与现代化,2007,7
如何开展有效的软件项目外包管理 篇12
随着信息技术的进步、各行各业信息化程度的飞速发展,信息化项目建设规模、复杂程度越来越大,由于软件研发需要大量信息技术人才,用户单位很难拥有所需资源,选择经济实力强、技术力量雄厚、具有行业信息系统研发经验的软件公司进行合作,引进其较为成熟的系统,并在此基础上结合本单位的实际情况进一步开发,既能节约经费和时间,又可少投人力,因此,软件项目外包渐渐成为政府部门等因编制所限、不具备较强技术开发实力的单位,甚至更广范围的企业信息化建设的首选模式。
2 软件项目外包建设存在问题及原因分析
软件项目外包虽被广泛应用,但是,软件项目外包在实施过程中并不顺利。据美国软件工程实施现状调查显示,大约只有10%的项目能够在预定的费用和进度下交付。在商用软件产业中,这一现象尤为严重,1995年,美国共取消了810亿美元的软件项目,其中31%的项目未完成就取消,53%的软件项目进度要延长一半,通常只有9%的软件项目能够及时交付并且费用也不超支。
软件项目外包开发失败的主要原因有:需求定义不明确;缺乏一个好的软件研发过程;没有一个统一领导的产品研发小组;合同管理不严格;不注意改善软件过程;对软件架构不重视;软件界面定义不善且缺乏合适的控制等。在关系到软件项目成功与否的众多因素中,软件度量、工作量估计、项目规划、进展控制、需求变更和风险管理等都是与项目管理直接相关的因素,软件开发组织不能很好地管理其软件过程,从而使一些好的开发方法和技术不能起到预期的作用,由此可见,软件项目外包管理至关重要。
3 如何有效进行软件外包开发项目管理
软件外包开发项目与单位内部开发项目的管理主要区别在于外包开发项目需要更多时间去沟通、协调、跟进和监控,管理更复杂,需要更紧密的进度和质量监控。有效进行外包开发项目的管理应注意以下几点:
3.1 明确自身所需和服务要求,选择合适的外包合作开发公司
外包合作开发公司选取过程中,必须综合考虑开发公司的行业开发经验、实施效果、技术水平、项目管理水平。选择合适的外包商,不能单以服务价格来做最终决定。优质的服务需要付出较高的代价,用户单位应根据自身对软件质量的要求来决定服务的代价。同时,选择具备丰富的行业开发经验及良好的实施效果的公司进行合作开发,对于开发复杂的业务系统尤为重要。没有行业项目开发经验的公司,在理解复杂的业务细节中耗费大量的时间,在调研过程中缺乏提示引导业务人员提出准确需求的经验,从而使项目开发时间延长、实施效果不佳。
3.2 处理好双方合作关系,建立良好合作模式
用户单位与开发公司在单位领导、项目负责人、技术人员等各个层面都应建立良好的合作关系,整个项目开展过程应该加强沟通、交流,上下一心、求同存异、相互体谅、相互配合,向着建设行业成功案例的目标共同努力。切忌互相指责、互相推诿、拖延时间、不响应等不利于项目开展和后续维护的做法。及时讨论形成完整的软件系统规格说明,跟进开发的进度,定期沟通与协调,建立好质量指标和测试流程,在按照相关技术文档规范实施的同时,给用户单位预留一定的需求变更空间。总之,双方良好的合作关系对于项目的成功开发非常重要。
3.3 组建项目领导小组和项目实施小组,负责项目全过程的管理
为了保证项目按时保质完成,应成立由项目管理领导小组和项目实施小组。
项目领导小组组长由用户单位领导和开发公司的领导担任,小组成员包括双方的项目管理人员。项目领导小组主要负责制定方针策略、指导项目实施小组;设定项目目标、范围及考核标准;批准项目计划,监控项目进程;调配各类资源;确定各管理层对项目的需求;解决项目实施小组不能解决的问题;研究确定关键流程与组织机构的优化与必要重组事宜;审批新系统的工作准则与工作规程,保证项目正常进行。
项目实施小组组长由用户单位信息部门主管和开发公司项目负责人担任,项目成员由业务部门代表、业务顾问、技术顾问、项目联络人组成。项目实施小组组长拥有项目最终的拍板权,能够不受干扰地对项目重大问题进行最终的裁决,要敢于否定领导不成熟的意见或错误的意见,而且能够协调各方面的工作,把控项目进度。业务部门代表负责提出本部门的业务需求、配合进行系统测试。业务顾问由业务专家组成,一般是本单位资深业务骨干或行业内专家,负责对重大需求问题进行论证。技术顾问负责对外包项目开发的技术面进行把控,一定要有项目实际开发经验的技术人员担当,如果本单位不具备这样的人员,可以委托监理公司承担。
3.4 选择合适的联系人员,保障项目的及时沟通
项目联络人负责联络甲方乙方的各项事宜。
开发公司负责项目联系的人员必须是开发小组的主管。这名开发小组主管是直接参与开发项目的主要人员,如此才能够有效进行沟通和监控。项目经理必需具有以下方面的能力:1)沟通能力强;2)接受能力强;3)概括能力强,能准确捕捉问题的重点;4)服务意识强,能够从用户单位的立场出发,帮助用户单位解决问题;5)责任心强,能够让用户单位放心交代工作。
用户单位负责项目联系的人员必须是项目负责人,在需求调研和分析阶段需要召开各种讨论会,项目负责人作为会议组织者和主持者,要做好一个仲裁者的角色,解决好以下问题:1)协调业务部门把问题转化成需求描述,通常业务部门只提出存在的问题,而开发公司并不是业务专家不知道如何解决这些问题。2)重大问题安排业务顾问并主持会议进行论证。3)承担起仲裁者的角色,一方面要仲裁业务部门提出的需求内容,另一方面也要敢于否定领导不成熟的意见或错误的意见。4)需求细化工作,需求细化工作很重要,这项工作要由用户单位配合开发公司来完成,开发公司通过需求细化之后才能够领悟真正的业务需求,用户单位联络员要把关监督开发公司完成这项工作。
3.5 做好项目规模估计,制定合理项目计划
项目负责要首先做好一个详细的、完整的项目计划,并在计划中详细地列清楚每一件工作需要哪方面的哪些人力来共同执行。在计划中的每一个进度都需要进行确认才能继续。例如开发公司在完成系统分析后,需要把分析的结果让客户理解,以便用户单位能够确认开发公司对整个系统的理解和分析与用户单位本身对项目的需求和分析达成一致,这样才能让开发公司进行其后的模块设计。否则设计出来的模块组合便有可能与用户单位的需求不太一样,存在质量和结果的差异。这些差异也将会引发用户单位将来在系统维护、更新、增加功能模块、升级、集成等各方面的严重障碍。
3.6 重视变更确认,避免进度延误
要避免项目发生延误,计划中要预留足够的时间来进行上述确认工作。由于双方工作地点的缘故,原本只需一天的确认会议便可能耗费两天或三天的时间来完成。议程中所达到的共识也可能需要时间来让开发公司做出适当的修改才能让用户单位正式确认。也只能在正式确认后才能够进一步继续接下来的工作。如果没有预留足够的时间用于协商,当一个项目经过七八个确认会议之后,也许已经延误了一个月的时间。
3.7 项目设计的框架结构应具有弹性
用户单位项目在项目建设过程中,业务需求一定会有补充和变更,即使交付使用之后发生变更也是常有的事。这样就要求开发方设计得当的框架结构具有一定的弹性,在一定的业务范围内能够适应变更而不需要推倒重建,这方面的测试由用户单位提出若干案例,不需要开发公司代码实现,但要求开发方提供技术解决方案。另外,必须做好业务系统边界接口设计。由于信息化项目趋向大型、复杂,业务功能之间既有独立性又有关联性,最后汇集成数据仓库,所以业务系统边界接口的设计很重要,设计得当业务模块之间既能各自工作又能协调工作。该项工作由开发方在细化需求之后进行设计,用户单位进行审定。
3.8 安排阶段性的系统预演
开发方开发和设计过程中不能关起门来自己开发,要进行多次预演,对于业务主线完成一定功能后,通常是界面风格和操作控制先实现,业务逻辑处理后实现,安排给用户单位进行预演,目的是验证是否符合用户单位的要求,并听取用户单位提出修改意见,避免系统上线后发生重大的变更。
4 小结
软件外包管理是一个集行业应用领域、IT技术、项目管理、领导管理艺术为一体的综合性管理工作,是一个极具挑战性的工作,也是一项需要不断持续改进的工作,软件项目外包管理的重点、难点因不同项目的规模、复杂程度、市场成熟案例、不同单位人力资源等条件的不同而不同,需要大家一起在实践中不断探索、学习和改进。
参考文献
[1]杨正元.软件项目的规范化管理[J].楚雄师范学院学报,2008,23(9).
[2]曹艳杰.国土资源信息化进程中的软件项目外包管理研究[J].国土资源信息化,2007(3).
[3]郭晋秦.软件项目管理在实际开发中的应用与实践[J].电脑编程技巧与维护,2009(12).
[4]李子潇.软件项目管理常见问题及解决方案[J].吕梁高等专科学校学报,2009(1).
[5]陈翠燕.浅析软件项目风险管理[J].价值工程,2006(8).
[6]丁琼.浅谈软件项目的沟通管理[J].电脑知识与技术,2009,5(18).
[7]景慎艳.软件项目中需求管理的探索与实践[J].电脑知识与技术,2008(27).
【软件项目的项目管理】推荐阅读:
软件项目的沟通管理06-26
软件项目的进度管理05-18
软件项目的需求变更05-14
软件项目的质量管理09-19
论软件项目的质量管理09-08
软件项目管理的理论与实践08-17
如何做一个成功的软件项目经理05-19
详解软件项目管理流程的每一步12-01
软件项目06-14