深入分析了软件项目实施中影响进度的主要原因,根据软件开发过程中不同阶段进度管理的特点,将软件项目进度管理划分为4个主要的工作阶段:计划阶段、需求阶段、实施阶段及收尾阶段。结合各阶段进度管理工作的特点,说明进度管理需要解决的关键问题及相应的解决办法。
论文关键词:进度管理;项目计划;软件工程;软件项目管理
随着计算机应用的日益普及和深入,软件产品的规模越来越大,复杂性越来越高,传统个人作坊式的开发方式已经越来越不适应软件产业发展的要求,软件产业已逐步进入以团队开发为主的阶段,软件开发过程中的项目管理工作日益受到人们的关注和重视。在软件项目实施过程中,影响项目成功的因素有许多,其中进度管理是软件项目管理的一个重要方面。
1影响软件项目进度的因素分析
统计表明:导致软件项目不能按进度要求完成的主要因素有以下几个方面:
1)缺乏详细准确的项目计划。项目计划确定了项目的范围、进度、审核、验收、费用等项目管理的诸多因素,是整个软件生命周期中的重要环节,也是项目管理最重要的方面之一。项目计划是项目跟踪和管理的重要基础。许多项目失败就是由于缺乏详细准确的项目计划,导致项目进度管理失去控制。
2)缺乏对需求变更的有效管理。对于应用软件项目来说,影响项目进度的一个非常重要因素就是项目实施中的需求变更。需求变更管理不善将会导致开发工作不断反复,开发进度停滞不前。
3)开发过程缺乏有效的控制和管理。软件开发过程中,一方面,由于开发工作缺乏有效的监督检查机制,造成软件开发各阶段的进度管理工作失去控制;另一方面,由于开发过程中的阶段性成果失去有效的版本管理,使整个开发工作陷入混乱。
4)不重视团队建设工作。目前,软件开发过程中存在的一个严重问题就是人员的流动问题,许多合同软件项目从开始实施到项目完成人员流动频繁。造成这种现象的原因固然有许多,但一个根本的原因就是在项目实施中忽略了团队建设,造成整个项目团队没有凝聚力。
2软件项目进度管理的阶段划分
在软件开发过程中,无论采用什么样的开发模型,软件开发都要经过“启动一需求一设计一编码一测试一验收”等多个工作阶段。为了深入分析研究各阶段中影响项目进度的主要因素,根据各阶段进度管理的特点,将软件项目的进度管理工作划分为4个阶段:计划阶段、需求阶段、实施阶段、收尾阶段。这4个阶段与软件工程各阶段的关系如图1所示。
计划阶段进度管理的重点是从软件项目整体进度管理的要求出发,对项目实施中影响进度的全局因素进行分析,制定项目实施的总体工作计划;需求阶段是开发过程中项目双方协作最为密切的一个工作阶段,进度管理工作涉及到对项目双方工作进度的管理和控制;实施阶段的特点是全部工作由项目开发方承担并完成,进度管理工作的重点主要是对开发方的工作进度和产品质量进行管理;收尾阶段的工作重点是如何做好项目的验收工作,进度管理工作主要是项目验收的准备和验收工作的实施。
3计划阶段的进度管理
在软件项目启动阶段,需要根据项目的合同条款及总体工作的目标要求,制定整个项目的总体工作计划,即要对项目实施中的各项活动做出周密的安排。计划阶段与进度管理有关的因素主要有以下3个方面:
1)项目进度计划在项目的初期,项目负责人首先应该根据项目的合同要求,明确项目的工作范围。然后依据工作内容,对资源、成本及工作进度做出合理估算。进度计划应明确项目开始日期及完成日期,项目各工作阶段的工作内容及开始时间和完成时间等。由于项目进度计划是整个项目计划工作的基础,项目的进度计划必须详细、准确、合理。项目的进度计划将是进行项目进度跟踪和控制的重要依据。
2)里程碑设置为了便于对进度计划的执行情况进行跟踪和控制,需要对项目进度计划中某些重要的时间点进行设置,即将这些时间点设置为里程碑。里程碑描述了每一开发阶段项目应达到的状态。每当项目进行到每一个里程碑时间点时,要进行本阶段进度完成情况的工作检查。里程碑确定了软件开发各工作阶段的最后完成时间及需要交付的阶段性工作成果。
3)需求的变更控制对软件项目进度影响最大的因素是需求变更。所以不论是ISO9000认证,还是CMM认证都是十分强调对需求的变更控制。对软件项目的变更控制管理工作必须从项目计划阶段开始,确定需求变更的工作流程。这有助于将需求变更带来的不利影响减到最小程度。由于软件项目实施中存在许多不确定因素,所以项目实施过程中要允许对项目计划进行调整,但是对计划的修改工作都必须在有效地控制下进行。
4需求阶段的进度管理
需求分析阶段的工作目标是要获取详细、准确地用户需求,分析工作要想按计划完成,需要项目双方共同努力才可以实现。本阶段进度管理工作的因素主要有3个方面:技术因素、管理因素及沟通因素(图2)。
1)快速原型技术及需求复用技术。快速原型技术和软件复用技术是开发方快速、准确获得用户需求的主要技术手段。通过原型技术可有效解决软件产品可见性差的问题,用户通过对原型系统实物的使用,有助于提高对未来系统的认识能力。利用需求复用技术可以复用其他相似系统的需求分析结果,有助于加快整个需求分析的工作进度。
2)进行需求的管理。需求阶段的工作一方面是进行需求的获取;另一方面需要对已获取的需求进行管理。通过需求管理,一方面可以有效遏制需求分析阶段的需求变更,确保需求分析的工作进度;另一方面通过良好的需求管理工作,可以提高需求分析结果的可复用性。
3)与用户进行有效的沟通。分析人员要快速、准确地获得用户的实际需求,除了具有优秀的需求分析经验和技能外,很重要的一点是必须与用户进行良好的沟通。通过有效的沟通工作,分析人员一方面可以准确、全面地了解用户的真实想法,提高需求分析的工作进度和质量;另一方面也容易赢得用户的信任和尊重,在需求分析工作中得到用户更多的支持和配合。
5实施阶段的进度管理
项目实施阶段包括设计、编码、测试几个软件开发工作阶段。开发工作在本阶段进入以开发方为主的项目实施阶段。本阶段影响项目进度的主要因素有以下两个方面(图3)。
5.1组建结构合理的项目团队,提高团队战斗力
1)组建结构合理的项目团队。实施阶段的项目团队需要由具有不同技能的技术人员组成。在组建团队时,项目负责人必须根据工作内容,分析项目实施过程中涉及到的技术因素,确定项目团队的人员构成,在项目实施中遇到相应技术问题时,团队中都有熟悉该领域的人员能够予以解决。所以结构合理的项目团队是各阶段工作进度按计划进行的关键。
2)职责明确、分工合理。在各阶段项目实施的过程中,要求项目组各成员的工作分工和责任明确,防止团队成员挑肥拣瘦、推委扯皮、不负责任现象的发生,使开发工作从制度上得到保证。
3)加强团队建设,降低人员风险。团队开发的最大问题就是团队管理。一个人心涣散、人员流动频繁的开发团队,很难做到按计划、高质量地完成软件开发任务。所以项目负责人要加强项目团队的建设工作,营造一种团结协作、认真负责、积极向上的工作氛围,增强团队的凝聚力和战斗力,降低团队成员流动的频率,做好人员流动风险的防范工作。只有团队稳定,团队具有较强战斗力,项目进度计划才能得到落实和保证。
5.2采用新技术、新方法提高开发工作的劳动效率
采用软件工程研究的新技术、新方法支持各阶段软件开发工作,是提高软件开发工作效率,加快软件开发进度的有效手段。提高软件项目工作进度的技术手段有2类。
1)软件复用技术。软件复用技术适用于软件开发的各个工作阶段。通过软件复用可以大大加快软件开发的工作进度并提高产品质量,所以复用技术是提高软件开发劳动生产率的重要手段。要在项目团队甚至整个软件企业实现更大范围的软件复用,做好知识管理工作是实现软件复用的根本。对于软件开发中的知识管理来说,目前还是一个薄弱的环节,制约了在更大范围内进行软件复用的能力。
2)CASE技术。计算机辅助软件工程(CASE)技术是提高软件开发工作效率的另一个主要的手段。通过用于辅助软件开发、运行、维护和管理的工具支持,能够加快软件开发速度,降低开发成本。
6收尾阶段的进度管理
收尾阶段是整个软件项目实施的最后阶段,本阶段进度管理的目标是做好项目验收的准备工作,使软件顺利通过用户验收并交付使用。本阶段进度管理工作的重点体现在以下2个方面。
1)做好验收测试工作。在软件项目验收之前需要接受用户的验收测试。对于合同软件项目来说,用户的验收测试工作往往以系统试运行的形式出现。为使软件系统能够顺利通过验收测试并交付用户使用,项目组首先要做好试运行工作计划与试运行工作准备;其次,要做好试运行期间运行情况的记录,试运行结果数据将是软件能否通过验收的重要依据;再次,对于系统试运行期间出现的问题,项目组需要认真分析原因。及时完成系统的修改和完善工作。
2)做好验收文档资料的准备工作。软件项目验收的一个重要内容就是文档资料验收。在项目验收之前。项目组需要根据合同要求,向用户项目验收组提供相关的软件系统文档资料。为保证文档资料的准确、全面。并能顺利通过用户的验收,需要对文档资料进行认真准备和审核,防止将不合格的文档资料提交给用户,造成工作上的返工。
目前,进度管理问题已经成为软件项目实施的主要问题。文中研究了软件项目实施中影响进度的主要因素,提出了一个软件项目进度管理的阶段划分方法,给出了各阶段进度管理需要解决的重点问题。文中给出的软件项目进度管理策略适合于合同软件开发的进度管理工作,对其他类型的软件项目实施也具有一定的参考。
从软件项目管理的重要性谈起,研究分析了四个主流的软件项目管理技术,指出了它们的缺陷,最后结合实践提出了一种新颖的软件项目管理概念。1引言软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。最早源自于70年代中期。当时美国国防部曾立题专门研究软件项目做不好的原因,发现70%的项目是因为管理善引起的,而并不是因为技术实力不够,进而...
软件项目由于应用的领域不同,一般涉及众多的业务知识领域,项目成果也应以软件的逻辑产品来体现,其最终成果及实现过程的可见性、可度量性相对较弱。因此,软件项目管理比一般工程项目要复杂得多。基于软件项目管理的特点分析,并结合软件项目开发管理经验,讨论了软件项目组织架构、计划与过程控制等软件项目管理要素,提出了矩阵式项目管理模型,分析了该模型中业务知识与计算机技术共同作用所能达到的最佳效果,讨论了需求管理...
分析了目前威胁医院网络信息安全的各种因素结合网络安全与管理工作的实践,探讨了构建医院信息安全防御体系的措施。中国医院信息化建设经过20多年的发展历程目前已经进入了一个高速发展时期。据2007年卫生部统计信息中心对全国3765所医院(其中:三级以上663家:三级以下31O2家)进行信息化现状调查显示,超过80%的医院建立了信息系统…。随着信息网络规模的不断扩大,医疗和管理工作对信息系统...
介绍了北京城市轨道交通计算机联锁控制系统在系统结构方面的硬件改进,阐述了诸如扣车、紧急关闭和轨道区段故障时单独操纵道岔等特殊联锁功能和与ATP系统结合的安全编码逻辑功能的软件实现。 考虑到信号工程的技术趋势和经济上的合理性,北京城市轨道交通13号线信号计算机联锁控制系统,采用铁科院开发研制的TYJL2Ⅱ型系统。虽然此系统已在全路400余个站场投入使用,但在满足现有的各项技术条件要求,实现进路上的...
摘要:加强通信网建设研究,需要更新思维、注重效能、讲求效益、加强管理。关键词:民航通信网;工程建设;维护手段;新标准随着新技术、新设备、新手段的广泛运用,民航通信网的建设水平、发展速度、建设规模还不能完全适应信息技术发展的要求,不能完全满足信息化发展对民航通信保障的要求。对此,我们必须加强通信网建设研究。一、更新思维,确立工程建设的新模式目前,国内电信事业发展迅猛,数字化、高速率的通信网已经覆盖全...
摘要随着RISC-V生态的持续演进,基于自定义扩展指令驱动领域专用架构(Domain-SpecificArchitecture,DSA)已成为提升特定应用场景计算效率的重要设计范式。然而,在高性能乱序处理器上集成DSA并完成指令扩展,传统方法要求开发者深入理解并手动修改复杂的流水线微结构,面临极高的人力和时间成本。现有自动化方案多局限于顺序处理器,对乱序超标量处理器的支持尚不完善。本文在前期实践基...
网络信息安全中防火墙扮演着重要角色,而硬件防火墙对大型网络安全更是至关重要,研究硬件防火墙将为大型网络的安全增加砝码。通过对硬件防火墙工作原理的研究,明白为何大中型网络要使用硬件防火墙,理解硬件防火墙在网络中的工作原理和过程,知道硬件防火墙的基本配置考虑要素。了解硬件防火墙的选购标准,增强对硬件防火墙在网络信息安全中重要性的认识。 论文关键词:网络信息安全;大型网络;硬件防火墙;三次握手;过滤;...
互联网时代的来临给人们带来便利的同时也使信息安全与网络安全形势日益严峻。形形色色的漏洞层出不穷,传统的安全保障模式已经无法有效地应对当前的威胁。本文分析了信息安全形势和现状,阐述了由漏洞挖掘、漏洞利用所构成的病毒产业链对现有安全技术和理念的冲击。根据病毒产业链中各个环节的特点,提出了基于“云安全”思想的新型的安全保障模式,使之能够快速感知和捕获新的威胁,并从源头上予以监控。...
阐述在单片机选型、单片机系统设计以及制造工艺等方面应注意的问题,以实现高可靠性的单片机应用系统,讨论了提高系统可靠性的措施,并提出了提高系统可靠性的综合设计方法。使系统的可靠性得到了充分的保障。关键词:单片机;可靠性;抗干扰 1电源干扰及其抑制 单片机应用系统的可靠性是极为重要的。在影响单片机系统可靠性的诸多因素中,电源干扰可谓首屈一指。据统计,计算机应用的运行故障有90%以上是由电源噪...
随着Internet的不断发展,伴随而来的网络信息安全问题越来越引人关注。计算机信息一旦遭受破坏,将给单位造成严重的损失。就网络信息安全问题,对可能产生的安全因素进行剖析,并采取一定的措施。 一、信息安全的概念 目前,我国《计算机信息安全保护条例》的权威定义是:通过计算机技术和网络技术手段,使计算机系统的硬件、软件、数据库等受到保护,最大可能不因偶然的或恶意的因素而遭破坏、更改或泄密,系统...