软件开发项目总结汇总十篇

时间:2023-03-07 14:58:19

序论:好文章的创作是一个不断探索和完善的过程,我们为您推荐十篇软件开发项目总结范例,希望它们能助您一臂之力,提升您的阅读品质,带来更深刻的阅读感受。

软件开发项目总结

篇(1)

软件公司开发项目的是软件开发公司的实际经营活动,项目的实际成果直接影响企业的持续健康发展。在实际的软件开发项目进行的过程中,成本是影响项目经济效益的重要因素。与此同时,软件开发行业间的市场竞争日益激烈。这也就使得软件开发企业需要迫切的进行开发项目的成本核算。科学合理的成本核算,有效的成本控制策略,能够有效的降低软件开发项目的成本,从而保障软件开发企业的经营成本。在对软件开发项目的成本核算时,需要合理的对软件开发的全过程成本进行核算,准确的对项目的开展状况进行评估,确保项目的进度和收益,从而增加软件开发企业的竞争力,增加软件开发公司的市场份额,促进软件开发公司的持续健康发展。

 

一、软件开发项目成本核算内容

 

现阶段,软件开发项目的成本核算内容主要分为直接成本和间接成本。软件开发项目的直接成本主要包括项目在实际的开发过程中的人工费用和材料费用、各类直接消费。软件开发项目的间接成本是各项非直接费用的综合,主要有管理费用、员工福利、各类保险等。在进行软件开发项目成本核算时,需要对软件开发项目的全过程进行成本核算。其中在进行项目立项和招投标阶段,需要对项目的实际情况:材料、工时、工作量、交货期的相关情况进行实际分析,此外,和需要有效的对相关合同款项进行审核,避免在软件开发项目中,相关合同条款不清晰,给软件开发企业带来成本增加。在项目的执行过程中,先量化项目,项目进度与动态成本控制,成本偏差与进度偏差,项目预算与项目实际执行每月比较,并关注项目的关键点和瓶颈,并合理的进行风险评估。最后进行项目的审核,完成项目收尾。

 

二、软件开发项目全过程成本核算

 

(一)项目立项和投标阶段

 

相关成本核算人员需要实际的清晰软件开发的具体情况,并合理的配合相关预算人员合理的进行成本预算,从而促进软件开发项目的成本核算。在实际的项目立项和投标阶段,成本核算人员需要对软件开发项目的材料、工时、控制点(工作量)、交货期等内容进行科学有效的分析,从而便于成本核算的真实性和有效性。此外,还需要进行严格的合同审核工作。在进行合同审核时,不但需要对公司自身的先关条款进行审核,还需要对对方的条款进行有效的审核。并对合同的相关权利和义务、责任进行有效的分析和明了,避免责任不清的情况发生。同时,还需要对合同中的文字、字面表达、相关条款是否完备。还需要注意合同的签订手续是否完备,并结合《合同法》的相关内容,对合同的风险防范措施进行优化,从而避免合同纠纷的发生,避免软件开发企业的不必要成本。

 

(二)项目的风险控制

 

项目的风险控制是确保软件开发项目进行的重要工作,是避免不合理之处发生的重要工作。首先,在实际的风险控制中,需要注意公司的外汇风险控制,合理的对国际市场外汇走势进行分析,合理的进行事前、事中、事后控制,避免经营外汇风险的发生。其次,有效的对技术风险进行规避和控制,制定有效的人才留住措施,避免人才的流失,科学合理的对相关技术人员进行培训,合理的对新的领域进行迈进,客观公正的对新技术和新开发方案进行评价,从而有效的控制技术风险的发生。再者,安全风险是影响软件开发公司的重要因素,一旦开发方案泄漏,避免会造成整个项目处于停滞阶段,影响项目的交货期,并造成大量的成本流失。因此,需要采取科学有效的保密措施,并合理的进行知识产权保护,规避安全风险的发生,从而有效的降低不合理的成本支出。

 

软件开发企业需要建立有效的风险控制措施,并规范风险控制管理过程中,合理的进行风险识别、风险分析、风险计划,风险控制等等,从而有效的实现风险控制,避免软件开发企业不合理的成本的发生。

 

(三)项目执行阶段

 

在项目的执行过程中,需要合理的对项目的料工费进行分析与核算。对直接人工成本和间接人工成本进行核算,并有效的结合材料费。直接人工成本主要是将参与项目执行人员的工时进行整合,并结合项目人员的工资情况,将参与项目人员的总的人工成本进行累加,从而得到项目的直接成本。而间接人工成本的构成较为复杂,也就使得间接成本核算工作较为困难。在进行间接成本核算时,需要将参与项目开发员工的福利、各类保险、培训费用等纳入到成本核算中。材料费用是项目研发过程中的实际消耗的材料费用,是直接成本。对于其他间接成本也需要有效的进行记录与核算,从而有效的完成软件开发项目的成本核算。

 

项目进度与动态成本控制,在实际的软件开发项目执行过程中,项目的进度与动态成本控制是成本核算中的重要组成部分。现阶段,软件开发行业间的竞争日益激励,这也就使得软件开发企业需要合理的控制项目进度,避免出现交货期到不能实现项目提交的情况,在保证项目质量的基础上,有效的缩短工期,从而提升企业的竞争力。在有效的控制项目进度的基础上,有效的展开动态成本控制,从而降低项目执行阶段的成本,实现企业的持续健康发展。

 

成本偏差与进度偏差,项目预算与项目实际执行每月比较,合理的对成本偏差与进度偏差的分析。在进行项目预算与项目实际执行进比较,其主要比较内容包括:预算完工与实际完工,预算利润与实际利润,预算材料与实际材料,预算工时与实际工时。

 

关注项目的关键点和瓶颈,控制不好的差异,针对项目的关键点进行有效的分析,针对项目中的关键点,进行科学的成本核算,有效的控制项目中不好的差异,从而有效的提高软件开发项目的成本核算的效果。

 

(四)项目收尾阶段

 

在实际的软件开发项目收尾阶段,需要合理的对整个项目的成本进行系统的整合,并最终与初始的预算进行比较。并针对项目中不合理的成本支出进行有效的分析,并做好相关的预案避免下次项目再次出现。还需要对项目的工期,施工进度、暂停等内容进行总结,并有效的总结项目全过程的成本构成,合理分析期间的成本核算的不足之处,有效的促进整个项目的顺利完成,实现软件开发企业的持续健康发展。

 

三、结束语

 

篇(2)

进入21世纪后,伴随着计算机技术和网络技术的飞速发展,各种智能终端设备逐渐兴起,也使得人们对于软件的需求达到了一个前所未有的高度,推动了我国软件产业的发展。而在软件开发过程中,需要切实做好项目管理工作,提升管理水平,才能够促进我国软件产业的进一步发展壮大。

一、软件开发与项目管理

简单来讲,软件开发就是依照客户的需求,构建软件系统或者系统中的软件部分,其是一项包括了需求捕捉、需求分析、设计、实现和测试的系统工程,需要借助某种本程序设计语言实现。软件开发的主要流程包括:需求分析、总体设计、细部设计、编码、单元测试、综合测试、运行以及维护。项目管理则是指在一定的约束条件下,为了实现某个特定的目标,依照项目自身的内在逻辑规律所进行的系统管理活动。相对于软件开发而言,项目管理需要遵循几个基本的原则,一是依照分阶段的生命周期计划,进行严格管理;二是做好相应的阶段性评审;三是重视产品控制;四是应用现代程序设计技术;五是确保开发人员的专业素质较高,同时对人数进行控制;六是必须能够对结构进行清晰地审查;七是必须承认软件工程实践持续改进的必要性[1]。

