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

1 引言

    长期以来,软件项目高失败率的状况一直困扰着人们,研究表明,软件项目失败的原因主要有两个:一是应用项目的复杂性;二是缺乏合格的软件项目管理人才。实践证明缺乏有效的项目管理是导致软件项目失控的直接原因。软件开发的风险之所以大,是由于软件过程能力低,其中最关键的问题在于软件开发组织不能很好地管理其软件过程,从而使一些好的开发方法和技术不能起到预期的作用。

    流程管理作为现代企业管理的先进思想和有效工具,随着市场环境与组织模式的变化,在以计算机网络为基础的现代社会信息化背景下越发显示出其威力和效用。流程管理不仅是一种管理技术,更体现了现代管理的思想。流程管理的重点是:理清和管理好所有主、支流程间的关系,使他们相互协调发挥应有的作用。流程管理增加了部门的透明度,管理的对象不是“部门”和“部门员工”的概念,而是以工序流程为管理对象,注重流程中每一个过程和效率以及和上下游工序的关系,管理重点在于整体流程的完整性和顺畅性。

    运用流程管理方法和技术进行软件项目管理,可以有效地改变软件过程管理混乱的局面。首先对软件项目开发过程进行有效的、规范化的定义;其次,在软件项目开发过程中,所有的活动过程均按照流程所规定的活动的逻辑关系、活动的实现方式来执行,这样可以使得所有的活动有序和可控;第三,通过明确运作流程,使项目组人员迅速融入项目和开发过程中;第四,关注每个过程的“结果”,使软件项目的所有工作产品均能得到有效的保存,保证了软件产品完整性。

    2 流程的概念及在软件项目管理中的作用

    流程是由活动组成的。基本活动是由个人或团体来完成的,它不需要进行其他的基本活动的转化。流程的各个活动之间有着特定的流向,它包含着明确的起始活动与终止活动,因此是一个动态的概念。从结构上来看,流程有四个基本的构成因素:活动、活动的逻辑关系、活动的实现方式和活动的承担者。流程与“一系列的活动或事件”、“结果”等概念密切相关。流程管理不仅是一种管理技术,更体现了现代管理的思想,原有的以控制、塔式组织为基础的职能行政管理已经不能完全满足于现代企业发展和市场竞争的需要,管理的发展沿着分工理论运行了上百年后,现在又重新回归到整合与系统。

    软件项目生命周期的一系列的开发过程是各种各样的流程活动。软件项目的计划编制、系统分析、概要设计、详细设计、程序编码、测试与维护等活动过程都是一种流程活动。制定软件项目管理流程,重点考虑以下几点:

    1)制定的流程能引导项目逐步走向成功;

    2)制定的流程能适用软件开发过程;

    3)制定的流程能指导项目开发活动,有利于对项目开发活动的管理;

    4)制定的流程能以直观的流程图表示,能使项目组成员清楚的知道软件开发与管理的过程和相互间的关系;

    5)流程中的起始活动条件、终止活动条件明确、规范,便于控制;

    6)流程中的工作产品定义明确、可度量,评价标准和方法具体、可操作。

    3 软件项目管理总体流程设计

    在软件项目开发管理过程中,不仅要努力实现项目的范围、时间、成本和质量等目标,还必须协调整个项目过程,以满足项目参与者及其他利益相关者的需要和期望;随着软件规模和所涉及的领域不断地扩大,软件项目的管理越来越困难。纵观所有失败的软件项目,基本原因是不能管理其软件过程,在无纪律的、混乱的项目状态下,组织不可能从较好的方法和工具中获益。严谨的软件过程控制与管理不仅可以在每个阶段回顾和纠正项目的偏差,识别软件项目的风险甚至果断中止项目,而且可以将人才流动所带来的不利影响减少到最小。要进行有效的过程控制,必须明确软件项目管理流程。

软件项目管理总体流程设计为项目搜寻、立项、售前、合同生成和合同执行等5个主要阶段,分别以P1、P2、P3、P4、P5表示;同时设计了立项完成、合同签定、功能定义、软件开发、项目验收等5个里程碑,分别以TM1、TM2、TM3、TM4、TM5表示,如图1所示。在这些流程中,合同执行流程是软件项目管理的核心,其主要过程有:产品定义、软件开发、测试执行、内部验收、项目实施与验收、项目维护。

 图1 软件项目管理总体流程

     4 软件项目管理总体流程分析

    4.1项目搜寻

    项目搜寻是项目立项的基础,项目搜寻阶段的主要任务包括市场信息收集,用户需求跟踪,对潜在的项目进行分析和筛选。

    4.2项目立项

    立项阶段的主要任务是确认立项的理由,提出立项建议,提供合适的资金和资源,使立项建议成为正式项目。

    4.3 项目售前

    售前阶段从项目立项开始到项目合同的签定结束,主要工作有:制定与客户的交流计划,详细了解客户的背景资料,了解客户启动项目的缘由、目的和期望,编制项目方案建议书,准备合同蓝本。

    4.4合同生成

    合同生成阶段的主要工作有:项目方案的评估与确定,技术合同、商务合同的商定、评估与签署。

    4.5合同执行

    合同执行是软件项目管理流程的重点,可分为软件开发、测试执行;内部验收、项目验收、系统维护等五个基本工作过程。

