详解软件项目管理流程的每一步

一、项目启动(项目开工会)

了解项目干系人及其利害关系。

所有项目组成员是否到位,如到位则拿到项目开发人员的简历,详细了解每个开发人员的情况(可能会组织到客户方面试)。

根据项目需求规格列出项目功能列表,并根据开发人员技术等情况创建WBS。

根据项目时间、资源等情况规划项目初步开发计划(各里程碑时间点的粗略计划,每个时间段投入多少人力等)。

确定各种软硬件需求,如:版本控制服务器、数据库服务器、开发服务器、缺陷管理软件服务器、开发工具等。

参与人员:

项目经理、项目总监、全体项目组成员、用户方领导、用户方参与人员、其它主要项目干系人

项目启动会议的目标:

让整个项目组的成员相互认识

建立项目的工作关系和沟通关系

让大家明确团队的工作目标

让大家了解项目的当前状态

一起审阅项目计划

找出项目的难点或可能出问题的环节

分配小组和个人的角色与责任

获得小组和个人的承诺

实施建议:

对立项管理过程域产生的所有有价值的文档如《立项建议书》、《立项调查报告》、《立项可行性分析报告》、《立项评审报告》进行配置管理。

做好必要的保密工作。

由于每个项目都要占用机构的资金和资源,立项评审一定要严格。建议对机构高层管理人员进行必要的立项管理培训。

输出文档包括:

项目风险管理计划、工作任务分解结构(WBS)、项目进度计划、配置管理计划、质量保证计划、TimeSheet、开发规范文档、测试计划

二、需求分析

需求调研:与客户就其所需要的功能、流程、操作等需要为基础,而且需求决策者必须是项目经理或部门负责人。

列一个需求管理(包括详细的沟通计划及要求沟通)计划,考虑需求沟通中的人员、资源、时间的要求。

虽然有些因素是客户方造成的,但应该站在其角度上,为其考虑一些存在的客观及主观因素。

注意与项目成员之间的沟通方式及对团队的建设。

把握需求分析的进度及质量是否符合要求。

根据交互设计原型与客户交流需求分析是否达到要求及功能点是否有遗漏。

有哪些文档或数据是由客户提供的,这些数据是否需要在新开发的系统中维护等。

实施建议:

先对项目成员进行培训,让他们掌握必要的需求开发技能。(比如需求开发要做什么,做到什么程度,需要注意哪些问题等)

对需求开发过程域产生的所有有价值的文档进行配置管理。

需求的建模分析有较高的技术难度,项目成员应当根据自身水平进行取舍。

交互设计中应以用户的易用性为前提然后考虑在这样设计的前提下技术上实现是否有难度或者工作量超过前期设计的百分之二十. (多用TAB形式,尽量让客户的某个角色的任务可以在一个页面中完成,一般用上下文菜单,避免用系统的菜单,一个功能块一般只需要一个入口)

输出文档包括:

产品需求分析说明书、数据流程图、系统应用架构图、交互设计原型、需求分析模型(RQM)

三、概要设计

确定影响系统设计的约束因素:本系统应当遵循的标准或规范、软件、硬件环境(包括运行环境和开发环境)的约束、接口/协议的约束、软件质量的约束、隐含约束等。 
确定设计策略:扩展策略、复用策略、折衷策略。

系统分解与设计:将系统分解为若干子系统,确定每个子系统的功能以及子系统之间的关系;将子系统分解为若干模块,确定每个模块的功能以及模块之间的关系。 
数据库概要设计。

输出文档:

产品概要设计说明书、数据概要设计模型(CDM)

四、详细设计

确定功能模块的参与者、数据库表、输入参数说明、前置条件、基本流程、异常流程、日志等信息。

各层次结构的接口定义

数据库设计:逻辑设计—>物理设计->安全性设计->优化

实施建议:

先对系统设计人员进行“专题”培训,让他们掌握必要的系统设计技能。 由于国内绝大多数的大学不开设“用户界面设计课程”,这导致大部分软件开发人员不善于设计用户界面。项目开发小组应当设法邀请用户界面设计专家参与(或指导)本软件的

界面设计。

对系统设计过程中产生的所有有价值的文档进行配置管理。

输出文档:

产品详细设计说明书、数据物理设计模型(PDM)、自定义数据类型及BO数据类型文件、数据字典、系统测试用例、对象模型(OOM)

五、Coding

软件编码,各接口的实现。 
单元测试。

实施建议: 
对开发人员进行“高质量程序设计”培训,让他们掌握编写高质量程序的技能。 
对开发人员进行“版本控制、代码审查、测试、改错”等方面的培训,提高他们的工作效率。 
开发小组根据项目的资源、时间等限制因素,可以适当地减少测试的工作量。 
对实现与测试过程中产生的所有代码和有价值的文档进行配置管理。

