菏泽软件开发 济宁软件开发
24小时客服热线:18678812288
开发技术

软件开发项目控制

投递人 ; 济宁软件开发  发布于2014年10月22日    有人阅读

一、项目控制的作用
    项目控制的作用就是为了保证项目按照预期的项目目标进行,必须对项目的运行情况和输出进行持续的跟踪监控,收集各种项目进展信息,对收集的信息进行分析,与预期的项目目标进行比较。在出现偏差时及时分析偏差原因,制定有效的纠正预防措施,落实纠正预防措施。
    项目的特点是渐进明晰的,特别地软件开发项目更因为其结果的无形性、需求难以明确性、劳动密集性和智力密集性,“渐进明晰”这一特点更加显著。在项目的初期,项目经理或项目成员基本上不可能像建设一栋有形的建筑一样,预想出项目实施过程中的所有情况。所以,尽管已经尽可能明确制定了项目目标,并以此为目标制定了尽可能周密的计划,如果没有对照项目计划进行严密的监控,并及时调整计划,不断使计划明晰化并符合实际,以尽可能地保证项目按照基准计划实施,并使计划的变更尽可能地减少,那么项目就很难达到原先计划中制定的目标。这些目标要同时兼顾进度、质量、成本。
    所以不仅要制定出好的项目计划,更要进行严密的项目控制。项目控制是项目经理的一项重要职责,也是项目管理部门、项目成员、项目干系人的重要职责。
项目控制的基础是项目计划,项目计划的基础是项目目标。因此,项目管理的第一步是要明确项目目标。软件开发项目目标应该包括软件系统的范围、质量、进度、成本、市场或政治目标。范围目标是指软件系统的功能范围;质量目标包括软件系统的性能要求、技术指标、质量要求等等;进度目标包括软件系统的交付时间,与客户达成共识的其他时间要求,如验收时间、培训时间等等;成本目标对企业内部来说就是项目的预算,对于客户来说就是能够给出合理的价格;市场或政治目标就是诸如完成市场占有率、提高企业形象、打开知名度、击败某个竞争对手等等。
第二步是根据目标分析自身的资源状况,资源包括人力资源、设备、资金、信息、与相关人员的关系或渠道。
第三步是根据项目目标和资源约束来制定项目计划,项目计划应包括项目目标、项目任务的分解、项目组的组织机构和各角色责任、项目任务的责任分配、项目进度计划、成本计划、质量计划、沟通计划、风险防范计划、项目控制计划。
第四步就是实施项目计划,在项目计划实施过程中要持续跟踪监控项目进展情况,并与项目计划比较,发现偏差,分析原因,及时采取纠正、预防措施,随时解决项目中需要解决的问题,包括项目团队的沟通和冲突问题。
项目内外各种因素具有不确定性,同时项目相关环境中存在一定的干扰,因此项目的实施难以完全按照项目计划进行,出现偏差是不可避免的。良好的项目控制可以保证项目按照计划稳定地完成项目目标,就是说可以及时地发现偏差、有效地缩小偏差、迅速地纠正或预防偏差,使项目始终按照合理的计划推进。
    项目控制是为了保证项目目标的达成。目前是讲究“以人为本”的时代,项目控制也要讲究“人性化”管理。除了对项目进展的检查监督外,更有效、更长久的办法应该是提高人的素质,提倡责任控制、自发控制。