二、基于软件开发的项目管理实践

以智能手机系统为平台,针对手机软件开发的项目管理实践进行简要分析和讨论。

2.1需求分析

需求分析是软件开发的基础与前提,能够获取和记录系统需求,确保客户与项目团队在系统需求变更上的一致性,避免软件开发过程中不必要的弯路。需求分析法包括了用户问卷调查、研讨会以及原型展示等,需要安排专人做好相应的记录工作,并及时对其进行总结和归纳,做好应对策略。在该项目中,软件需要满足的需求包括:适用于主流手机操作平台,充分考虑不同硬件配置以及操作系统版本的兼容性;可以跨平台运行,同时不需要占用过多的系统资源;确保数据连接的速率以及操作的流畅性等。

2.2设计编码

系统设计包括了总体设计和细部设计两个不同的阶段,其中,总体设计应该大致规划出软件的功能模块,做好相应的功能分区,并对其进行初步的设计分析,细部设计则需要给出每一个功能模块的控制流程、算法以及数据结构等,确保每一个模块都有不同的层次。对于一些难度较大、涉及面较广的模块,可以交给一些经验丰富、心细缜密的技术人员完成,并做好模块的测试与修改,保证其稳定可靠,尽可能降低风险与成本[2]。

设计完成后,需要进行编码工作,采用代码版本管理工具SVN,以确保各个子系统的功能都能够得到最大限度的发挥,实现系统之间的功能互补,从而降低软件开发的风险和难度,提高软件过程的跟踪率。

2.3测试运行

软件测试并非单纯的某个环节,而是贯穿于整个软件开发项目中,制定出详细全面的测试计划,并对测试用例进行用心编写。软件中的每一个子模块都应该由编程人员之外的技术人员进行反复测试,同时对测试过程中出现的问题进行记录,提出相应的修改意见,由相应的编程人员进行修改。在对测试用例进行编写时,需要对测试目标、测试环境、测试步骤、预期结果等进行记录,形成具有代表性的数据信息。在测试完成后,需要首先在小范围内,对软件的子模块进行试运行,确认无误后再对软件整体进行试运行,结合运行反馈结果,评估软件的可靠性,采取相应的完善措施。试运行成功后,需要编写相应的用户手册,制作视频说明,帮助用户了解和使用软件,同时标注联系方式,方便用户进行反馈。

2.4后期管理

在系统安装试用一段时间,具备相应的验收条件后,需要进行验收准备工作,对之前的工作进行总结,列出工作成果和相应的文档,审查相关技术文档中的内容和信息。应该对系统当前的完成状况进行明确,对于尚未完成的部分,应该采取有效策略去完成,或者设置相应的回避措施,确保客户在验收时不会提出这些未实现的需求。在交付使用后,需要做好软件维护工作,结合需求变化或者硬件环境变化对程序进行修改,确保其具备良好的实用性和适用性[3]。

三、结语

综上所述,软件开发项目管理与一般的项目管理存在着很大的差别,需要相关技术人员结合软件开发的具体流程,做好全过程管理,保证管理效果,在完成预定功能目标的基础上,提升软件的可靠性与安全性,确保软件的有效应用。

参 考 文 献

篇(3)

0引言

风险无处不在,它在任何软件开发项目中都有可能发生。风险有几种形式:自然灾害、安全漏洞、人力资源缺失、第三方供应商问题、金融危机、不稳定的商业环境和项目失败。因此,在进行软件开发前,工程师应该制定一个风险管理计划。该计划涉及风险评估和风险控制,工程师应列出软件开发过程中可能发生的问题,并列出这些问题的解决方案。这样,即使软件开发过程中遇到问题,风险管理可以帮助把有害影响最小化,从而避免软件开发项目的失败。然而,并不是每个人都关注风险管理,人们也很容易忽视风险管理的影响。实际上,风险管理对于软件开发项目非常重要,因为风险是影响项目成功的重要因素。因此,本文试图通过对文献的分析,找出一些有效的风险管理方法,让开发人员了解风险管理的意义。

1文献综述

风险管理是项目成败的关键因素,也是项目管理的本质。因为风险管理可以帮助开发人员发现项目的威胁,并将其最小化(Alhawarietal.,2012)。此外,成功的风险管理可以帮助项目经理按时交付项目(Grantetal.,2006)。有效的风险管理需要找到风险,而不是否认风险、隐藏风险(GrayandLarson,2008)。风险管理有五个主要阶段,即风险规划、风险识别、风险评估、风险响应、风险监控与沟通(Lester,2014)。项目团队应该关注风险响应、监控和沟通。响应意味着控制,它指的是制定一个风险管理计划,将风险识别并按级别排序。监控包括标记一个已知的可能发生的风险,并改变该风险的可能性。沟通包括让项目团队中的所有人都知道风险管理的结果。风险响应、监控和沟通对于风险管理过程是必要的。项目团队聚在一起讨论并制定最新的风险管理计划,能提高按时完成项目的机会。Otniel、Nicolae、Claudiu(2012)提出通过对软件开发项目的分析,发现项目管理的本质是风险管理,而风险管理的方法有多种,最有价值的方法是评估方法和管理方法。评估方法将风险管理视为事后评估过程,该方法旨在找出导致项目失败的原因。

2分析

2.1风险管理的意义

风险管理是项目管理过程的关键因素之一。有些风险是不可避免的,但风险管理可以解决问题。风险管理的主要功能是,如果在项目开发过程中发生较大的风险,风险管理将有助于控制风险,减少对项目的负面影响,以避免项目失败。它还可以帮助项目团队按时完成项目。然而,有些人认为在软件开发项目的过程中进行风险管理是浪费时间和不必要的。我不同意他们的观点,因为风险是影响软件开发项目成功的一个重要因素,有效的风险管理可以处理风险,而不是让项目一定成功。

2.2软件开发项目中风险管理的基本步骤

软件开发项目中风险管理有五个主要步骤。首先,开发团队应该制定风险计划,在风险管理过程中准备好所有的事情,例如定义项目经理和项目团队成员的角色和职责。下一步是识别和分类风险,然后在软件开发项目中标记这些风险。在此之后是风险评估,它与风险分析类似,项目团队成员应该深入了解风险。风险响应是这5个步骤中最重要的,在这5个步骤中,软件开发的项目团队成员应该找到应对风险的解决方案。最后是风险监控和沟通步骤,这一步意味着对风险进行沟通和报告,让所有开发项目团队成员了解关于风险管理过程的最新信息。

3风险管理的两种有效方法

篇(4)

软件项目管理是指工作人员在软件开发的全过程中通过引入科学的管理达到降低成本、保证产品质量和提高设计生产进度的目的。在实施软件项目管理的过程中,相关工作人员首先需要清除项目的根本任务,保证软件开发在分析、设计、编码到测试的全过程中可以在管理者的控制下顺利进行。软件项目管理具有其自身的特点,目前常用的项目管理方法多是从原有的例子中总结经验,这就要求项目管理者不断总结实际项目中的方式方法,掌握软件项目管理的理论模型和科学方法,保证软件开发项目的顺利进行。

1软件项目管理的质量控制

1.1软件质量概述

