一、项目启动(项目开工会)
了解项目干系人及其利害关系。
所有项目组成员是否到位,如到位则拿到项目开发人员的简历,详细了解每个开发人员的情况(可能会组织到客户方面试)。
根据项目需求规格列出项目功能列表,并根据开发人员技术等情况创建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,就能将程序员与测试员,进行互动,各施其责。减少沟通与人为的麻烦。对于管理层,也能做到心中有数:因为每天都有新版本,
随时掌握产品的走向。。。等等。
原文转自:http://caoyanbao.iteye.com/blog/470476
分享到:
相关推荐
### 项目管理及个人实施建议 #### 项目管理的基础与个人实施经验 在项目管理的领域,积累的经验和有效的实施策略对于项目的成功至关重要。本文将深入探讨项目管理的基础要点,包括资源分配、工作分解结构(WBS)、...
【社会组织项目管理制度】是针对XXX单位为提升项目管理效率、服务质量及团队创新能力而制定的一套规范性文件。该制度旨在确保项目的规范化运维,促进项目的培育和发展,提高参与社会治理的能力,提升项目专员的综合...
2. **项目管理与工商管理**:工商管理主要针对企业的日常运营管理和策略制定,而项目管理则更加侧重于特定项目的成功实施。二者相互补充,共同支撑着企业的长期发展。 综上所述,项目管理作为一门学科,其重要性日...
- **浅谈如何实行有效的项目管理**:提供了实施有效项目管理的一些建议。 - **浅谈项目管理机制**:分析了项目管理机制的构建与优化。 - **浅析软件项目管理中的10个误区**:指出了常见的管理误区及其应对策略。 - *...
获得该认证表明持证人能够掌握信息系统项目管理的知识体系,包括但不限于制定可行的项目管理计划、组织项目实施、项目人员管理、资金管理、设备管理、进度控制、质量管理等方面的能力,并能够在项目实施过程中及时...
最后,作者希望读者在阅读本书之后,能够意识到项目管理不仅仅是一项工作技能,它实际上与我们的生活息息相关,每个人都能够通过学习掌握项目管理的技能,并运用到生活中的各个方面,从而更高效地达成个人和团队的...
项目管理的体制是基于团队管理的个人负责制,项目经理是整个项目组中协调、控制的关键;项目管理的要点是创造和保持一个使项目顺利进行的环境,使置身于这个环境的人们能在集体中协调工作以完成预定目标;项目管理的...
- **项目管理的重要性**:良好的项目管理能够确保项目的顺利实施,提高项目的成功率,并有效控制成本、时间和质量。 #### 二、项目管理中的个人行为与机构动力 - **个人行为的影响**:项目管理过程中,个人的行为和...
项目计划基础部分涉及项目管理的基础知识,包括项目规划、时间管理、资源分配等方面。 - **项目规划** - 探讨项目规划的重要性和步骤,如何制定合理的项目计划。 - **时间管理** - 讨论如何有效地管理项目时间,...
2. **项目管理知识体系**:熟悉项目启动、计划制定、执行控制以及收尾等各个阶段的工作内容与方法;了解风险管理、质量管理等专项管理知识。 3. **法律法规**:了解国家有关信息系统建设与管理的相关政策法规;熟悉...
### 餐厨垃圾处理项目可行性实施计划书关键知识点 #### 一、项目基本信息与背景 - **项目名称**:XX市青山区餐厨垃圾处理厂 - **建设地点**:位于XX市青山区循环经济产业园,占地面积约25亩。 - **项目单位**:由...
选择题部分主要测试考生对信息系统项目管理的基础知识掌握程度,包括项目管理知识体系、信息系统开发与实施、法律法规等方面。备考时,考生需对《信息系统项目管理师考试大纲》中的知识点进行全面学习,特别是关键...
项目管理是确保项目成功实施的一系列有计划、有组织的活动。它包括范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、风险管理以及采购管理等九大知识领域。项目管理过程中需要制定详细的项目计划,...
系统集成项目管理工程师证书是一项重要的专业资格认证,旨在验证个人在系统集成项目管理领域的专业知识和技能。这个证书的获得者通常具备对整个项目生命周期的管理能力,包括项目的启动、规划、执行、监控以及收尾...
可能包含了如何制定有效的项目计划、如何进行有效的沟通与协作、如何应对变更和挑战,以及如何通过持续学习和改进提升个人能力的案例和建议。 在实际操作中,项目经理可能会使用各种工具来辅助他们的工作。例如,...
【数据中心搬迁项目管理】 数据中心搬迁是一项复杂且高风险的任务,涉及到大量的硬件设备、网络基础设施以及业务系统的连续性。为了确保搬迁过程的顺利进行,项目管理是至关重要的。本项目要求乙方具备专业的能力和...
- 关键里程碑:项目管理计划书、需求设计规格说明书初稿、系统设计报告初稿、子系统测试及系统集成后的测试。 - 工具:个人电脑和开发工具。 - 进度:11周,3人/天的工作量。 - 文档提交:项目管理计划、需求...
《项目管理奖惩制度实施细则》是针对软件工程领域中项目管理的一个重要文档,旨在通过明确的奖励和惩罚机制,提升项目团队的工作效率和质量。该制度适用于所有参与项目的成员,包括临时借调和外包人员。 在第一章...
- 能够根据需求制定可行的项目管理计划。 - 组织项目实施,并对项目进行有效监控,确保在必要时做出调整。 - 监督项目实施过程的绩效,确保项目在既定的约束条件下达成目标。 - 分析和评估项目管理计划与成果。 ...