4.5.1软件开发

    软件开发阶段分为:需求调研、系统分析、系统设计、编码、单元测试等过程。主要从三个方面进行管理:

    1) 制定项目计划。软件项目计划是一个用来协调所有其他计划,以指导项目执行和控制的可操作文件。它体现了对客户需求的理解,是开展项目活动的基础,也是软件项目跟踪与监控的依据。

    2) 确定开发过程。根据软件项目和项目组的实际情况,建立起一个稳定、可控的软件开发过程模型,并按照该过程来进行软件开发。

   3) 加强过程控制。过程控制主要包括过程管理、变更控制和配置管理。

    4.5.2测试与执行

    项目测试的目的是检查系统是否符合项目合同与任务书规定的要求。项目测试分集成测试和系统测试,主要进行功能测试、健壮性测试、性能—效率测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等。测试过程在模拟运行环境中进行。

    4.5.3内部验收

    项目完成集成测试和系统测试后进行项目内部验收,主要有三个步骤:1)文档准备。项目经理提交内部验收计划、项目开发总结报告、产品发布清单;财务主管提交项目财务预算报告。2)内部验收测试。内部验收测试的测试内容与方法虽然与系统测试基本相同,但应站在用户验收的角度进行,因为它是试运行的基础,通过这一步,为用户验收作充分的准备。3)内部评审。对提交的所有文档及测试结果进行内部评审,完成项目开发总结报告。

    4.5.4项目试运行与验收

    试运行与用户验收阶段的主要任务是,使所有的工作产品得到用户的确认。主要工作有:1) 验收前的准备。项目经理负责检查产品的完整性,包括文档、介质和中间产品等,以确保现场实施的成功;负责应用软件的现场安装调试,完成安装调试总结报告;负责制定用户验收计划,并得到客户的确认。2) 用户进行验收测试和系统试运行,进行文档和系统的移交。3) 用户确认。项目经理负责与客户协调,协助用户进行项目验收,形成用户验收报告。

    4.5.5项目维护

    软件系统的维护分为两大类:一类是纠错性维护,由于前期的测试不可能暴露软件系统中所有潜在的和隐含的错误,诊断和改正这些错误的过程为纠错性维护。另一类是完善性维护,在软件正常使用过程中,用户还会不断地提出新的需求,为了满足用户新的需求而增加软件功能的活动称为完善性维护。如果需求变更很大,那完善性维护将转变为软件新版本的开发。系统维护的宗旨就是提高客户对软件产品的满意度。确保系统的正常运行是系统维护的根本目的。

    4.6 软件项目管理的里程碑

    项目的考核与评审是软件项目管理流程控制的基础,我们在整个流程中设定五个基线,即确定五个里程碑,它们分别是TM1:立项完成;TM2:合同签订; TM3:产品功能定义完成;TM4:软件开发完成;TM5:验收通过。如图1所示。各阶段的主要的进入条件和相应的工作结果是里程碑是否达到的重要标志。

    5 结束语

    本文设计的软件项目管理总体流程及相关技术已成功运用在软件项目的研发和管理中。通过将流程管理应用于软件项目管理中,以设定软件项目总体流程为主线,确定每个阶段的主要流程和里程碑,并采用评价指标体系和一系列的模板和表格进行软件项目开发过程的控制和管理,使软件项目的成功率显著提高。

    实践证明,针对企业和项目的实际情况,确定软件项目运作流程,定义软件工作产品,明确各阶段的进入条件和退出条件,进行有效的流程控制与管理,大大的提高了软件开发的效率和项目的成功率。(来源:希赛网)

 