对软件质量的定义与传统意义上的质量概念相同,但同时为了提高项目管理中的实用意义,通常会根据软件开发的特性进行调整。简单来说,软件质量可以定义为“无缺陷”的达到软件开发前期的预想功能,但软件开发企业通常将客户需求作为软件开发的基础要求,因此软件开发企业对质量的定义需要进一步扩展,需要根据客户的需求来制定本软件开发项目的质量。软件在开发的过程中必须要满足用户的需求,作为一项复杂的系统性工程,为了满足软件开发过程中各项定义和性能需求,就需要建立符合文档化的开发标准,并相应的设计出符合本项目的质量特性及组合,当产品在验收的过程中都能满足这些质量特性时,就证明该软件产量质量较高。

1.2软件项目管理的质量保证概述

保证软件项目管理质量是实现软件开发顺利实施的前提,目前,加强软件项目管理主要可以从两个方面进行把控:①软件开发项目立足于客户驱动,需要注意复审和校核方法的一致性,在这过程中需要通过制定一种客观的标准来校验软件开发过程及其工作成果的质量,通常情况下软件质量标准由质量保证小组完成。②软件项目的质量保证需要树立管理者驱动的观点,在这过程中清楚的认识到通过何种措施可以提高产品质量,并需要建立何种管理和控制机制才能确保这些措施的顺利执行,它必需要包括项目所需要的质量特性、可实现的质量要求以及可显示的已达到的质量要求。

1.3软件项目管理的质量保证研究

软件的质量保证,是贯穿在软件开发全过程中且具有独立特性的第三方审查活动,在软件项目管理的过程中起到重要的作用。由于质量保证措施在软件开发行业引入时间较短,因此很多软件企业并没有建立与软件项目相配套的管理人员和工作方法,完整的软件质量保证体系还并未在软件开发行业中建立起来。软件质量保证通过引入第三方的角度来监控软件开发的执行情况,检测软件开发项目是否遵循既定的开发计划,管理层可以通过对反映产品和过程质量的信息和数据审查,及时调整软件开发的方案和进程,保证软件可以满足评审和测试需要,最后实现企业可以开发出具有高质量的软件产品。

2软件项目管理控制方法的基本原则

2.1注重项目开发过程中的层次性

软件开发根据项目的不同具有很大的差异性,根据软件设计的层次阶段不同可将软件项目计划分为高级计划、阶段计划和低级计划。在软件项目的前期需要对项目进行阶段的划分,这种计划称为早期计划,这时需要对人、财、物三个要素进行划分。在进行不同阶段交替的过程中,需要对下一阶段进行提前的规划部署,通常称作阶段计划。在阶段计划中需要明确各项目的负责人、起始时间节点、设备资源以及各个子任务之间的依赖关系等。低级计划是指软件开发人员的个人计划,这部分通常由开发人员根据自身的实际工作情况进行制定。在实际的软件开发过程中通常可以分为4个级别,而较小的软件项目也会分为2个级别,因此在进行软件项目管理的过程中需要注意开发过程中的层次性。

2.2注重运用过程化的思想指导开发

能力成熟模型是目前软件开发项目中广泛使用的方法,其核心思想就是将软件开发看做为一个过程,因此在软件项目中运用过程化的思想指导开发,可以保证软件开发更加科学化、标准化,企业能够更好地实现商业目标。能力成熟模型定义了包括初始级、可重复级、已定义级、已定量管理级、优化级在内的五个等级,当软件开发进入到可重复级时,这时就可以认为该软件项目具备了基本的控制能力。当一个项目成功后,即可认为下一个项目也可以成功。通常情况下,在项目实施的过程中需要根据项目的实际运行情况对项目计划进行修改,对重新策划的内容都包含在可重复级中。目前,大部分的软件开发公司都难以达到能力成熟模型可重复级,但也要树立过程化的思想来保证软件开发的顺利完成。

2.3注重历史数据的运用和积累

软件开发通常情况下是对未知项目的创新,因此很多项目在研发初期对需求不能清晰理清,但高质量的项目运作必须建立在对需求的准确把握上,因此在进行软件项目管理时首先就需要把模糊的需求尽量准确化。为了提高软件项目管理计划的准确性,就要充分利用以往类似项目的历史数据,不仅成功的数据具有参照价值,失败数据也同样具有借鉴价值,可以根据这些历史数据弥补开发前期需求的模糊。通过对这复用资源的积累,可以将以往的成功经验高效传承。

3结束语

随着社会经济的不断发展,信息技术行业取得了前所未有的成就,但随着信息技术的发展不断进入深水区,社会各界对于信息技术的发展也提出了更高的需求。随着软件开发不断趋向复杂,技术人员在开发的过程中面临着软件开发绩效差的问题,为了有效提高软件开发的实际效率,项目管理被人们更多的应用到软件开发的过程中。

参考文献

[1]邓子云.制订项目计划的方法与策略.企业技术开发,2004(1):24~26.

[2]白思俊.现代项目管理(上、中、下).北京:机械工业出版社,2002:23~37.

篇(5)

近期,我在负责的一个小型软件开发过程中忽视了小型软件项目的特点,结果是麻烦事情特别多,差点儿项目要以失败告终。但从另一个角度来看,项目的大与小并没有本质的区别,很多方法是共通的,但必须要切合实际来灵活运用。本文结合我在这个小型软件开发项目中得到的经验和教训,首先分析小型软件开发项目中常见的问题,然后提出相应的解决办法。

一.小型软件开发项目中常犯的错误

小型软件开发项目一般具有项目需求相对较少、人员较少、开发周期较短的特点。因此,小型软件开发看起来都比较简单,比较容易成功,因而人们往往忽视了小型软件开发的管理,其实这是一种误解。例如,由于人员较少就分工不明确或由于开发周期较短就忽视项目计划和进度表的控制,结果是经常会出现开发流程混乱,重编码轻设计,甚至到编码完成后再回头编写各种文档资料等现象。从我这次的开发经验看来,在小型软件开发管理中最容易犯以下的错误:

(1)没有重视项目计划,做一天和尚撞一天钟

往往由于项目较小,便很草率地制定一个开发日程表,也没有认真地估计项目难度,结果是实际完成时间与估计完成时间往往有较大差别。还有人是这样说计划的:"计划、计划,纸上画画,墙上挂挂,计划不如变化"。因此,由于观念的不正确使到计划管理经常成为空话,特别是在小型软件开发中影响计划的因素太多时或加上想省事怕麻烦,结果计划管理就形同虚设了。

但是,软件进行项目管理的目的就是综合各种因素,制定合理的计划,并通过计划的实施,使其规范化,从而提高人员效率,降低项目成本。因此,软件开发无论项目大小,其实都需要计划过程。只是对于小型软件项目来说,计划阶段可能切换的很快。例如,有时候项目负责人只是脑海里想一遍就把计划确定了。但项目负责人必须心里要清楚:有时候想省事儿,可能反而会更加费事儿。俗语有云:一年之计在于春、一日之计在于晨。其意义不是说越早做越好,而是阐述一个目标的实现需要尽早做规划。

(2)没有完整的开发文档,无意之中增大项目风险

一个完整的软件开发项目应包括有相当多的相关文档:例如项目开发计划、软件需求说明书、概要设计说明书、详细设计说明书、开发进度月报、测试计划和开发总结报告等。而在实际中,许多小型软件项目只有简单的流水帐式的开发日志。最常见的借口往往是以文档滞后来解释文档的不健全,这似乎没有什么不妥,而且好象还理直气壮的。但如果将软件项目叫做"工程"的话,再将其与建筑工程相比较,那我们也就可以说:大楼有了,图纸滞后,这是很可笑的。还有许多开发人员认为软件设计已经在其脑子里完成了,在其意识里工作就只是一堆需要敲出来的程序,既然能直接敲得出来,自然没必要再做写文档的重复工作。