输出:

单元测试报告、代码评审报告

六、集成测试

根据系统测试用例测试系统的功能性需求,保证系统的正常功能处理及异常处理是否正确。 
用户界面测试,重点是测试软件系统的易用性和视觉效果等。 
健壮性测试,测试软件系统在异常情况下能否正常运行的能力。(容错能力和恢复能力) 
安全性测试(这种测试一般能通过建行的fortify 软件评测即可) 
如果产品需要安装,那么还得经过安装与反安装测试

实施建议:

对系统测试人员进行必要的培训,提高他们的测试效率。 
项目经理和测试小组根据项目的资源、时间等限制因素,设法合理地减少测试的工作量,例如减少“冗余或无效”的测试。 
系统测试小组根据产品的特征,可以适当地修改本规范的各种文档模板。 
对系统测试过程中产生的所有代码和有价值的文档进行配置管理。 
为了调动测试者的积极性,建议企业或项目设立奖励机制,例如:根据缺陷的危害程度把奖金分等级,每个新缺陷对应一份奖金,把奖金发给第一个发现该缺陷的人。

输出:

系统测试报告、缺陷管理报告、操作手册

七、客户验收

成果审查。验收人员审查开发方应当交付的成果,如代码、文档等等。确保这些成果是完整的并且是正确有效的。 
验收测试。验收人员对交付的产品进行全面的测试,确保产品功能、质量符合需求。 
及时解决客户方发现的问题。

输出:

客户验收计划、验收测试用例、客户验收报告、验收操作手册

实施建议:

在客户验收之前,开发方对验收人员进行必要的产品培训。 
开发方可以将系统测试用例给验收人员参考,以减少设计测试用例的时间。 
开发方人员应当热情地协助验收人员。对验收人员发现的软件缺陷马上予以纠正;对于复杂的问题应当立即请示有关领导,不可拖延。在验收期间不可与客户争吵,给客户留下很

好的印象。 
对验收过程中产生的所有有价值的文档进行配置管理。

八、结项

计划与实际情况对比:产品功能、工作成果、产品质量、投入人员、工作量、成本等 
申请结项理由和项目自我评价 
对项目进行综合评估,总结经验教训。

有价值的结项管理至少包括三项内容: 
一、对项目的有形资产和无形资产进行清算,既要防止资产流失,又要及时地利用这些资产。 
二、对项目进行综合评估。例如评估项目完成情况、项目质量、投入产出分析、项目的市场价值、项目对企业的贡献等等。该评估报告可以作为考核项目人员业绩的重要依据。 
三、总结经验教训,使整个机构受益。

实施建议: 
对结项管理过程域产生的所有有价值的文档进行配置管理。 
做好必要的保密工作。 
结项评审工作不能简化。 
对结项评审委员会进行必要的培训,使他们树立正确的观念,从而严格把关

输出: 
结项申请书、结项评审报告

下面是这些核心工具的运用经验:

1.必须建立源代码的版本控制系统,就是cvs,基本的代码提交原则: 
1)程序员尽量每天只在下班前提交一次; 
2)提交的代码必须是在自己的机器上是正常运行的; 
3)每次提交都必须用简短的话说明自己提交代码的功能描述。 
2.建立错误追踪系统,用Bugzilla就很好,配置好邮件系统,使Bugzilla成为测试人员与开发人员沟通的桥梁。 
3.用BAT和Perl脚本,以cvs中的源代码为核心实现简单的每日编译工具,将这个自己写的自动化工具放到一台专门的编译机器上,在每天的半夜开始自动下载代码,自动编译代码,自动打包安装程序,自动记录各种编译日志,自动将安装程序放置到一个固定的以日期为目录名的公共区。(用cvs2cl.pl得到程序员上传的代码更新日志,以便测试人员参考) 4.测试人员的第二天,应该到公共区取得头天的最新版本,并根据ChangeLog进行新版本的测试。并将测试中发现的Bug,通过Bugzilla反馈给程序员。程序员可以根据自己的情况或公司的规定来决定修改这些Bug的时间。并将这些Bug的修改情况,在代码提交时,写入代码日志。 
5.开发人员的第二天,应该到公共区查看编译日志,看看自己的模块是否正常编译,及时更正,看看自己的邮箱有没有Bug报告,及时修改。 
6.管理人员的第二天,在综合项目需求与头天版本进度的上,可以判断产品的发展方向,如果有偏航或理解错误或有新需求时,可以根据当前情况及时调整。 
这样,通过 cvs => bugzilla => daily-build,就能将程序员与测试员,进行互动,各施其责。减少沟通与人为的麻烦。对于管理层,也能做到心中有数:因为每天都有新版本,

随时掌握产品的走向。。。等等

  • 3
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
目 录 导言.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 最终项目用户移交报告模板 附录.项目管理主要网站

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值