目 录 导言.IT项目的生命期 第一章.IT项目的启动阶段 1.1 可行性研究报告框架 1.2 项目章程 1.3 项目整体风险水平定性分析表 1.4 多项目风险情况一览表 1.5 质量保证说明书 1.6 采购程序及准购权限表 1.7 会议议程安排表 1.8 会议预算表 1.9 会议申请审批表 1.10会议通知表 1.11会议签到表 1.12会议资料明细表 1.13会议记录表 1.14会议内容管理表 1.15会议代表通讯录 1.16会议纪要表 1.17会议决议表 1.18会议决议落实通知单 1.19会议决议跟踪表 1.20实际会议费用清单 第二章.IT项目的计划阶段 2.1 IT项目综合计划模板(1)——项目整体介绍 2.2 IT项目综合计划模板(2)——项目管理过程 2.3 IT项目综合计划模板(3)——项目组织介绍 2.4 IT项目综合计划模板(4)——工作包、进度和预算 2.5 IT项目综合计划模板(5)——技术过程介绍 2.6 项目范围说明书 2.7 软件需求调查表 2.8 需求分析说明书 2.9 系统设计任务书 2.10 工期类比估算表 2.11 项目活动计划表 2.12 项目进度计划表 2.13 里程碑计划及其跟踪表 2.14 所需资源清单及费用估算 2.15 成本类比估算表 2.16 按模块估计的成本估算表 2.17 基于费用科目的成本估算表 2.18 项目年度用款计划表 2.19 IT项目质量指标框架模板 2.20 IT项目质量保证计划模板 2.21 关键质量活动一览表 2.22 项目人员需求申请表 2.23 面试记录表 2.24 项目成员审核表 2.25 项目工作说明书 2.26 项目成员岗位工作说明书 2.27 岗位说明书一览表 2.28 IT项目团队知识地图 2.29 项目成员责任分配矩阵 2.30 项目成员培训需求调查表 2.31 项目培训计划表 2.32 项目文档分类表 2.33 项目干系人的沟通需求分析表 2.34 项目信息接收责任明细表 2.35 项目成员联络表 2.36 单个风险损失值评估表 2.37 项目所有识别风险一览表 2.38 单个风险应对计划表 2.39 风险应对计划一览表 2.40 硬件产品请购单 2.41 软件产品请购单 2.42 项目采购计划明细表 2.43 采购招标书模板 2.44 采购投标书模板 2.45 供应商财务状况调查表 2.46 供应商评估表 2.47 采购中标通知书 2.48 采购落标通知书 第三章.IT项目的执行控制阶段 3.1 项目管理跟踪报告模板 3.2 项目变更控制表 3.3 项目变更动力、阻力分析表 3.4 项目范围变更一览表 3.5 项目变更状态跟踪一览表 3.6 范围/进度/成本/质量/采购变更一览表 3.7 工作周报 3.8 项目工作包进展报告表 3.9 项目月度进展报告表 3.10 项目月进度控制一览表 3.11 项目进度偏差控制表 3.12 某月/季项目进度汇报表 3.13 项目工作包进展抽查表 3.14 系统模块安装实施控制表 3.15 多项目进展状况一览表 3.16 项目费用申请表 3.17 项目支出明细单 3.18 基于最低预算的成本控制表 3.19 成本偏差控制表 3.20 单项目挣值分析表 3.21 多项目挣值分析比较表 3.22 信息系统缺陷的质量目标表 3.23 项目单元测试方案 3.24 系统测试用例表 3.25 系统测试问题报告单 3.26 系统缺陷状态跟踪表 3.27 软件Bug详细记录表 3.28 项目重大缺陷一览表 3.29 项目成员工作周报 3.30 临时成员加入项目组申请表 3.31 项目成员绩效考核表 3.32 360度考核表 3.33 培训申请审批表 3.34 前十个风险监控一览表 3.35 一/二次风险监控一览表 3.36 基于挣值分析的风险监控表 3.37 采购设备订单状态报告 3.38 采购设备费用状态报告 3.39 设备验收单 3.40 设备检验状态一览表 3.41 取消订单损失报告 3.42 退货清单 3.43 公司采购合同执行情况一览表 3.44 采购合同验收报告 3.45 采购设备分配表 第四章.IT项目的收尾阶段 4.1 用户部门新需求申报单 4.2 IT项目产品质量评审表 4.3 软件验收单 4.4 设备验收单 4.5 IT项目内部验收报告模板 4.6 最终项目文件列表 4.7 IT项目验收单 4.8 项目成员述职报告模板 4.9 项目成员经验教训报告模板 4.10 项目结束人员安排表 4.11 设备回收交付表 4.12 项目团队内部经验总结模板 4.13 最终项目内部总结报告模板 4.14 最终项目用户移交报告模板 附录.项目管理主要网站
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值