这样做的结果使到设计思路和实现细节在项目团队内的交流很困难,开发过程会由于需要大量尝试性、重复性工作而变得缓慢,而且会出现许多意想不到的大大小小的问题,狼烟四起之时最重要的工作就变成了"救火"。所以,在小型软件项目里会"救火"的技术人员会成为大家推崇和依赖的英雄。但这种"救火"式的行为最终结果却是项目延期成了普遍现象,产品质量也得不到保证。另外,如果这个英雄半途离开,那没有任何文档支持的中间结果对其它人来说基本上就是"一堆垃圾"而已,项目被迫中断就成了家常便饭。

(3)人员没有技术分层,职责不清分工不明

许多小型软件开发项目一直采用个人主义式的开发方式,决定了规范化开发方式的不被认可。对规范化管理的淡漠,抑制了团队工作效率的提高,甚至扼杀了其生命。所以,小型软件项目往往要求主要的项目人员从各个方面都得是非常出色的,不仅要全面地掌握系统架构知识、具有业务分析和系统设计能力,而且还得是多种流行开发工具的专家、数据库的专家、网络配置的专家等,但这样的全才和通才往往是可遇不可求的。

因此,小型软件项目更需要做技术分层,例如系统分析员、需求分析师、程序员、测试员等。在项目开发中相应的角色必须要有相应的专业人员来担当,当然可依据项目规模大小和现有人员来合理配置。这里强调技术结构分层和技术人员划分,更多的是技术责任的明细,而非具体个人的技术定位,将技术任务和相应的责任划分到具体的岗位、将岗位落实到具体的人,这与具体技术人员身兼数职是不矛盾的。

而我们经常看到的是在许多小型软件开发过程中,人员职责不清、分工不明的现象非常严重。有的甚至从调研到分析、设计,到开发、调试,再到测试一气呵成。先不说工作量有多大,仅从项目的风险来说就是非常可怕的,更不用说最大限度发挥开发人员的长处了。

二.小型软件实行项目管理的方法和步骤

为什么小型软件开发项目却会面临更多的失败风险呢?在我所负责的项目面临下马前的每一个夜晚,我的脑袋里一直在思考这个问题。也许是多日思考的沉淀,也许是思绪在不停的四处游荡后的突发灵感。使我明白到原来决定小型软件项目成败的核心因素,是有没有坚持进行实行项目管理。现总结为以下几个要点:

(1)树立小型软件开发也需要项目管理的理念

但凡专业的软件开发人员都学过《软件工程》这门课,纵观这些指导性的理论以及建议。我们应该要树立即使是小型软件开发也应该在一定程度不要违背开发理论,必须要遵从于工程化软件理论的原则和方法,落实规范化的管理。否则,失败的风险将伴随着整个开发过程,而且越到后期失败的可能性会越大。

对小型软件项目而言,最急需的不是设计方法,也非分析方法,当然也不是开发方法,而是管理方法。因此,无论项目大小都必须要遵循一定的项目管理步骤。

从概念上讲,软件项目管理是为了使软件开发能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理还有利于将"英雄"式的开发人员的个人开发能力转化成团队的开发能力,团队的软件开发能力越高,就越能减小项目的开发风险。

(2)项目需求的确认

在软件开发中,最重要的活动是要明确项目的范围、需求和提出至少一个可用的软件架构方案。在明确项目范围的过程中,不能认为是小型软件开发项目就马马虎虎的、想当然的认为已经了解了客户的真实需求。项目经理应要就项目的边界、功能、限制条件等与客户进行协商,并应以需求说明书和功能说明书的形式把客户的需求记录下来,并且和客户达成一致的认识和理解。在此基础上,再提供至少一个合适的软件架构方案,并且完成原型系统。原型系统的目的不但是为了验证技术上的可行性,而且是为了给客户一个感性的认识,更好地完善对需求的理解和确认。

(3)人员角色的安排和定义

角色定义包括个人或团队的行为和职责,包括设计人员、编程人员、测试人员、项目管理人员和辅助人员。比较小的项目往往是几个人来完成,这几个人基本上从头到尾参加开发。而且由于项目小,项目负责人除了负责分析、设计和协调的工作外,也要参加编程。但在此过程中必须要合理进行人员角色的安排和定义,将技术任务和相应的责任划分到具体的岗位,再将岗位责任落实到具体的人身上,避免推卸责任或由不专业的人马虎应付了事。例如,一个人可以同时担当几个角色,一个角色也可以由几个人来共同承担,但前提都是要有责任的、有专业技能的。

(4)建立合理的开发流程,注重过程的衔接

一句话形容就是"麻雀虽小,五脏俱全"。也就是说即使是小型软件的开发,仍然应该遵循软件开发的一般规律,必须的步骤和合理的开发流程还是不能省略。不但要建立合理的开发流程,而且还要注重分析与设计过程的衔接。当然,小软件项目也有它自身的一些特点,实行起来可以相对灵活些。

例如:①要强调协调几个人的工作比某一开发人员完成一段编码更重要。因为在协调上出了漏洞,就可能导致很大的问题。②是给每个开发人员要有明确的任务书,也就是说每个开发人员必须非常明确自己的任务,而且这些任务是采用文档来表示。③是要让每个开发人员都清楚自己所做的工作在整个系统中处于什么地位,避免各人的代码编写完毕之后又要重复修改。

(5)重视文档化过程

在小型软件项目中有两个特点:①是由于人员少,意味着不同人员的程序之间交互、接口相对少一些;②是由于人员少,往往是同样的几个人从头到尾负责这个项目。但这两个特点会让人容易犯错误,就是往往是几个人碰一下头,讨论一下最基本的任务分工便分头去做自己的工作了,没有一份较正式的开发文档。当有人对任务理解有偏差时或有误解时,就可能会造成返工。因此,小型软件开发项目也不应该忽视文档化过程的作用。

文档化有三方面的作用:①是有助于团队沟通,能给别人一个交待以及给自己一个备忘。②是有助于自我理解,一般来说如果你不能写下它,你就可能没有真正的理解它。③是有助于连贯一致性,它会使团队拥有可重复的优势。虽然文档是如此重要,但在小型项目中有用的文档最好也不要太冗长繁杂,一般1-2页的过程说明就足够了。

(6)使用好制度与纪律这个工具

篇(6)

中图分类号:TP311 文献标识码:A文章编号:1007-9599 (2011) 13-0000-01

Demands Risk Analysis of Software Development

Sun Huiqing

(Wuhan Institute of Communication Command,Wuhan430010,China)

Abstract:This software development enterprises should be a greater problem.Based on the current status of the software industry's demand risk analysis,the demand for software development projects listed in sources of risk and analysis,summarized the causes of demand risk and the impact on the success of the project,software development projects is given in the demand for risk management and control recommendations.

Keywords:Software development;Demands risk;Risk analysis

一、对需求风险的理解

