时间:2022-07-20 09:34:02
引言:寻求写作上的突破?我们特意为您精选了1篇软件项目管理探讨范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。
作者:李春霞 刘春雷 李文琴
论文摘要:软件项h的有效管理,对项目的成败具有至关重要的作用。软件项目的风险体现存些方血,如何回避这些风险,存本文中进行了探讨,最后指出建立合理的管理流程,对软件项目的管理来说,是非常重要的。
论文关键词:软件项目:管流程;风险分析
0引言
软件项目管理的提出是在2o世纪70年代中期的美国,当时美国国防部专研究了软件开发不能按时提交,预算超支和质量达到用户要求的原因,结果发现70%的项目是因为管理不善引起的,而非技术原因。于是软件开发者开始逐渐重视起软件开发中的各项管理。到了20世纪90年代中期,软件研发项日管理不善的问题仍然存在。据美国软件工程实施现状的调查,软件研发的情况仍然很难预测,大约只有10%的项目能够在预定的费用和进度下交付。
究竟怎么样才能做好软件项目的管理及风险分析,保证项目顺利实施呢?这是个比较复杂的问题,下面就软件项目的特点,缩合大家的经验总结,谈一点看法。
1软件项目管理风险分析
软件项目管是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员、产品、过程和项目进行分析和管理的活动。目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码、测试、到维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用。
怎样进行有效的项目管理呢?首先我们来分析下影响软件项目的质量因素。
软件项目,尤其是大型项目有二项非常重要的因素,会影响整个项目的进度与质量,它们分别是:“人”、“流程” 与“技术”。
“人”是项目中最难预料与掌控的一项要素,人可分成两部份,一是客户,二是开发团队。
“技术”是指软件项目所使用的开发半台,主要指开发环境及开发语言。是最容易掌握的部份。
“流程”是指软件开发流程或是项目流程,定义流程的目的是要掌控所有的情况。项目的最大敌人是时间及预算,这两者都是有限的,如何在有限预算内准时完成项目,可说是一项艺术。
1.1“人”因素分析
“人”是指客户和开发团队,其中开发团队的因素对项目影响很大,对于这方面影响因素主要分析如下:
·人员技能未达到要求
在项目开始之初,我们假设项目成员都能够达到组织级的要求,但往往并不是每个成员都能够达到要求。而且项目中每个成员的生产率差异可能很大,也给项目进度安排造成影响。所以在项目始之初,应该对项目成员的技能进行一次总体的评估,对于大家都欠缺的技能,应该安排统一的培训,后续需要对培训的效果进行跟踪;对于个别人员技能欠缺的,应该单独预留自我学习时间或通过以师带徒的方式进行培养,使其技能能够尽快达到要求:对于项目新员的工作和任务,应该加强评审和检查,保证输出不出现大的偏差而导致后续大量的返工。对于这方影响因素主要分析如下:
·项目成员责任心不强
态度决定一切,细节决定成败。对于项目过程中的各项任务,经常出现由于项目成员责任心不强敷衍了事,导致产出的工件质量较差,引起大量返工的情况。在这种情况下,项目更应该加强项目规范的建设,项目经理应加强同这些成员的单独沟通,加强项目的团队建设和集体荣誉感。让项目成员感觉到做的系统是他们自己的产品,而不是公司的项目,项目经理的项目。
·项目沟通问题
在软件项目中,保证项目各种角色和成员中的高效沟通是很重要的,如何建立起快捷顺畅的沟通渠道,采用最佳的沟通方式来解决问题,必须在项目中经常强调。如果一周的项目任务花存实际做事情上有2天,而花在沟通上却占用了3天,这时必须及时分析和总结原因。沟通最重要的就是要在最短的时间里面,采用各种方法或工具,使交流双方或多方达成一致。
·项目人员流失
项目人员特别是项目关键成员在项目进行过程中的流失,对项目影响很大,对于这种情况,应该在项目开始之初,就作为专门的风险进行跟踪,并考虑具体的应对措施。
1.2“流程”因素分析
软件的开发流程般定义为:
需求分析一可行性分析一概要设计一结构化设计一详细设计一编码一软件测试一软件维护。
“流程”中软件项目的风险,主要体现存4个阶段:软件需求阶段、软件设计阶段、软件实现阶段和软件维护阶段
·软件需求阶段
软件的开发是以用户的需求开始,在大多数情况下,用户需求要靠软件开发方诱导,才能保证需求的完整,再以的形式形成《用户需求》这一重要的文档。需求分析更多的是开发方确认需求的可行性和一致性的过程,在此阶段需要和用户进行广泛的交流和确认。需求和需求分析的任何疏漏造成的损失,会在软件系统的后续阶段被一级级地放大,因此本阶段的风险最大。
·软件设计阶段
设计的主要目的在于软件功能正确地反映了需求,需求的不完整和对需求分析的不完整或者错误,在设计阶段将被成倍地放大。设计阶段的主要任务是完成系统体系结构的定义,使之能够完成需求阶段的即定目标;另一方面也是检验需求的致性和需求分析的完整性和正确性。
设计阶段的风险主要来自于系统分析人员。分析人员存设计系统结构时过于定制,系统的可扩展性较弱,会给后期维护带来巨大的负担和维护成本的激增。对用户来说系统的使用比例会有明显的折扣,甚至会造成软件寿命过短。反之,软件结构的过于灵活和通用,必然引起软件实现的难度增加,系统的复杂度上升,可靠性降低,给实现和测试阶段带来风险,系统的稳定性也会受到影响。从另一个角度上看,用户需求和将来软件运行环境的变化都是必然的,目前软件设计的所渭的“通用性”是否就能很好的适应将来需求和运行环境的变化,都是需要认真折衷的,而这种折中也蕴涵着很大的风险。
设计阶段蕴涵的另一种风险来自于设计文档。文档的不健全不仅会造成实现阶段的困难,更会在后期的测试和维护造成灾难性的后果,例如根本无法对软件系统进行版本级,甚至是发现的简单错误都无从更正。
·软件实现阶段
软件的实现从某种意义上讲是软件代码的生产。源代码木身也是文档的一部分,同时它又是将来运行于计算机系统之上的实体。源代码书的规范性,可读性是该阶段的主要风险来源。规范的代码生产会把属于程序员自身个性风格的成分引入代码的比例降到最低限度,从而减小了系统整合的风险。
·软件维护阶段
软件维护包含两个主要的维护阶段,一个是软件生产完毕到软件试运行阶段的维护,这个阶段是一种实环境的测试性维护,其主要目的是发现在测试环境中不能或末发现的问题;另一个阶段是当软件的运行不再能适应用户业务需求或是用户的运行环境(包括硬件平台、软件环境等)时进行的软件维护,具体可能是软件的版本升级或软件移植等。
1.3“技术”因素分析
存软件项目开发和建设的过程中,技术因素是一个非常重要的因素。项目组一定要本着项目的实际要求,选用合适、成熟的技术,千万不要无视项目的实际情况选用一些虽然先进但并非项目所必须且自己又不熟悉的技术。如果项目所要求的技术项目成员不具备或掌握不够,则需要重点关注该风险因素。
2建立项目管理流程
那么如何解决这些问题呢?实际上很多模型已经给出了答案,比如rup、qos、xp等,但是大家在学习和使用这些模型的时候,往往觉得这些模型提出的概念和实施比较难以操作,另外就是不管是rup、q0s还是xp,既然是一个方法模型,就不可避免要描述为一个完整的、系统化的理论模型,否则就体现不出理论的完整和逻辑的严谨。下面我们只是把以软件设计为核心的开发管理流程化,避免在频繁发生外界变化的情况下,变被动为主动。
软件项目管理除了按照既定的管理流程进行有效的控制,还要对各阶段的文档进行标准化管理,保证文档的完整和标准化,为软件后期的维护提供有力的支持。
3结束语
软件项目管理和其它的项目管理相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。其次,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。幸运的是,时问和预算都是可摔制的,并不是指我们可以控制时间快慢或长短,是如何叫确知道哪一个时间点,需要何种产出物,而我们有多少的预算町以完成。为了有效控制,我们需要一个标准的流程,只要照着规矩走,一切都好办。
论文摘要:针对软件项目和项目开发中的复杂性、易变性和不可预见性,研究了软件项目管理流程方法设计了软件项目运作过程的总体流程,分析了各阶段流程的进入条件、主要工作过程和工作结果
论文关键词:软件过程;软件项目管理;流程管理
1引言
长期以来,软件项目高失败率的状况一直困扰着人们,研究表明,软件项目失败的原因主要有两个:一是应用项目的复杂性;二是缺乏合格的软件项目管理人才。实践证明缺乏有效的项目管理是导致软件项目失控的直接原因。软件开发的风险之所以大,是由于软件过程能力低,其中最关键的问题在于软件开发组织不能很好地管理其软件过程,从而使一些好的开发方法和技术不能起到预期的作用。
流程管理作为现代企业管理的先进思想和有效工具,随着市场环境与组织模式的变化,在以计算机网络为基础的现代社会信息化背景下越发显示出其威力和效用。流程管理不仅是一种管理技术,更体现了现代管理的思想。流程管理的重点是:理清和管理好所有主、支流程间的关系,使他们相互协调发挥应有的作用。流程管理增加了部门的透明度,管理的对象不是“部门”和“部门员工”的概念,而是以工序流程为管理对象,注重流程中每一个过程和效率以及和上下游工序的关系,管理重点在于整体流程的完整性和顺畅性。目前,流程管理技术的研究已越来越受到人重视。
运用流程管理方法和技术进行软件项日管理,可以有效地改变软件过程管理混乱的局面首先埘软件项目开发过程进行有效的、规范化的定义;其次,在软件项目开发过程中,所有的活动过程均按照流程所规定的活动的逻辑关系、活动的实现方式来执行,这样可以使得所有的活动有序和可控;第三,通过明确运作流程,使项目组人员迅速融入项目和开发过程中;第四,关注每个过程的“结果”,使软件项目的所有工作产品均能得到有效的保存,保证了软件产品完整性。
2流程的概念及在软件项目管理中的作用
流程是由活动组成的。基本活动是由个人或团体来完成的,它不需要进行其他的基本活动的转化。流程的各个活动之间有着特定的流向,它包含着明确的起始活动与终止活动,因此是一个动态的概念。从结构上来看,流程有四个基本的构成因素:活动、活动的逻辑关系、活动的实现方式和活动的承担者。流程与“一系列的活动或事件”,“结果”等概念密切相关。流程管理不仅是一种管理技术,更体现了现代管理的思想,原有的以控制、塔式组织为基础的职能行政管理已经不能完全满足于现代企业发展和市场竞争的需要,管理的发展沿着分工理论运行了上百年后,现在又重新回归到整合与系统。
软件项目生命周期的一系列的开发过程是各种各样的流程活动:软件项目的计划编制、系统分析、慨要设计、详细设计、程序编码、测试与维护等活动过程都是一种流程活动:制定软件项目管理流程,重点考虑以下几点:
1)制定的流程能引导项目逐步走向成功;
2)制定的流程能适用软件开发过程;
3)制定的流程能指导项目开发活动.有利于对项日开发活动的管理;
4)制定的流程能以苴观的流程图表示.能使项目组成员清楚的知道软件开发与管理的过程和相互之间关系;
5)流程中的起始活动条件、终止活动条件明确、规范便于控制:
6)流程中的工作产品定义明确、可度趟,评价标准和方法具体、可操作
3软件项目管理总体流程设计
在软件项目开发管理过程中,不仪要努力实现项目的范围、时间、成本和质量等目际,还必须协调整个项目过程,以满足项目参与者及其他利益柑关者的需要和期望;随着软件规模和所涉及的领域不断地扩大,软件项目的管理越来越困难,纵观所有失败的软件项目.基本原因是不能管理其软件过程,在无纪律的、混乱的项目状态下,组织不可能从较好的方法和工具中获益。严谨的软件过程控制管理不仅可以在每个阶段回顾和纠正项目的偏差.别软件项目的风险甚至果断中止项目。且可以将人才流动所带来的不利影响减少到最小。要进行有效的过程控制,必须明确软件项目管理流程。
软件项目管理总体流程设计为项目搜寻、立项、售前合同生成和合同执行等5个主要阶段,分别以pl、p2、p3、p4、p5表示;同时设计了立项完成、合同签定、功能定义、软件开发、项目验收等5个里程碑,分别以tm1、tm2、tm3、tm4、tm5表示,如图l所示。在这些流程中,合同执行流程是软件项目管理的核心,其主要过程有:产品定义、软件开发、测试执行、内部验收、项目实施与验收、项目维护.
4软件项目管理总体流程分析
4.1项目搜寻
项目搜寻是项目立项的基础,项目搜寻阶段的主要任务包括市场信息收集,用户需求跟踪,对潜存的项目进行分析和筛选。
4.2项目立项
立项阶段的主要任务是确认立项的理由,提出立项建议,提供合适的资金和资源,使立项建议成为正式项目。
4.3项目售前
售前阶段从项目立项开始到项目合同的签定结束,主要工作有:制定与客户的交流计划,详细了解客户的背景资料,了解客户启动项目的缘由、目的和期望,编制项目方案建议书,准备合同蓝本。
4.4合同生成
合同生成阶段的主要工作有:项目方案的评估与确定技术合同、商务合同的商定、评估与签署。
4.5合同执行
合同执行是软件项目管理流程的重点,可分为软件开发、测试执行;内部验收、项目验收、系统维护等五个基本工作过程。
4.5.1软件开发
软件开发阶段分为:需求调研、系统分析、系统设计、编码、单元测试等过程。主要从三个方面进行管理:
1)制定项目计划。软件项目计划是一个用来协调所有其他计划,以指导项目执行和控制的可操作文件。它体现了对客户需求的理解,是开展项日活动的基础,也是软件项目跟踪与监控的依据。
2)确定开发过程。根据软件项目和项目组的实际情况,建立起一个稳定、可控的软件开发过程模型,并按照该过程来进行软件开发
3)加强过程控制一过程控制主要包括过程管理、变更控制和配置管理,、
4.5.2测试与执行
项目测试的目的是俭查系统是否符合项目合同与任务书规定的要求、项目测试分集成测试和系统测试,主要进行功能测试、健壮性测试、性能一效率测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等测试过程在模拟运行环境中进行。
4.5.3内部验收
项目完成集成测试和系统测试后进行项目内部验收.主要有三个步骤:①文档准备。项目经删提交内部验收计划、项目开发总结报告、产品清单:财务主管提交项目财务预算报告。②内部验收测试。内部验收测试的测试内容与方法虽然与系统测试基本相同.但应站在用户验收的角度进行,因为它是试运行的基础。通过这一步。为用户验收作充分的准备。③内部评审。对提交的所有文档及测试结果进行内部评审,完成项目开发总结报告:
4,5,4项目试运行与验收
试运行与用户验收阶段的主要任务是,使所有的工作产品得到用户的确认。主要工作有:①验收前的准备。项目经理负责检查产品的完整性。包括文卡当、介质和中间产品等,以确保现场实施的成功;负责应用软件的现场安装调试,完成安装调试总结报告;负责制定用户验收计划,并得到客户的确认。②用户进行验收测试和系统试运行,进行文档和系统的移交。③用户确认。项目经理负责与客户协测,协助用户进行项目验收,形成用户验收报告。
4 5.5项目维护
软件系统的维护分为两大类:一类是纠错性维护,由于前期的测试不可能暴露软件系统中所有潜在的和隐含的错误,诊断和改正这些错误的过程为纠错性维护。另一类是完善性维护,在软件正常使用过程中,用户还会不断地提出新的需求,为了满足用户新的需求而增加软件功能的活动称为完善性维护。如果需求变更很大,那完善性维护将转变为软件新版本的开发。系统维护的宗旨就是提高客户对软件产品的满意度。确保系统的正常运行是系统维护的根本目的。
4.6软件项目管理的里程碑
项目的考核与评审是软件项目管理流程控制的基础,我们在整个流程中设定五个基线,即确定五个里程碑,它们分别是tm1:立项完成;tm2:合同签订;tm3:产品功能定义完成;tm4:软件开发完成;tm5:验收通过。
如图1所示。各阶段的主要的进入条件和相应的工作结果是里程碑是否达到的重要标志。
5结束语
本文设计的软件项目管理总体流程及相关技术已成功运用在软件项目的研发和管理中。通过将流程管理应用于软件项目管理中,以设定软件项目总体流程为主线,确定每个阶段的主要流程和里程碑,并采用评价指标体系和一系列的模板和表格进行软件项目开发过程的控制和管理,使软件项目的成功率显著提高。
实践证明,针对企业和项目的实际情况,确定软件项目运作流程,定义软件工作产品,明确各阶段的进入条件和退出条件,进行有效的流程控制与管理,大大的提高了软件开发的效率和项目的成功率。
论文关键词:软件项目管理 工作分解 结构沟通
论文摘要:为提高软件企业的管理水平,对软件项目管理存在的一些问题进行了深入的分析,指出了软件项目管理中常见的不足之处:项目计划问题、管理意识问题、项目干系人相关问题、项目团队内分z-协作问题、沟通意识问题、项目风险管理意识问题、项目收尾问题通过分析找出了原因.提出了改进措施
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量风险等进行分析和管理的活动。软件项日管理最早出现于7o年代中期,当时美国国防部专门立项研究软件项目失败的原因,发现70%的项目失败是i如于管理不善引起的。而并不是因为技术能力。从而得出一个结论,即管理是影响项目全局的因素,而技术只影响局部。所以软件项目管理至关重要。在关系到软件项目成功与否的众多因素中,项目规划、需求变化、软件质量、风险管理等都是与项目管理直接相关的因素。因此,提高软件项目管理的能力对软件组织的软件生产力的提高是最为重要的。本人对目前软件企业实施项目管理的状况进行了分析,结合软件项目管理的理论知识,以期找出在软件项目管理中常见的问题。促进软件项目管理的应用研究。完善软件项目管理在软件企业的实施。
1软件项目管理存在的主要问题
1.1项目计划问题
项目计划是—个用来协调所有其他计划,以指导项目执行和控制的文件。项目计划是项目经理实施项目管理控制的基础。制定计划的过程就是—个对项目逐渐了解掌握的过程,通过认真地制定汁划,项目经理可以知道哪些要素是明确的。哪些要素是需要逐渐明确的,通过渐近明细不断完善项目计划。目前的问题主要有:一是项目计划的制定不够严谨,随意性大.可操作性差,因而实施中无法遵循。如项目计划过于粗略.落实粒度(“breakdown”)不足,不能做到任务、进度、资源三落实。二是缺乏贯穿项目全程的详细项目计划,甚至采用每周来制定下周工作计划的逐周项目计划方式,其实质是“项目失控合法化”。三是项目进度的检查(与进度计划对比)和控制不足。不能维护项目计划的严肃性。
1.2管理意识问题
在软件企业中。项目经理大多是技术骨干,在技术方面的知识比较深厚,但是项目管理知识、项目管理必备的技能,项目管理的经验都有待提高。部分项目经理没有意识到自己是项目经理的角色。不是从总体上去管理整个项目而是埋头干具体的技术工作,其计划不周造成项目组成员任务分配不均.忙的忙、闲的闲,这将影响项目的最终实施。有些项目经理对于一些不服从管理的技术人员,没有较好的管理方法,不好安排的工作只好th己做。
1.3项目干系人相关问题
项目千系人(“stakeholder”)是指参与项目和受项目活动影响的人,包括项目发起人、项目组、协助人、顾客、使用者、供应商,甚至是项目的反对人。人们的需求和期望在项目的开始直至结束都是非常重要的。不同的干系人其期望和追求的目标往往相差甚远,因此对项目十系人的愿望进行平衡是相当困难的事情。例如政府部门的不少对群众办公的信息系统,上层管理机关往往希望能够采集尽可能多的信息项以便对数据进行多种多样的系统分析,并对信息进行有效控制而增加一些审批流程;基层对外办公的窗口则因为办公速度的压力希望减少信息的输入;而办事群众则希望相关政府机构能够简化工作流程,加快办事速度。如果对项目所有干系人没有进行足够的沟通,使其尽可能地参与项目,则可能因为项目开始时项目范围和一些具体要求不够完整清晰,或某个项目干系人后期认识的变化而提出新的要求,造成工期的延长,成本的增加,甚至项目的完全失败。
1.4项目团队内分工协作问题
由于项目开发的各阶段不同角色、同一阶段不同角色的责任各不相同,项目经理把工作责任分画给团队成员时通常会出现一些不良现象。首先是山于分工不够清晰而造成工作相互推诿、责任互相推卸的现象;另外是出现“自家打扫¨前雪”的现象,即虽然分工比较清晰但是各成员只顾完成自己的那部分任务而不愿意与他人协作。
1.5沟通意识问题
项目沟通管理包括确保及时、正确地产生、收集、、存储和最终处理所需项目信息的过程。它是人、思路和信息之间的关键纽带,是成功所必须的。虽然整个项目是项目经理负责,但是在决定这个业务单元山某个或者某两个人完成后,项目经理只能起管理上的控制、建议和指导的角色,不能对具体的内容进行过多的干预在软件企业中,项目经理大多是技术骨干,而项目组成员也都是“高科技人员”,都具有“从专业或学术出发、工作自主性大、自我欣赏、以自我为中心”等共同的特点。因此妨碍沟通因素主要是“感觉和态度问题”,也就是沟通意识和习惯的问题。在系统的实施阶段或软件开发的试运行阶段,项目成员基本上是持续在客户方进行工作,这种情况非常容易忽视沟通。如果没有足够的沟通意识和沟通制度、沟通工具,就有可能造成信息不畅,从而加大项目失败的风险。
1.6项目风险管理意识问题
项目风险管理是指为了最好地达到项目的目标,识别、分配、应对项目生命周期内风险的科学与艺术。风险管理对选择项目、确定项目范围和制定现实的进度计划和成本估算有积极的影响,并有助于项目千系人了解项目的本质,使团队成员参与确定优势和劣势。目前项目风险管理意识的问题主要有两种情况。第一是项目经理没有充分分析可能的风险,对付风险的策略考虑比较简单,在做项目规划时常常没有做专门的风险管理it~’l文档,而是合并在项目计划书中。第二是项目经理没有充分意识到风险管理的重要性。对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的对策,对后面的风险防范起不了什么指导作用。
1.7项目收尾问题
项目经验总结是项目经理和项目组人员在项目完成后就取得的教训写的报告,是项目收尾的一个重要组成部分。总结在本项目中哪些方法和事情使项目进行得更好、哪些对项目制造了麻烦、以后应在项目中避免什么情况。哪些事情应在后面的项目中坚持等等。项目经理在项目结束时有些是因为项目人员已经不足或不全,或是因为有新的项目要接没有时问,总体对项目经验总结的重视程度不够。有些是项目经验总结一再拖延,有些是交上来的报告质量较低,敷衍了事。
2加强软件项目管理的建议及措施
2.i制定相符的项目计划
制定计划的精髓不在于写出一份好看的文档,而在于运用您的智慧去应对各种问题和面临风险并尽可能做出前瞻性的思考。计划是用来指导工作的,制定项目计划必须把握项目it~,l的粒度,粒度越细则控制力度越大,但项目管理的成本越高,反之则控制力度越小。凶此必须按照特定的项目量体裁衣,该详细就详细,该简略的就简略,制定相符的项目计划。许多组织都有项目计划制定的指导原则。例如,美国国防部的2l67标准“软件开发计划”用于指导那些为国防部开发软件的开发商制定软件开发计划。电气和电子工程师协会(ieee)的1058.1标准描述了“软件项目管理计划”的主要内容。表l给出了“1eefyi,t:,准软件管理计划”的格式。遵循那些标准和方针有利于项41汁划的制定和执行一旦it~,l被负责任地完成,他就可以给闩己一个和管理层或客户交流和协商的基础,帮助其在项目过程中防范各种题的出现,保证项h的按时完成.
2.2使用w bs(workbreakdownstructure)和资源负荷直方图,合理分配任务
项目经理应使用工作分解结构wbs将项目工作范围进行分解,为了避免有些虽然工作分解结构wbs没汁合理,但项目任务无法有效、合理地分配给相关成员,可采用资源负荷直方图把工作任务合理分配并达到“负载均衡”。另外.技术骨r在担任项目经理之前,最好能系统地学习项目管理知识,特别是其中的人力资源管理、沟通管理,并且在实际工作中不断提高角已的管理素质,丰富项目管理的经验,提高项目管理的意识。
2.3项目组成员应互相协作、互相配合
项41经理通过使用wbs将工作范尉进行分解.并将工作责任分配给团队成员,同时应强调不同分工、不同环节的成员应 当相互协作,共同完成任务。虽然项目的进行有不同阶段的划分,但各阶段还是相互联系的。上一阶段工作的结束不能只交付阶段性成果,往往要通过多次沟通才能更为清晰地披下一阶段成员所接受,其有效性、合理性也要被下一阶段的工作所检查,通过检验有时也有必要对上一阶段的工作结果进行相应的凋整。因此,项h组成员都应根据需要相互协作,相互配合,共同完成任务。
24加强沟通意识
项目沟通管理指出:“管理者要用70%的时问用十与人沟通,而项目经理需要花费90%或更多的时间来沟通”从沟通的效果和效率角度出发,一股应注意下面四种情况:首先是沟通之前对沟通的基本慨念和目标进行清晰的界定其次是不能凯溺十沟通本身,而必须时刻清楚沟通的目的;意到沟通是有成本的,沟通的时间就是成本,客户在为这些成本买单第三是一些规则,包括时和回合的限制、耐心听完对方的i舌,进行“集中”决策。最后是为了做好事件.必须事先进行明确,进行充分的授权。另外,项目经理及其项14组成员要对项14下系人进行分析,项目1:系人分析要记录重要的i:系人的人名、组织、他们各在项目中的角色、每个i:系人的实际情况、他们各自的项目利益大小、以及各自对项目的影响程度,以及管理这些项14 r系人的有关建’义等。通过沟通协调.以驱动他们对项目的支持,减少其对项41的阻力,以确保项41获得成功
2.5加强风险管理意识
项目经理必须通过学项41管理知,掌握项h风险管理的必备知,加强对项14汁划中的风险管理汁划的审核,提高项41组的管理意识。总结本行业项目中常见的风险及其对策作为风险管理汁划中必要的『x【险内容,并切实评估相应对策的有效性和可行性。
2.6重视项目经验总结
项41经理及管理人员应对项目经验总结引起足够重视。在制度上鼓励和jju强项目经验总结工作,使得项41经验总结及时并且具有指导意义而不是敷衍了事,为以后的项41人员更好地工作提供一个极好的资源和依据。
3结束语
综上所述,在软件项目管理的过程中,只有实施规范化管理,才能更有效地发挥项目管理在软件i:发中的作用,增大项目成功的机会。现阶段,}}{于软件项目管理实施的时问不长、经验不足,我们只有通过不断地实践并从中积累经验,进一步完善软件项目管理的理沦体系,将软件项目管理更有效地应用到软件开发的实践中。
【摘要】随着信息技术的不断发展,软件行业的开发规模也在不断的发展壮大,通过个人方式进行软件开发的模式已经逐渐不能适应软件开发行业的发展现状。为了提高软件开发水平和效率,各个软件开发企业都在软件开发过程中采取科学的软件管理方案,如何将项目管理科学引入软件开发的过程中已经成为软件开发行业需要深入探究的问题。在进行软件开发的过程中,通过软件项目的计划与控制管理已经成为软件开发项目顺利进行的重要保障,与其他项目相比软件项目具有其特殊性。软件开发属于知识产品实体化,不易把握项目的进度和质量,其次软件开发项目是一个复杂的系统性工程,鉴于软件开发项目的特点,软件开发项目管理还很不成熟,本文中对软件开发项目管理的具体方法进行研究,以为软件企业实施软件项目管理提供参考。
【关键词】软件项目;软件项目管理;计划和控制
软件项目管理是指工作人员在软件开发的全过程中通过引入科学的管理达到降低成本、保证产品质量和提高设计生产进度的目的。在实施软件项目管理的过程中,相关工作人员首先需要清除项目的根本任务,保证软件开发在分析、设计、编码到测试的全过程中可以在管理者的控制下顺利进行。软件项目管理具有其自身的特点,目前常用的项目管理方法多是从原有的例子中总结经验,这就要求项目管理者不断总结实际项目中的方式方法,掌握软件项目管理的理论模型和科学方法,保证软件开发项目的顺利进行。
1软件项目管理的质量控制
1.1软件质量概述
对软件质量的定义与传统意义上的质量概念相同,但同时为了提高项目管理中的实用意义,通常会根据软件开发的特性进行调整。简单来说,软件质量可以定义为“无缺陷”的达到软件开发前期的预想功能,但软件开发企业通常将客户需求作为软件开发的基础要求,因此软件开发企业对质量的定义需要进一步扩展,需要根据客户的需求来制定本软件开发项目的质量。软件在开发的过程中必须要满足用户的需求,作为一项复杂的系统性工程,为了满足软件开发过程中各项定义和性能需求,就需要建立符合文档化的开发标准,并相应的设计出符合本项目的质量特性及组合,当产品在验收的过程中都能满足这些质量特性时,就证明该软件产量质量较高。
1.2软件项目管理的质量保证概述
保证软件项目管理质量是实现软件开发顺利实施的前提,目前,加强软件项目管理主要可以从两个方面进行把控:①软件开发项目立足于客户驱动,需要注意复审和校核方法的一致性,在这过程中需要通过制定一种客观的标准来校验软件开发过程及其工作成果的质量,通常情况下软件质量标准由质量保证小组完成。②软件项目的质量保证需要树立管理者驱动的观点,在这过程中清楚的认识到通过何种措施可以提高产品质量,并需要建立何种管理和控制机制才能确保这些措施的顺利执行,它必需要包括项目所需要的质量特性、可实现的质量要求以及可显示的已达到的质量要求。
1.3软件项目管理的质量保证研究
软件的质量保证,是贯穿在软件开发全过程中且具有独立特性的第三方审查活动,在软件项目管理的过程中起到重要的作用。由于质量保证措施在软件开发行业引入时间较短,因此很多软件企业并没有建立与软件项目相配套的管理人员和工作方法,完整的软件质量保证体系还并未在软件开发行业中建立起来。软件质量保证通过引入第三方的角度来监控软件开发的执行情况,检测软件开发项目是否遵循既定的开发计划,管理层可以通过对反映产品和过程质量的信息和数据审查,及时调整软件开发的方案和进程,保证软件可以满足评审和测试需要,最后实现企业可以开发出具有高质量的软件产品。
2软件项目管理控制方法的基本原则
2.1注重项目开发过程中的层次性
软件开发根据项目的不同具有很大的差异性,根据软件设计的层次阶段不同可将软件项目计划分为高级计划、阶段计划和低级计划。在软件项目的前期需要对项目进行阶段的划分,这种计划称为早期计划,这时需要对人、财、物三个要素进行划分。在进行不同阶段交替的过程中,需要对下一阶段进行提前的规划部署,通常称作阶段计划。在阶段计划中需要明确各项目的负责人、起始时间节点、设备资源以及各个子任务之间的依赖关系等。低级计划是指软件开发人员的个人计划,这部分通常由开发人员根据自身的实际工作情况进行制定。在实际的软件开发过程中通常可以分为4个级别,而较小的软件项目也会分为2个级别,因此在进行软件项目管理的过程中需要注意开发过程中的层次性。
2.2注重运用过程化的思想指导开发
能力成熟模型是目前软件开发项目中广泛使用的方法,其核心思想就是将软件开发看做为一个过程,因此在软件项目中运用过程化的思想指导开发,可以保证软件开发更加科学化、标准化,企业能够更好地实现商业目标。能力成熟模型定义了包括初始级、可重复级、已定义级、已定量管理级、优化级在内的五个等级,当软件开发进入到可重复级时,这时就可以认为该软件项目具备了基本的控制能力。当一个项目成功后,即可认为下一个项目也可以成功。通常情况下,在项目实施的过程中需要根据项目的实际运行情况对项目计划进行修改,对重新策划的内容都包含在可重复级中。目前,大部分的软件开发公司都难以达到能力成熟模型可重复级,但也要树立过程化的思想来保证软件开发的顺利完成。
2.3注重历史数据的运用和积累
软件开发通常情况下是对未知项目的创新,因此很多项目在研发初期对需求不能清晰理清,但高质量的项目运作必须建立在对需求的准确把握上,因此在进行软件项目管理时首先就需要把模糊的需求尽量准确化。为了提高软件项目管理计划的准确性,就要充分利用以往类似项目的历史数据,不仅成功的数据具有参照价值,失败数据也同样具有借鉴价值,可以根据这些历史数据弥补开发前期需求的模糊。通过对这复用资源的积累,可以将以往的成功经验高效传承。
3结束语
随着社会经济的不断发展,信息技术行业取得了前所未有的成就,但随着信息技术的发展不断进入深水区,社会各界对于信息技术的发展也提出了更高的需求。随着软件开发不断趋向复杂,技术人员在开发的过程中面临着软件开发绩效差的问题,为了有效提高软件开发的实际效率,项目管理被人们更多的应用到软件开发的过程中。
作者:倪丽丽 单位:连云港港口集团有限公司
1缺乏项目管理软件给企业带来的问题
从一般意义而言项目的投资情况、工程进度和施工质量是企业管理层面最为关心的方面。在这其中最为重要的是公司每个部门需要对信息进行共享,由于每一个不同的项目都会关联到公司的各个方面甚至还和政府以及其他企业有一定的联系,所以需要相互之间沟通的信息很多。为了掌握项目的进度等信息企业一般采用传统开会等方式,但这种方式有时会受到各个方面的制约效率比较低。企业各个项目相关审核文件、施工进度、合同以及原材料的采购等信息非常复杂并且随着工程进度发展会牵扯到更加复杂的事情。尤其是对于大型项目而言相关的管理者很难对项目的进展程度做到实时的掌握。并且相关的项目进展信息都是以纸质档的形式保存在查阅的时候很难查找。
2项目管理软件要解决的问题
2.1建立完善的授权机制
在相关公司对项目建立相应的授权机制时有几点需要特别注意。首先项目管理软件的最高权限属于领导者,从此可以放心将重要文件放在网络之上,而不必担心泄密。其次,当项目的领导者拥有软件的最高权限后,相关的项目执行软件者将拥有相对应权限,并且随着授权机制的采用使项目管理者能够实时的掌握项目信息并且保证项目相关的信息的安全性。
2.2增强部门之间的沟通效率
在企业内部每个项目包含的信息量非常大,并且会涉及到不同的部门之间的合作。如果项目的相关信息沟通不畅将造成项目进展的进度降低并且影响员工的工作效率。所以应该依靠项目管理软件建立完善的信息交互共享机制,这样项目相关的信息能够得到最大限度的沟通共享。项目管理软件在功能上应该具备强大的自动记忆功能能够满足相关人们实时的信息查询需求。另外,还应该具备相关文件的快速传递能力,相关的工作人员能够通过项目管理软件快速接收项目文件。最后,能够实现不同部门间、员工间、领导和员工间之间的实时交流。
2.3建立协同的工作管理系统
公司中的每一个项目不是单独的一个部门能够完成的,这需要每个部门之间的通力合作才能够实现的。由于每一个部门主要负责的业务内容不同,作业应当建立一个有效的工作管理系统。可以使用WBS技术实现不同部门之间的有效沟通,并且依靠本系统能够将项目中的每一个任务分配到具体的个人上面,从而有利于提高项目的进度并且有利于相关考核工作的实行。
2.4能够实现对项目的动态控制
由于公司的每一个项目牵扯到不同的部门,并且还有可能涉及到其他的公司,项目在实施过程中有很多的不确定因素,所以对项目的实时信息的掌握在一定程度上决定着项目质量。相关实践证明,采用相关网络计划技术能够将相应的建设周期缩短到原来的80%左右,并且整个工程的施工成本将降低到原来的90%左右。所以可以将网络计划技术作为对项目实施信息掌控的重要核心技术之一。应用网络计划技术能够将整个项目进行科学合理划分,对工程进度能够合理的安排并且进行统一的规划,从而使用最少的时间和最少的资源保证项目进度和施工质量,提高项目实施效率同时降低成本。
2.5实现全员管理
对于项目进行管理从本质上而言是对参与项目的人员的科学管理,对全员进行管理时应该合理的处理好不同部门之间的权利和责任等不同问题,应用那些具体的矩阵式组织形式的项目管理软件从而充分发挥人的积极性,从而保证项目实施的质量提高人员的工作效率。
3项目管理软件对企业管理的重要性
项目管理是企业改革、创新的重要管理方法,市场竞争越来越大,并且随着经济环境的不断发展,企业需要不断根据实际情况适应性的市场变化,重新组织企业资源,整合工作流程,加强技术创新是企业提升竞争力的有效方法,变革管理已经成为企业适应变化而生存的基本出路,而项目管理正是被实践证明、且行之有效的变革管理方法。以项目管理软件系统为基础,可将公司各种与项目相关的关系通过集中、明晰的方式管理起来,进行统筹协调。在企业的经营活动中,存在着事务型和项目型两种工作类型,这两者之间存在一定的重叠。另外,项目的管理需要设计、技术、实施、财务、市场、设备、物资、运营等部门的密切配合,利用项目管理软件系统,能够打破部门的界限按照项目管理的需要建立企业网络化的工作模式,将与项目管理相关的部门通过集中、明晰的方式管理起来。这样可以将事务型工作和项目型工作区分开来,避免因二者隐含和混淆的关系而影响项目的管理效率。将公司的项目管理软件系统与其他软件系统进行相应的关联,从而形成一个整体高效的管理平台。现阶段各个大型企业常用的项目管理软件已经能够将企业网资源、应用软件管理、信息交流、数据安全和远程监控等一体化管理,从而共同形成统一高效的企业管理平台,是企业各个部门和管理系统进行同步。这样就能够实现上级领导对企业相关信息的实时掌握和决策,另外采用项目管理软件能将相关的管理等部分整合进去,从而提高项目实施的效率降低企业的管理成本。
4结语
通过上面的分析可知,企业采用项目管理软件能够给企业解决诸多实际问题,能够提高企业的工作效率对于企业的长远发展具有重要的意义。因此,在未来项目管理软件具有很好的发展和应用前景。
作者:赵薇娜 单位:中国核动力研究设计院