二、项目控制的类型
1、按控制内容
既然项目控制的作用和目的是为了保证项目实施最终能够满足项目目标的要求,而项目目标又包括项目可交付成果及软件产品的范围、质量、交付日期,因此项目控制至少要包括范围控制、质量控制、进度控制。另外由于交付的成果大多具有确定的价格,而企业为了保证软件产品能够赢得一定的利润,就会设定预算目标,因此还要进行成本控制。再者,软件需求的不明确性、项目的外在条件和多项目资源共享的情况,都有可能需要对项目计划进行调整,因此需要进行项目的变更控制。
范围控制:建筑行业可能不太需要范围控制,因为建造几栋房子其范围是非常。但也很难说,也许由于资金的问题,原来准备建7栋的,现在可能改成先建4栋,再建3栋。或者原来准备建88层的,现在改成建68层。但是软件系统的范围控制就很重要,有的需求功能分解得很粗很模糊,项目范围是一个大致的范围,这样就比较难以控制其范围。范围控制的第一步就是把项目的范围确定清晰。确定清楚后项目范围是比较好控制。
质量控制:质量控制的目的是保证项目成果的质量满足项目质量计划中说明的项目成果的质量要求。项目质量计划的说明可能会引用其他文件来说明项目成果的质量要求,如招标书、投标书、合同、需求规格说明书、国家标准、行业标准、企业内部制定的各种规范等等。
进度控制:项目进行过程中,必须不断检查、监控项目的进展情况,以保证每项分解的任务都能按计划完成。持续收集项目进展数据,掌握项目计划的实施情况,将实际情况与进度计划进行对比,分析其差距和造成这些差距的原因,必要时采取有效地纠正或预防措施,使项目按照项目进度计划中预定的工期目标进行,防止延误工期。项目进度控制不仅要注意主要任务或关键路径上的任务的工期,也要注意一些本来次要的任务的进展,以防止次要任务拖延,影响主要任务和关键路径上的任务。 
成本控制:成本控制的基础是在项目计划中对项目制定出合理的成本预算,也叫费用预算。成本控制就是尽可能地保证各项工作在项目计划中预定的预算内进行。成本控制也可以叫费用控制。软件开发项目的成本最主要的是人力资源的成本,而人力资源的成本体现为各个项目成员薪资水平乘以他所花费工作日的总合,因此人力资源的成本其重点在于合理地安排使用合适的人力资源。软件开发项目的成本还包括购买必需的软硬件设备的成本;需求调研所花费的交通、协作、通信成本;购买必要的办公用品、参考资料的费用;给用户培训所需要花费的培训资料编写费、资料印刷费、产地费、设备费;如果需要第三方的鉴定或检测,还需要一定的鉴定检测费用,包括准备的费用;如果部分组件需要外包,则应当控制软件外包的成本,包括交付给外包承担方的费用,和进行质量、进度控制的管理成本。
变更控制:对于软件开发项目而言,变更一般是不可避免的。为了将项目变更的影响降低到最小,就需要采用变更控制的方法。变更控制就是要找出影响项目变更的因素、判断项目变更范围是否有必要、判断项目变更的结果是否已经发生及效果如何等。进行变更控制的主要依据有:项目计划、变更请求和提供了项目执行状况信息的绩效报告。
在项目范围相对明确固定的情况下,质量、进度、成本三个目标一般是相互矛盾、互相制约的。赶工、缩短工期、加快进度往往导致成本上升或质量下降,降低成本会使进度拖延或质量下降;提高质量需要更长的工期、更高的成本。因此应当注意平衡质量、进度、成本三个目标,更好地进行项目控制。
2、按控制执行人员
项目控制按照控制执行人员来划分可以分为:项目组内控制、企业控制、用户方控制、第三方控制。
项目组内控制:项目组内以项目经理为主,组织项目成员进行持续自我检查,对照项目计划,及时发现偏差、及时进行调整。
企业控制:项目组以外,企业领导层以及生产部门、项目管理部门、质量管理部门、财务管理部门对项目进行控制。项目组一般应该定期提交项目状态报告给上述项目干系人,使他们了解项目的真实进展情况。
用户方控制:用户方对于项目的进度、质量是最关心的,所以有责任感用户方会定期或不定期地需要获得项目进展的信息,作为他们项目控制的依据。用户控制的措施主要是在发现问题后提出警告。当然,合同签订后软件系统的价格是固定的,所以他们对项目成本的关心程度不会像企业那样高。
第三方控制:目前有些项目委托项目监理机构进行项目控制。作为第三方的监理机构,对于软件开发项目的成功是有利的,因为理论上监理单位利益独立于双方之外,可以客观公正地提出相关意见和措施,保证项目的质量、进度及投资。同时,第三方监理拥有很强的咨询能力,可以帮助双方解决一些技术和管理难题,促进项目进展。对信息工程建设项目实施成功与否做公正客观评价,又可以使软件系统用户和系统开发商双方的市场行为规范起来,客观上促进软件开发商提供高质量的符合客户业务需求的软件系统,从而提高客户对建设软件系统的信心。
3、按控制方式
控制一词的本意是指抑制或限制、指导或命令、核对或验证。项目控制是保证项目计划实施不偏离目标的有效手段,控制方式的选择伴随着控制者与控制对象渐进而长期的适应过程,它是一种综合而复杂的管理行为。
远程控制:随着网络和通信技术的发展,企业经营市场的全球化,企业员工的工作可能远离企业管理部门,也可能在家里上班,传统的检查监控的控制方式无法适用。因此,制度控制将成为控制企业生产经营活动的一种重要方式。
检查控制:企业通过检查监督等方式对项目组进行持续的监控,及时发现问题,解决问题,纠正偏差。“人们不会做你期望他做的事情,只会做你准备检查的事情。”这句话不完全对,但有一定的道理,主要看针对什么样的人。
责任控制:项目任务分解合理,每个项目成员分工责任明确,每个成员按照自己的责任目标,按时保质地完成自己的任务。软件开发是智力型的手工劳动,传统机械的控制、管理方法很难起到真正的效果。
自发控制:自发控制方式是把责任控制代之以更严格的、要求更高的、更有效的内部控制。它激励项目团队自觉行动,并不是别人要他做什么或怎么做,而是客观的计划任务和变化的环境要求他采取相应的行动,不仅完成责任分配的份内工作,还在完成本职工作的基础上主动完成自己认为需要完成的工作。
4、按控制时机
项目控制的时机可以可以在活动开始之前、之中和之后进行,分为预防控制、过程控制和纠正控制
预防控制:防范于未燃是最好的一种项目控制方式,它可以预先做好准备避免和防止预期问题的发生。预防控制就是从项目的策划阶段开始,每个阶段对后面项目实施的过程,根据经验预测和估计可能产生的偏差,并采取相应的防范措施,尽可能地消除偏差。例如,对于软件开发需要的技术,要及早安排培训学习,做好技术预研,对于可能会流失的关键项目骨干,应当及早准备好替代人员。预防控制需要项目经理丰富的经验、敏锐的嗅觉和判断力、及时准确的信息。对于确定的问题,进行项目假设和约束分析,假设是通过努力可以直接解决的问题,而这些问题是一定要解决才能保证项目按计划完成;约束一般是难以解决的问题,但可以通过其他途径回避或弥补、取舍,如牺牲进度、质量等等;如果问题的出现具有不确定性,则应该在风险分析中列出,分析其出现的可能性(概率)、造成的影响、采取的措施。
过程控制:在项目的实施过程中进行持续的随时的监督和指导的控制。通过观察和定期汇报的形式都可以有效地进行过程控制,可以通过每周进度图表清楚地显示计划的任务、已经完成的任务、与计划目标的偏差程度(准时、提早、延迟),一旦发现偏差,就应当考虑及时采取纠正或者预防措施。
纠正控制:纠正控制是在项目的某个阶段或某个任务或整个项目基本结束或项目出现偏差后进行纠正的控制,这时候损失已经发生了,因此具有亡羊补牢的性质,纠正控制可能是迫不得已的唯一选择。

上一篇:提升软件开发者生产力

下一篇:怎么做好项目软件分析