产品开发过程中,由于产品需求本身的隐含性、用户与开发者之间的沟通障碍,以及需求随着时间、用户的变化而变更等原因,可能使需求分析偏离实际需求而最终导致产品开发的失败,这种可能性称为需求风险。软件开发项目风险是指在软件生命周期中所遇到的所有的预算、进度和控制等各方面的问题,以及由这些问题而产生的对软件项目的影响。需求分析是软件开发过程中最初始、最基础的工作,也是最重要的工作之一,其成败将直接并最终决定软件开发的成败,并且呈倍增效应。需求分析的关键是使隐含的需求明确,使变更的需求可控,采用座谈会、需求调查表、需求启发、角色扮演等方法可以使需求明确化;采用面向对象的方法及UML工具、领域专家的全程参与、需求分级、二次开发接口等方法可以使需求变更处于可控范围内。实践证明,这些都是控制需求风险的有效方法。

二、需求的获取

(一)产品前景和项目范围。应该在软件开发项目早期,编写一份包括业务需求在内的前景和范围文档,并将它作为添加新需求和修改现有需求的指导。

(二)需求开发所需的时间。将每个软件开发项目中需求开发所耗费的实际工作量记录下来,这样就可以判断出需求开发是否充分,并可以改进未来项目的工作计划。

(三)需求规格说明的完整性和正确性。为了确保需求是客户真正需要的,应该以用户任务为中心,应用用例技术来获取需求。

(四)创新产品的需求。对软件开发项目中的第1个产品,不太容易把握市场对软件产品的反映。

(五)定义非功能需求。由于我们一般都会强调产品的功能,所以很容易忽略产品的非功能性需求。

(六)客户对产品需求意见一致。确定那些主要的客户,并采用产品代言人的方法,保证有足够的客户代表的积极参与

(七)未加说明的需求。一般的客户会有一些隐含的期望要求,但并未以文档的方式说明出来。尽量识别客户可能做出的任何假设。

(八)把已有的产品作为需求基线来源。把通过逆向工程发现的需求编成文档,让客户来评审这些需求,确保其正确性和相关性。

(九)根据需要提出解决方案。软件产品分析人员必须提炼出隐藏在客户提出的解决方案背后的真正意图。

三、需求风险的来源

很多开发项目在确定需求时都面临着一些不确定性。当在开发项目早期容忍了这些不确定性,并且在项目进展过程当中得不到解决,这些问题就能对项目的成功造成非常大的威胁。如果不控制与需求相关的风险因素,就很有可能产生错误的软件产品或者拙劣地建造预期的软件产品。每一种情况对产品来讲都可能致命的。

需求风险的来源包括:没有足够用户参与、不断增加的用户需求、模棱两可的市场需求、不必要的特性、过于精简的规格说明、被忽略的用户分类、不准确的产品开发计划。

软件开发项目风险中与客户相关的风险因素有:(1)对软件产品缺少清晰的认识;(2)对产品需求缺少认同;(3)开发者在做需求调查中客户参与不够;(4)市场中没有优先需求;(5)不确定的需要导致出现新的市场;(6)不断变化市场需求;(7)缺少有效的需求变化管理过程;(8)对需求的变化缺少相关分析等。

四、需求风险的管理

(一)制定风险管理计划。对于一个软件开发项目,你可以把控制风险的计划放在软件项目管理计划里面。但是一个大项目则需要有一份独立的风险管理计划,包括用于识别、评估、编写、跟踪产品开发风险的各种方法与途径。这份计划还应包括风险管理活动的角色和责任。通常情况下,项目小组为他们的关键活动制定了计划,但是在项目中并没有按计划去实施或者没能按实际情况进行及时的调整。一定要坚持按照所采取的风险管理活动计划去执行。项目的进度安排上也应该要给风险管理留出足够时间来确保项目并未浪费早期投资在风险计划制定上面。工程项目的工作分类细目结构中包括降低风险的活动、状态报告,与更新风险清单。和其它项目管理活动一样,需要建立起周期性的监控措施。保持对十来个有最大危害的风险的高度重视,并追踪降低风险措施的有效性。当完成一项活动后,重新评估那项风险的可能性和影响,更新风险清单和其它相关的计划。当控制住原本有很高优先级的风险后,必然有新条目会进入前十条。值得注意的是,不要仅仅因为完成了一项降低风险的活动而人为增加一条风险来进行控制。应当想想降低风险的方法是否真的减少了风险的危害,使它减少到了一个可以接受的水平。

(二)具体管理措施

1.首先要明确你当前软件开发项目面临的一些与需求有关的风险,不要把当前的问题当作风险,一定要是那些还未发生的事情。将风险的因素编写成文档,为每项需求风险推荐至少一种可能的降低风险的方法。

2.召集代表开发、市场、客户和管理各方面的涉众召开风险“集体研讨”会议。尽力找出更多与需求有关的风险因素。估计每项风险发生的可能性及其影响,两者乘积就是风险危害值。通过按风险危害值降序排列找到最高的五项风险。为每项风险安排一个负责人负责实施降低风险的活动。

五、结束语

软件开发项目中的需求风险是所有风险中的一个不可忽视的组成部分,对其认识的必要性不言而喻,应该重视对它的分析,对需求风险的合理管理也是软件开发项目项目管理中不可或缺的部分。

篇(7)

任务管理――明确任务,是解决冲突的根源

明确的工作任务和职责划分是项目顺利实施的必要前提之一,但软件项目的特殊性使得项目管理中至关重要的“范围管理”(Scope Management)遇到了很大困难,某些子系统的开发任务在业主与合作商签订的项目合同中进行了明确的定义,但仍然有许多任务需要双方在实施过程中逐步明确。在合作项目中,这种情况产生的后果相对更为严重,因为项目团队的工作方式是合作方式,当因工作任务不明确而产生问题时,极易在来自不同组织的团队成员间产生矛盾,从而引发冲突。

由于软件开发项目本身的特点,在项目启动阶段就给出完整的系统需求是极为困难(甚至是不可能)的,在许多情况下,随着开发进程逐步确定需求,以满足实际环境的不断变化不仅是权宜之计,而且更是现实的需要。另一方面,在大多数软件开发项目中,需求的逐步细化或更改尽管是不可避免的,但也是可以管理的。一般而言,在某一时点上的需求都包含两部分的内容:已经明确确定的部分和目前难以明确确定的部分,而“迭代式”软件开发过程的目标就是随着开发过程的深入逐步减少尚未明确确定的需求,并同时增加明确确定的需求。

“迭代式”软件开发过程的主要原理是:在软件开发项目(尤其是一些大型软件开发项目)中,在项目开始阶段,需求中难以明确确定的部分占有相当大的比例,因此在制定项目计划时基本上无法准确估算其工作任务的范围、进度以及相关的费用,这就给项目实施带来了极大的风险。在这种情况下,软件产品的第一版本(而不是软件原型)反映了需求中已经明确的那一部分的功能,此时,用户可以使用这个第一版本的软件并在使用过程中提出进一步的需求,然后项目团队可以根据上述相对更加明确的需求开发第二版本。在第二版本的软件开发过程中,用户可继续使用第一版本的软件(因为该版本软件是一个实际的完整产品而非原型,因此除了功能相对较弱外,用户基本可正常使用)。上述“迭代式”的软件开发过程能够在一定程度上有效降低大型软件开发过程中的风险。

但这种“迭代式”软件开发过程在合作型软件开发项目中会遇到一些困难,其关键在于:在这种方式下,项目实施过程中许多工作任务是逐步确定的,甚至到底要推出多少个版本在项目启动阶段也很难精确确定。另一方面,合作项目的合同却在项目开始阶段就需要签署,而合同的关键部分――项目费用在采用迭代式开发方式下很难在项目的开始阶段就确定,当然如果项目费用的支付是按照实际费用进行结算的话,这个问题并不存在。但在目前国内许多软件项目中,业主方往往倾向于使用“固定价格合同”以控制费用风险,这一合同形式要求对项目费用有相对明确的估算,这恰恰与“迭代式”软件开发方式产生了矛盾。

