张枫
摘 要:针对当前软件项目管理效率不高的问题,提出了一种基于统一软件项目管理系统的解决方案。该方案采用平台、应用、集成的整体架构,既可满足当前应用需求,也为未来拓展提供了支撑。文章分析了软件项目管理系统的设计思路和目标,并给出了具体的设计方案。
关键词:软件项目;管理软件;项目管理;统一管理
中图分类号:TP311 文献标识码:A 文章编号:1671-2064(2018)05-0036-03
1 引言
软件项目属于复杂的项目,具有风险高、技术高、要求高、周期长、投资大等特点,在项目管理中,需要综合各种计算机管理方法、通信技术以及相关专业知识,使软件项目能够按照预定的成本、进度、質量顺利完成,同时,需对成本、人员、进度、质量、风险等进行分析和管理,并根据实际存在的问题,有针对性的完善改进相关措施。
近几年来,随着软件开发类建设项目预算金额高、任务重、难度大,预算执行压力大,对这类项目管理提出了高标准的信息化要求。目前已初步建立了技术项目管理制度体系,但主要依靠人工进行项目制度执行的管理、各项流程均“线下”运行,一定程度上造成了项目管理效率不高,主要表现在:
(1)缺少统一管理:承接项目及项目管理内容逐年增多,缺乏统一的全生命周期项目管理平台。(2)没有全局视图:没有统一项目管理平台,管理职能部门很难做到全局视图以及实时掌控项目进展情况。(3)质量管控手段弱:项目管理过程中需要进一步注重风险防控,技术评审,系统测试,质量保证管理等管理体系建设,提高项目整体绩效。(4)数据共享程度不高:项目建设过程中,数据信息不能有效共享,建设单位,供应商及伙伴等之间形成了信息壁垒,影响沟通的效率。(5)绩效成果积累水平有待提高:项目成果及实施经验等并未有效的进行存储积累和反复利用。
因此,随着软件开发规模及开发队伍的逐渐增大,迫切需要统一的软件项目管理系统来规范每个开发人员、测试人员与支持人员的工作,每个项目组成员按约定的规则准时完成自己的工作。同时采用规范化管理,专业分工也可以降低对开发人员的要求,从而降低产品研发成本。
2 问题分析
项目在一定的约束条件下,高效率地实现业主预期目标为目的,一般是以项目经理负责制为基础,以项目为独立实体进行经济核算,按照项目内在的逻辑规律进行有效的计划、组织、协调、控制的系统管理活动称为项目管理。当前项目管理中存在以下问题:
2.1 项目执行问题
需求分析阶段由于与客户进行的沟通与交流不充分,没有结合用户的工作环境与工作习惯,真正站在用户角度思考;对用户的需求发掘深度不够,也不是共同进行充分挖掘,未能很好地掌握客户需求;没有合理地定义客户需求,不能真正贴近客户的需求,形成高质量的软件需求分析规格说明书;项目中不能坚持做到将需求相关文档交付用户方的关键项目干系人正式书面确认,就跨越式地进入系统设计阶段。
测试的主要目的是检测软件的边界值和抗压能力。由于开发人员没有接受过系统的软件测试学习培训,各种测试概念模糊,没有掌握有效测试的方法,没有使用缺陷跟踪工具,与专门的测试人员配合不好。结果是重复测试已经测试过部分,深层次的bug却没有发现。
受项目不确定因素的影响,使制定的项目计划不切实际,执行中经常发生项目计划的变更,实际执行情况与原定的项目计划脱节,为追求进度跨越必要的管理阶段,导致项目管理的复杂性和风险提高。
2.2 管理人员的问题
项目经理一般都是团队技术骨干,技术方面的知识比较深厚,角色发生变化自己的思维方式没有跟上,没有从宏观上把握整个项目,从总体上去把握管理整个项目,而是埋头于具体的技术工作,只负责自己做的事,没有考虑大局,团队意识不强,没有发挥自己的领袖作用,还是项目管理必备的技能、项目管理必备的素质都有待补充和提高,这样就会导致分工不合理,计划不周、任务不均、造成人力资源的浪费。直接影响着其最终的管理成效。
2.3 经验积累问题
管理人员没有掌握项目管理的知识体系和一些常用工具和方法,实际工作中完全依靠个人现有的知识技能,管理工作的随意性、盲目性比较大。项目结束时对总结的重视程度不够,报告质量较低,敷衍了事,忽视了对知识财富、经验教训的总结和积累。
项目成员各自具有较强的个性,渴望价值创造与自我实现,管理人员如何做到公正、客观、量化地评价员工的价值。
3 解决方案
软件开发项目由掌握技术、熟悉业务、懂得管理的“人”组成,主要的财富积累是知识和经验的积累。软件产品是把思想、概念、算法、流程、组织、效率、优化等融合在一起了。项目组织涉及到计划制定、进度估算、资源调配、人员配备、组织机构和管理方法等等多方面。软件项目组的管理过程,是围绕“人”来进行的管理,涉及到系统工程学、统计学、心理学、社会学以及法律等方面的问题。管理能够带来效率,能够赢得时间。管理技术的基础是实践,管成果的取得必须经过反复实践。
人员安排、配置贯穿整个软件开发过程,根据项目实际需求及工作量,进行科学规划,充分发挥项目团队人员经验、水平,通过密切配合、分工协作形成协调的开发队伍。通过合理监控项目进度,保障软件项目整体效益。
软件质量管理是总体管理的重要方面,必须通过质量管理范围和要求,在项目质量保障、编制以及控制的过程中,对软件项目进行整体绩效考核。通过明确质量标准,对不合格产品进行调配。
风险管理主要包括风险识别、评估解决以及跟踪监督等,在风险预测中及时发现问题;在风险分析中,通过抵制风险,加强风险管理方案,降低风险损失,增强项目管理效益。
因此,软件项目管理系统应以人为本,能综合考虑质量、风险等相关因素,为软件开发中的各类工作人员提供便利,为高质量的软件产品开发提供保障。
3.1 项目管理系统建设目标
利用成熟的IT技术,结合PRINCE2等项目管理理念,建设一套管理先进、技术成熟、满足技术建设项目管理需求的流程管理技术平台,构建以流程管理为核心和枢纽,实现项目管理环节全流程信息化、可视化管理,以提升项目管理科学化水平、提高各环节工作效率。
项目管理系统:建立统一的业务流程管理平台,对技术建设项目管理业务流程进行梳理和规划,进一步明确职责、规范流程、细化标准。打造协同融合的管理体系,使围绕项目管理的各种规章制度落地,提升在项目管理过程中的沟通效率。建立可视化项目管理系统,实现技术建设项目计划管理、监测管理、资金预算情况管理、项目质量管理、进度控制管理,项目资料管理及多维度项目信息查询统计分析;提升项目整体管控能力和水平。强化项目过程管理体系,有效监控各个环节的执行情况,建立预警机制,并能有效追溯项目进展过程中每一个环节。建立项目绩效成果集中管理机制,使项目建设成果及实施经验等能存储积累并复用,提升成果知识共享能力。
3.2 项目管理系统设计
项目管理系统的整体设计可概括为“平台”+“应用”+“集成”,即以BPM平台为支撑,按需建立项目管理系统流程;并通过集成新华社现有系统(如服务总线、统一认证系统、资产管理系统等),建立项目管理流程门户以实现管理与业务全面协同的目标。
3.2.1 平台
通过BPM平台提供功能强大、开放的开发平台,支撑项目管理系统功能应用的不断增加;同时平台提供业务应用和流程的梳理->建模->运行监控->分析优化的闭环,为新华社提供一个开放的、便捷的应用扩展工具和优化工具,以实现项目管理系统不断的扩展和持续提升。
(1)统一业务流程管理。将分散在不同部门不同组织的流程统一到流程管理平台中,对其进行集中管理,增加信息的完整性和价值。以流程为主轴,打破信息孤岛,实现数据集中管控,为集中管理打下数据基础。
采用“统一管理、统一报告、统一考评”的流程集成服务新模式,增加信息的决策支持价值,提高集中管控的能力,促进业务流程的深入融合。
采用统一的信息化业务流程描述语言规范业务流程,所有业务流程均在业务流程管理平台上进行建立和发布。提供业务流程的统一管理入口。
流程管理平台主要负责流程规划、流程分析和流程监测。现有的业务需求通过业务构建平台进行业务建模。对现有业务进行梳理、分析,再建模,集成,运行。在运行期间对流程进行监控、管理,及流程优化再造。流程设计器是以拖拽的方式进行流程设计,流程引擎和规则引擎支撑工作流的运转。平台提供与三方系统的交互集成工具及服务建模工具。在流程管理平台之上构建项目管理系统。实现项目监测管理、进度管理、资金预算管理、质量管理、文档资料管理、合同管理、供应商管理、统计分析等功能,实现项目全生命周期的管理。
(2)统一项目管理监控。以“可视化”方式,对技术建设项目全生命周期进行跟踪监测,动态及时、综合全面的展现项目进展情况,以角色为视角,立体化呈现项目管理协调信息。提供多维度、统一监管视图,展现业务流程的流转情况。
项目管理系统为流程管理员提供流程运行实例和任务运行实例的管理,能够对各类实例进行跟踪、转移、停止等相关管理,对流程运行数据提供丰富的统计分析和模型报告。
项目管理系统为领导监控全部流程或管辖范围内的流程实例提供了管控查询工具,该工具可以按条件查询到超时异常或符合条件的流程实例,进而打开流程跟踪图和用户表单界面,实现对系统流程运行的管控监督过程简单、透明化。
项目管理系统不仅可以对流程运行状况进行监控,且可以对流程的运行数据进行监控,统计各流程的执行数据,流程运行数据的监控是建立在AWS流程执行系统、流程KPI模型和CoE BPA分析数据庫基础之上的组合技术。能够通过对流程KPI阈值的预期参数调整和监控频率的设置,实现对流程绩效波动的告警,也可以在告警的同时智能的完成一些自动化处理任务。
(3)统一数据统计分析。利用流程管理平台,积累大量业务数据,完成多业务系统间的流程数据整合,实现业务流程统一数据输出与展现。
实现数据的透明访问和无缝管理,打造业务数据基础环境,成为业流程数据的统一来源。
对数据进行加工、提炼,形成统计分析体系,提升数据价值,为领导层提供决策支持服务。
项目管理系统提供了对BPM业务对象进行报表模型设计的工具和报表模型运行环境,BPM的数据报表设计工具充分集成了自身的权限、业务模型、工作流特性,可以通过非编程手段快速实现报表的定制和发布,是一个依赖BPM平台之上的轻量级报表工具。
BPM为用户提供六类报表方案,可以根据需要快速的设计出满足用户需求数据报表并授权给指定用户使用,输出数据可以是BPM平台系统本身产生的数据,也可是三方业务系统集成到BPM平台当中的数据,并提供高级SQL查询、统计扩展功能。BPM平台提供的报表输出方式有电子表格、图形(饼状、柱状、曲线等)、Excel、PDF。
(4)统一成果绩效管理。实现项目成果、研究成果的统一汇交管理。建立成果绩效共享机制,加强项目间协作、公共模块共享。
建立科学的考核评价体系和激励机制,通过系统采集的各项项目绩效数据,对项目建设的执行情况进行评估,充分发挥考核的激励约束作用,促进项目建设。
软件项目建设初期就对系统所采用的技术标准、技术框架、开发方法、开发过程管理在多个项目组之间都达成了一致,并严格执行,开发采用迭代方式开发,边开发、边完善、边运营,实现了系统的快速发布上线的开发模式,能够及时发现系统的业务问题、部署问题、性能问题等等,同时能够及时的进行改进。这开发方式对生产效率、产品质量、产品管理的一致性都是有很大的益处。
3.2.2 应用
搭建项目管理系统应用,实现项目监测管理、进度管理、资金预算管理、质量管理、文档资料管理、合同管理、供应商管理、统计分析等功能,实现项目全生命周期的管理。如图1所示。
(1)应用支撑平台的设计应便于二次开发和系统扩展,以适应不断变化的IT环境和业务调整等未来变化。所以,平台应采用SOA架构,以方便灵活的添加新的服务;平台各组件采用开放技术,并实现高内聚,低耦合。(2)应用支撑平台应以成熟、稳定、主流的技术体系和解决方案为基础,完成应用系统的集成与开发,提高系统互连互通互操作和信息共享的能力。(3)各个业务系统间存在数据交换和协同工作的业务,支撑平台应为不同应用系统之间数据交换和流程交互提供技术支撑。(4)为了实现业务应用系统的集成,必须建立开放式的应用架构,对各类协议和异构数据库提供支持,兼顾已有的业务应用和数据资源等信息基础,还要充分考虑未来系统扩充的可能。业务应用系统设计应依托应用支撑平台,建设新应用系统,集成部分已有系统,为其他新应用系统提供支撑环境,整体架构应能够适应未来的发展,避免造成投资浪费。
3.2.3 集成
由于在运营过程中已经使用了其他业务系统,项目管理系统需根据各部门的需求紧急程度和信息化建设规划分布与现有业务系统集成,整合已有的信息服务和应用系统,实现组织架构与用户、业务流程和基础数据的统一规范,为信息服务和应用系统提供统一的用户认证管理、流程管理、数据交换管理、消息服务基础支撑服务,实现数据实时传递、信息充分共享。全面解决信息孤岛,提升信息化建设的整体水平。
4 结语
软件项目管理难度随着软件的复杂度增加而加大,引入软件项目管理软件可以有效解决软件项目管理中的部分问题。本文介绍的软件项目管理软件,提供了统一业务流程管理、统一项目管理监控、统一数据统计分析、统一成果绩效管理的能力,在与已有软件进行集成,并开发出相关应用后,可以为软件项目管理提供有力支撑。