解决这一矛盾的方法之一是采用与之相适应的“迭代式合同”,即在项目的第一阶段,有关的工作被分为两部分:已明确确定的工作和尚未明确确定的工作,其工作任务内容分别来自于已经明确的需求和尚未明确的需求,其中明确确定的工作必须在第一阶段完成,并给出明确的费用估算,而尚未明确确定的工作在第一阶段可以是部分完成并在今后的阶段中继续进行;当第一阶段结束后,业主方支付确定的工作任务的费用以及已完成部分的尚未确定的工作任务的费用(这是由于费用结算是分阶段进行的,而工作任务的执行则是连续的,因此有可能根据实际的需要,某些尚未明确的、从而未在项目计划中反映的工作内容也已经在项目实施过程中完成了),并对剩下的工作进行重新估算,这样反复进行直到项目完成(如图1所示)。

这种合同制定方法使得业主方与合作商共同承担项目实施过程中的风险,随着项目实施进程的不断推进,产品需求和相关的工作任务变得越来越明确,工作任务中的“已确定”部分比例越来越高,双方所承担的风险也随之降低。

利益管理――建立开放的、互相信任的项目团队文化,平衡各方利益

当项目团队成员分别来自于业主方和合作商时,利益冲突几乎是不可避免的,尤其是对于涉及相对复杂技术的软件开发项目,利益冲突往往是最难以解决的问题之一。

首先,在技术方案的制定过程中,合作商方面的团队成员会倾向于选择那些对于他们自己所在公司而言费用相对较低的方案,而这些方案却常常不符合业主方的最大利益;另外,合作商方面提出的技术方案也经常会包含一些购买由其生产或经销的产品或工具等,这些建议的提出并不一定是恶意的,甚至确实存在充分的理由,但在业主方看来,却有可能成为合作商试图损害其利益的证据。

在这种情况下,一种开放性的、互相信任的团队文化的建设就有助于制定一个客观而准确的项目技术方案和实施计划。在许多情况下,召集一个由项目各方人士(包括没有利益关系的第三方人士)参加的评估小组有时是十分必要的,这种评估不仅包括技术方面的评估,更应当包括经济方面的评估。但从根本上来看,良好的团队文化与规范化的评估流程相比,同等重要(有时甚至更为重要)。

在项目启动之初就努力建立一种“项目导向”的思考方式对于解决各方利益冲突也能起到帮助作用,在这种思考方式下,项目本身的成功对于每个项目团队成员和项目参与各方(包括业主方和合作商)均是首要的:如果项目失败,则不仅业主方受损,从长远来看,合作商的利益(其市场地位)也会受到损害。同时,对于那些来自业主方的项目管理人员而言,适当的“换位思考”也是需要的。例如,来自于合作商的工程师可能会建议购买由他们公司生产的产品而不是购买其他公司的(可能是价格相对低廉的)产品,初看起来这一提议自然是损害业主方利益的,但如果考虑到对相关产品的熟悉程度将有助于工作效率的提高从而最终节约人工成本,这种建议也是有一定合理性的。

信息管理――充分的沟通和参与是有效的激励机制

篇(8)

关键词:PSP;TSPi;UML;软件开发;软件工程

中图分类号:TPG642 文献标识码:A

1引言

1.1实践训练的目的

在现有计算机软件专业本科教育中,缺少一种系统的实验实践方法,让学生综合运用所学计算机理论知识,以适应实际软件开发项目的需要,其结果是学生走向社会,没有成熟的开发方法和经验,需要大量摸索。为解决该问题,我们通过一个学生公寓宿舍管理系统项目,进行小组软件开发过程方法实践训练,使学生掌握数据结构、算法设计、数据库、软件工程、程序设计语言等学科的知识和软件开发的文档国标,从而能够融入到软件开发项目小组工作中或带领软件开发小组工作。

1.2 实践训练的题目选择

学生在大学期间都住校,对公寓宿舍的管理很清楚,对需求容易理解,容易做出需求分析,这是我们选择开发学生公寓宿舍管理系统作为实践训练题目的原因。当然也可以选择职工工资管理系统、学生成绩管理系统作为训练题目,业务需求尽量清晰简单,而且系统不要太复杂。

1.3实践训练所需资料

(1) 教材

人民邮电出版社的《个体软件过程》和《小组软件开发过程》。《个体软件过程》强调了项目的成功,首先建立在个体成员基本素养的基础上,培养学生按时高效地生产出高质量的软件产品并可对其工作质量进行预测的能力,提供工程师测量和改进工作方法的框架。《小组软件开发过程》有助于学生把课本上学习的软件工程理论转变成实际开发工程中可操作的过程,重点在于告诉学生一种小组方法,角色分工,每个人在项目中如何承担自己的岗位职责和积极协助其他成员完成工作,不断地通过软件开发工作取得个人进步和小组进步。只有通过个体开发工程师素养的提高和小组开发过程能力的不断增强,才能实现组织级的CMM级别跃迁。

(2) 软件工具

利用TSPi EXCEL制作项目计划和追踪项目进展,统计工作量,提高效率。利用VISIO制作用户需求文档和设计。

1.4实践训练评分标准

(1) 小组主要技术文档是否齐全:30%。

(2) 小组开发过程执行情况:50%,包含项目手册完整性、过程数据收集与按时提交情况、周例会组织与效果、计划实际完成情况。

(3) 小组开发过程项目总结报告:20%。

过去实验课,我们总是对每个学生单独评分,现在以小组为单位进行训练,小组每个成员的成绩都要和小组项目总成绩挂钩,小组成绩占30%,个人角色占70%。即使个人做得很好,但如果小组成绩不好,也直接影响到个人成绩。让大家明白,小组项目的成败与每个成员密切相关,正象一个足球队一样,需要全体队员的相互配合,取得小组的胜利才是最关键的。

2实践训练重点内容

2.1个体软件过程训练

(1) 文档规模估计方法

进行规模估计是软件开发人员最基本的素养,掌握规模估计的方法才能对个人开发工作效率、进度有一个估算。文档(需求、设计、使用说明书、标准制定)规模按文档页计算,界面设计以界面个数计算,分别用分钟/页、分钟/个、分钟/行作为开发文档、界面、程序行的效率计量单位。先积累规模实验数据,以后以此计算个人效率。实际项目开发效率的估算按单个练习时效率的30%计算即可。复杂程序或以前没有做过的效率估算要估得更低一些,循序渐进,估算越来越准确,且不可操之过急、目标太高。

(2) 个人承诺管理的方法

通过具体事例让学生明白,软件开发本身有许多不确定性,没有完全相同的案例可以说明我们能按时完成开发工作。因此,将承诺建立在个人实际工作能力的量化指标上,进行时间任务的计划管理是十分必要的。一般来说,只要是认真工作,没有被别的工作打扰,计划一旦落后,不要指望靠加班完成,需要调整计划,及时与对方沟通协商。

建立实际工作时间日志、程序开发时间表、缺陷管理日志等,认真对待PSP项目计划与总结表,是掌握个人开发技能状况的重要手段,也是兑现承诺的可靠依据。

2.2小组角色组成与分工

根据每个学生的个人爱好、性格、专长,知识结构,安排个人在项目中扮演不同的角色,承担不同的职责,迅速掌握角色工作。

小组成员由项目经理、计划经理、开发经理、质量经理、技术支持经理组成,计划经理可以由项目经理兼任。项目组学生由4~5人组成。小组成员之间的关系参见图1,角色职责参见表1。

图1 项目组角色关系

表1 小组角色职责

2.3小组人员和谐工作的方法

以小组周例会沟通交流、目标管理、流程化管理,激励组员为完成目标而工作,不断取得进步。因开发实习工作时间集中,我们把周会议定为2天一次会议,养成及时沟通,使遇到的问题及时得以解决,同时把小组合作的意识培养起来。强调软件开发的质量、功能范围、进度三要素的管理方法,把目标管理与过程管理结合起来。

2.4多周期开发方法

学生们在软件工程中学习了一些开发过程模型,最简单的过程模型是瀑布模型,但瀑布模型要求一次把阶段文档都做好,而在实际开发中往往很难达到,且瀑布模型也没有组织过程模型,可操作性差。TSPi多周期过程模型有组织过程模型,即使由于训练时间短,不能进行多个周期开发,也可以通过把任务分配在多个周期中,分清主次功能和项目风险,把主要功能和高风险部分放在周期1中,提高项目的成功率。见图2。

2.5软件质量标准

学生对软件质量的理解更多地停留在软件是否能使用上,没有软件性能指标是否达标的概念,更没有开发过程质量的概念。通过提供过程质量标准,质管经理监控小组在开发过程中是否达到过程质量标准,使学生掌握过程质量的相关知识,加深认识个体质量的重要性,不断提高个人的开发能力。每个过程都有入口和出口标准,没有达到入口标准的不能进行下一步,没有通过出口标准的,该过程不能结束。

2.6项目总结

我们过去参与企业软件开发活动比较多,项目总结往往留于形式。或者项目出现问题,非要找出责任人,总结会上项目组人员相互指责,最后不欢而散的情况较多,不利于今后的项目开发工作。该实习训练强调过程总结,不把问题留到最后。每个过程阶段的总结,重点强调要对角色不对人,肯定成绩,发现角色不足,使小组成员在开发项目训练中得到进步,建立学习型组织。

3实践训练具体步骤

实践训练的具体步骤如表2所示:

表2 实践训练的具体步骤

注:每个工作日8小时。

每个步骤都是一个实验实践项目,每个项目都有开始和结束条件,而且要求在安排的工作日内要完成指定的项目。即使完不成,通过开周例会总结分析原因,改进工作。通过这种把开发工作划分成一个个小项目,培养了学生如何做项目任务分解、如何完成任务,要求有许多过程文档,使学生真正理解软件=算法+数据结构+文档。

4实践总结

学生通过该过程训练,明显感到实际开发过程和做作业有很大不同,开发训练内容规范、过程可操作性强,把课堂所学书本知识一下串了起来,同时又学习了许多新知识,学生知道了如何组织实际软件开发项目了。这种模式非常值得推广。

参考文献

[1] Watts S.Humphrey著. 韩丹,袁昱译. 小组软件开发过程[M]. 北京:人民邮电出版社,2000.

[2] Watts S.Humphrey著. 吴超英,车向东译. 个体软件过程[M]. 北京:人民邮电出版社,2001.

篇(9)

doi:10.3969/j.issn.1673 - 0194.2017.04.047

[中图分类号]TP311.5 [文献标识码]A [文章编号]1673-0194(2017)04-00-02

随着信息技术的不断发展及普及,移动互联网、云计算、大数据及物联网等与现代制造业结合,越来越多的软件项目立项。在软件项目开发过程中,无论是用户还是开发人员都会遇到各种各样的问题,这些问题会导致开发工作停滞不前甚至失败。软件项目能否有效管理,决定着该项目是否成功。因此,如何做好软件项目管理中的进度控制工作就显得尤为重要。

1 软件开发项目的管理现状

国内外软件开发行业竞争越来越激烈,软件项目投资持续增加,软件产品开发规模和开发团队向大规模和专业化方向发展。因为起步晚,国内绝大多数软件公司尚未形成适合自身特点的软件开发管理模式,整个软件行业的项目管理水平偏低,与国际知名软件开发公司有一定的差距,综合竞争能力相对较低。首先,缺乏专业的项目管理人员,软件项目负责人实施管理主要依靠技术和经验积累,缺少项目管理专业知识;其次,在项目开始阶段缺少全局性把控,制订的项目计划趋于理想化,细节考虑不周,无法进行有效的进度控制管理,导致工作进度滞后;再次,项目团队分工不合理,项目成员专业能力与项目要求不匹配,成员各行其是,出现重复甚至无效的工作,从而影响项目进展;最后,项目负责人不重视风险管理,没有充分意识到风险管理的重要性,面对风险时缺少应急预案,使原本可控的风险演变成导致项目受损甚至失败的事件。因此,必须在整个软件开发项目周期内保持对项目的进度控制,当遇到问题时给出合理的解决措施,将重复工作、错误工作的概率降到最低,使项目目标能够顺利实现,使企业能够获得最大利润。

2 软件开发过程中影响进度管理的因素分析

项目管理的五大过程:启动、计划、执行、控制与收尾。软件项目管理是为使软件项目按时成功交付而对项目目标、责任、进度、人员以及突况应对等进行分析与管理。影响软件开发项目进度的因素主要有:人的因素、技术的因素、设计变更的影响、自身的管理水平及物资供应的因素,等等。对项目进行有效的进度控制,需要事先对影响项目进度因素进行分析,及时地使用必要的手段,尽可能调整计划进度与实际进度之间的偏差,从而达到掌握整个项目进度的目的。

2.1 进度计划是否合理和得到有效执行

项目在开发过程中都会制订一个进度计划,项目进度和目标都比较理想化,在面对突况时没有相应的应急处理预案,无法保证项目进度计划的有效执行。主要体现在制订项目进度计划时由于管理人员自身专业局限性,对项目目标、项目责任人和研发人员和项目周期都有明确划分,但对项目开发难度和开发人员能力考虑不足,假如因项目出现重大技术难题而引起项目延期,同时又没有做相应的应急处理,势必影响项目进度顺利实现。

此外,没有详细的开发计划和开发目标,开发计划简单不合理。比如:项目目标不清晰,项目组织结构和职责不明确,项目成员缺少沟通,不同功能模块出现问题相时互推诿;每个开发阶段任务完成情况不能量化;开发计划没有按照里程碑计划进行检查,进度出现延误没有相应处罚措施和应急措施,导致项目进度管理无法正常进行。

2.2 项目成员专业能力和稳定性

项目成员专业能力和稳定性是项目进度计划顺利实施的主要因素。在项目过程中,项目成员专业能力与项目要求不匹配,项目成员离开或者新加入都会对项目的进度造成不良的影响。

项目成员专业能力偏低,不能对自己的工作难度和周期有一个明确的认识,编写的软件代码质量较差,可靠性不高,重复工作比较严重,就会延长研发时间,脱离原计划制定的目标,导致实际项目进度与原计划规定的进度时间点相差越来越远。

项目成员稳定性包括人员离职或者参与其他项目和增加新人。原项目成员离开项目,项目分配的工作需要由新成员或其他项目成T来接手,接手人员需要对项目的整体和进度进行了解,消化吸收原项目成员已经完成的工作成果,同时占用一定时间与原项目成员交流与沟通,并且,每个人的理解能力和专业技术能力不同,在一定的时间内无法马上投入工作,也会影响他们完成相同工作需要的时间,进而影响进度。

2.3 项目需求设计变更

项目需求设计变更对于软件项目进度会造成极其严重的影响。由于项目负责人对项目目标理解不清晰,没有充分理解用户需求;或者为了中标需要,对项目技术难度考虑不深;或者用户对需求定义的不认可,感觉不够全面,提出修改意见,重新规划,造成需求范围变更。

项目负责人对于项目需求把控不严,不充分考虑用户增加变更的功能对整个系统框架内容的影响,缺乏与客户的沟通,忽略团队协作和团队成员之间的沟通,轻易修改需求,严重需求变更可能会导致整个系统架构的推倒重来,一般需求变更多了也会影响整个项目进度,造成项目延迟交付。

2.4 进度落后时的处理措施

在实际的软件项目开发中,还有许多因素会影响和制约项目进度,没有人能将所有可能发生的事情都考虑周全,在条件允许范围内尽可能对项目开发过程按最坏情况多做预案,做到未雨绸缪,达到项目进度管理的预期效果。

项目管理人员在发现项目出现进度延迟后,需要及时与项目负责人进行沟通,查找问题根源并进行补救控制。同时,一定时间内了解项目组成员工作完成情况以及需要解决的问题,根据需要分解进度目标,做到日事日毕,严格按照项目进度计划时间点实施,尽量减少进度延迟偏差出现的次数。按阶段总结项目情况,评估本阶段项目实现状况是否与计划要求一致,协调处理遇到的困难问题,对项目进度进行检查和跟踪分析,随着项目开发的不断深入,找到提高工作效率、加快项目进度的方法。

3 “智慧人社”管理信息系统项目的实现

3.1 “智慧人社”管理信息系统项目进度计划的制订

3.1.1 项目整体进度计划的制订

项目启动初期,项目组成员使用里程碑计划法,对整个项目的里程碑进行了标记,按软件项目开发的生命周期将项目整体划分为几个阶段:需求分析阶段、系统开发阶段、系统测试阶段及系统试运行阶段等。

3.1.2 项目开发阶段进度计划的制订

在项目的每个阶段中,其实都贯穿着许多阶段性进度计划,“智慧人社”管理信息系统项目的每个阶段计划也是通过使用进度管理方法来制订的。同时,在开发阶段中,项目组将每个功能模块的开发任务进行了更详细的分解,具体到每个子功能,规定了功能实现责任人,并标注了计划用时。项目管理人员可以直观地了解到每个子功能的计划用时,在实施阶段用于与实际使用时间进行对比考核,就很容易得出进度是否延迟或提前的结论。

3.1.3 “智慧人社”管理信息系统项目进度计划的控制

项目进度控制的流程就是定期或不定期接收项目完成状况的数据,把现实进展状况数据与计划数据做比对,当实际进度与计划不一致时,就会产生偏差,如影响项目达成就需要采取相应的措施,对原计划进行调整来确保项目顺利按时完成。这是一个不断进行的循环的动态控制过程。

在“智慧人社”管理信息系统项目开始后,在整体计划中设置了一系列的报告期和报告点,用以收集实际进度数据。分别是项目周会、项目月度会议、阶段完成会议。

4 结 语

本文通过对具体软件开发项目过程中的进度管理进行研究与实践,综合运用科学的项目管理及“智慧人社”管理信息系统的软件思想和方法提出了有效的进度管理方法,不仅可以保证项目的质量,还能在约定期限内完成并交付成果,为今后其他软件开发公司开发类似项目提供参考,从而帮助提高软件项目开发和进度控制的综合管理能力。

主要参考文献

篇(10)

1.1大型软件的开发

大型软件开发具有髙失败率的特点,一般在70%上下,高失败率给我国的大型软件开发造成了很大的打击,很多企业对大型软件的开发都失去了信心。一般都把大型软件的开发与中小型软件的开发一样,看成了管理信息系统,属于技术的范畴,而忽略了项目管理在软件开发的重大作用。中小型的软件开发一般业务比较简单,处理的逻辑很少,并且也相对稳定。在开发前能够清晰的界定需求分析,是一种技术产品,但是大型软件具有复杂的业务流程,需要进行大量的数据处理,无法明确、清晰的界定具体的业务发展属性,具有动态性,与其说大型软件是一种技术产品,不如说这是一种管理产品。

1.2项目管理和流程能管理

项目管理是一种管理科学,在项目活动中运用专业的技能、工具和知识,使项目在有限的资源限定条件下能够达到预期的效果,在限定时间和条件下一次性的完成任务。项目管理中包括运用相关的技能、方法和工具针对目标所展开的计划、组织、领导和控制。流程管理是意见具体的工程或管理任务中,分析所有的主流和直流之间的关系,使所有的因素都能发挥应有的作用,相互协调与配合。流程管理是以整个工程工序为管理对象,关注流程中每一步骤的效率以及和上下游之间的配合。使整个工作开发的流程具有完整性和流畅性。

2大型软件项目管理流程设计与分析

2.1流程设计目标

首先我们要对整个大型软件的流程能够开发进行分析,分析应该在大型软件的开发中流程管理应该达到怎样的效果。每一流程都是由具体的活动所组成的,在软件开发的过程中,每一流程都有特定的指向性,有明确的起始活动和终止活动,具有四个基本的要素,即活动、活动的逻辑从属、活动的实现方式以及活动的承担者。大型软件的开发就是一件由各种活动组成的工程,包括项目的计划编制、系统的分析、概要的设计、详细的设计、程序编码、测试和维护等。在整个大大型软件项目管理流程中,主要对以下几个因素进行控制。首先,要具有明确的目标指向性,要引导开发的成功;其次,制定的流程必须满足整个软件开发的全过程;第三,必须进行量化的设计,有具体的管理目标,能够对每一步骤进行监控;第四,构建分析每一步骤之间的联系,能够在第一时间找到项目运行困难的第一因素并进行管理;第五,在流程管理中对每一活动的开始、终止条件进行明确的划分与规定,提高管理的效率最后,流程中每一活动都是可度量与评价的,具有可操作性。

2.2流程设计

首先进行项目的搜寻,对市场信息以及用户的需求进行具体的分析,对潜在的项目进行筛选和分析,在此进出上进行项目的立项,提出立项的建议,并估算所需要的资金和资源。然后制定与客户的交流计划,全面的了解客户的背景信息以及项目启动的原因、目的和期望,根据当前的市场和技术水平编制方案建议书,并准备合同的蓝本。然后确立合同,包括项目的评估与确定、技术合同、商务合同的确定、评估及签署。执行合同,包括应该履行的所有义务,如软件开发、测试执行、项目验收、系统的维护等。

测试执行的目的是为了保证系统的开发符合合同任务书中的具体要求,测试过程可以分为集成测试和系统测试两个部分,模拟运行的环境测试系统的性能、用户界面、安装和反安装测试等。接下来进行项目的验收,在进行验收前先进行内部的验收,准备好具体的验收计划、项目开发总结的报告、财务预算报告、产品清单等。然后进行内部验收的测试与评定。然后进行具体的验收,同样制定相关的计划,并准备好中间产品,进行现场的调试,最终得到客户的确认。

上一篇: 大学生责任论文 下一篇: 毕业论文答辩技巧
相关精选
相关期刊