- 浏览: 176365 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
buildhappy:
知道如何解决了吗?
Hbase异常 正在找解决办法 ~~ -
xs.cctv:
相当不错的资料
MyEclipse设置注释格式(转载) -
di1984HIT:
写的很好啊。
HBase行健设计策略(三)(未完成) -
zhaoshijie:
jar 包呢
Storm 本地运行 统计字母出现次数 -
bgkpbgkp:
感谢分享
hibernate.current_session_context_class属性配置(转载)
作者:CppExplore 网址:http://www.cppblog.com/CppExplore/
一 项目管理流程
1 项目定义
在有限的时间、有限的人力、有限的资源内,完成即定的功能,并保证项目的质量。
项目具有时效性/资源受限,功能边界明确等特点。
项目失败,并不仅仅是指项目的功能没有完成。超时/超支都算做项目失败。
2 项目管理目标
可重复:项目的成功性可复制。一个项目成功,另一个项目也可以成功。成功不是偶然性。
可管理:项目本身可管理,成功过程可控。
3 项目生命周期
项目具有固有的生命周期规律,项目管理需要遵循该规律,不要过分重视产出(压缩时间),否则影响长期的稳定的产出(同样体现项目管理的可重复、可管理)。
项目生命周期分:需求意向 需求阶段 开发阶段 测试阶段 维护阶段。下图给出一个模拟示例:
其中需求结束、开发结束、版本正式发布(测试结束)均为里程碑。
4 参与项目的角色
参与项目的主要角色有:项目管理人员/需求人员/研发人员/测试人员/配置人员/实施人员。他们分阶段进入项目,分阶段离开项目。下图为人力投入示例: 其中需求来源发生在立项之前,不予考虑,另产品人员需要参加需求文档review,属项目外,不考虑。
项目管理人员需要全程跟踪项目,尤其是立项点、需求文档review、需求结束、设计文档review、设计结束、测试期间以后进入维护期后。
需求人员除需求阶段,还需要参与设计文档review、测试文档review。
开发人员除开发阶段,还需要参与需求文档review,以及测试期间bug修复、维护期保留部分人力。
测试人员除开发阶段,还需要参与需求文档review。
二 项目阶段
1 立项
立项初期,更多的是资源申请、人力安排计划等。尽量减少以后的沟通成本,比如确定项目编号、阶段编号、功能编号、模块名(如果能够确定)、各模板版本号格式、系统部署的软硬件平台等。
2 需求阶段
该阶段是项目最重要的阶段,代表了项目的使命。该阶段的产出需求文档则是项目最重要最核心的一片文档,是设计文档、测试用例以及后期维护的依据。
需求文档的用语应该是明确的、无歧义的。比如 “包含...但不限于这些...”、“这些功能请研发人员灵活掌握”“请参考某某网站/请参照某某项目的样子”都属于不合格的用语。
需求文档整体内容应该是封闭的,不依赖于任何未知的内容,引用的外部文档需要嵌在需求文档中,或者给出文档号,可以在团队的文档库中查询到。为更好的理解需求文档的封闭性,举例说明,比如要实现sip栈, 需求文档应该给出sip协议的介绍以及做到什么程度,研发不需要自己去看rfc文档, 只需要参照需求文档去开发即可。另任何业务上的知识盲点, 需求人员都要给开发人员解决,开发人员在任何时候(需求文档review中或者设计文档中或者开发中)发现知识盲点,都可以反馈给需求人员,要求给予支持或解决。
需求文档需要明确定义系统的功能边界、系统的网元划分、各个网元的外部特性。这里给出一个大体的提纲:要实现的功能点、网元划分以及最后的部署方式、每个网元的功能点、复杂网元的内部模块图建议(可选)、网元间通讯接口、各网元间的交互时序图、各个网元如何和其他网元交互完成前面的功能点。
其中各网元的交互时序图需要能涵盖网元间所有的交互,简单的重复的交互也可用文字描述补充;网元间的通讯接口是明确的,每个命令中的字段名、类型、取值范围都需要明确。
其他方面,比如性能要求、其他非功能性要求等,如果外部需求方有明确要求,可写入文档,否则可象征性写一个一定可以满足的值或者省略这部分(性能本身依赖于团队的积累)。
在需求文档review阶段,产品人员可以审核考量是否已经满足了预期的功能;开发人员可以审核考量是否已经明确了自己负责的模块特性,是否不再需要和其他模块的开发人员沟通确认某些接口上的问题;测试人员审核考量是否可以依据此写出测试用例,不需要再向开发人员确认。
3 开发阶段
开发阶段可以细分为设计文档阶段、编码阶段、测试阶段。其中重要的是前期设计和后期的测试阶段。
设计文档中,开发人员要从各个角度向别人展示自己的系统,包括部署图(在网络中的位置)、模块图、数据流向图、静态类图、交互图、状态图 关键数据结构等,最终需要能体现需求文档要求的功能。
研发测试阶段请参见测试系列之 c++ server测试全攻略,其中白盒测试、内存测试、压力测试必做,同时陪测程序需要和源码一并提交在版本管理工具中。完善的log信息和必要的陪测工具是系统质量的保障。
开发阶段结束后,源码/二进制包上传、代码行统计、各种文档入库、defect入库。
4 测试阶段
测试人员的测试用例、结果必须文档化。专项测试需要包含以下部分:测试目的、测试方法、测试环境、附测试脚本、测试结果。
测试人员不仅需要测试系统,在实施和维护期间更要回答现场人员的咨询。
测试结束,各种文档入库、defect入库,用户文档产生、版本打标记或者打基线,作为以后开发的基础。
5 实施阶段
版本正式发布,基本标志项目结束。实施人员将作为以后现场支持的Level1级,测试人员为Level2级,研发人员为Level3级,属于未实现的功能,转需求人员。
说下bug数量,一般c/c++代码每千行16-20个bug左右,研发和测试阶段按一定比例划分。bug过少,从某个角度可以看作测试力度不够,过多可以看作代码质量较差。任何时候,bug数量都不应当作为绩效考核的标准。
以上阶段中最重要的是需求阶段,其次是研发阶段的测试。
三 追求更好的项目管理流程
从某种程度上说,项目管理是一个团队的习惯。
一个好的项目管理习惯,可以让一个团队的运作如行云流水,又如微风拂面,不着痕迹。团队成员各司其责,既是在工作 又何尝不是一种享受。整个项目管理,就象... (就象...最近装修,团购网上的标语:就象)喝茶那样轻松。即便是这个团队从公司脱离,在新的环境里也会保留以前的项目管理制度,从通讯企业里出走的团队很多这种例子。
而一个差的项目管理习惯,则是一个团队的噩梦。所谓的管理,可能流于形式,可能成为项目管理者的令箭牌,可能成为研发人员的催命符。
习惯的力量是强大的,也是可怕的。不管是好的团队还是差的团队,遇到不符合自己习惯的改变,都会做出一致的决定:抵制。抵制的理由可能不同 ,有的是 我们现在已经运作的很好了,不需要做出改变,有的则是我们没有那个能力去实施这个流程/我们人员有限/我们控制不住。其实这都是习惯使然,改变后也不见的运作比现在差,改变后也不见得会浪费更多的人力,反而会有序,更节省人力,更利于控制。
习惯如此重要,如何养成习惯呢?
养成习惯需要3个前提:知识(知道这么做是好的)、意愿(愿意这样做)、可实施性(有明确的实施方法)。之后加上坚持,一定时间(21天)后就可以形成习惯。
看培养好的项目管理习惯就是这么简单,真的就象喝茶那样轻松。
四 团队技术积累
项目管理理论容易给人以错觉,好象只要有了规范的项目管理流程,就可以保证项目的成功可重复/成功过程可控制。但事实往往并不是这么如意。
项目管理的顺利进行依赖于团队的基础建设:团队人员组成、基础代码库、基础模块库等。没有完备的团队和一定的基础积累,谈不上项目得可重复与可管理性。
成熟的团队中,项目的主角是需求人员、开发人员、测试人员。需求是个迭代的过程,是在已有系统或模块上持续扩充的过程。开发是充实基础库与模块库,在已有基础代码库和基础协议栈之上实现业务的过程。测试是一个测试工具积累的过程。完备的积累是项目成功的可靠保证。
总体来说,项目管理和团队建设相辅相成,共同发展,公司在不同的时期,偏重不同,初期重团队建设,成熟期重项目管理。
五 具体问题具体分析
项目管理流程并非一层不变。针对项目的规模和复杂性,可分大项目、小项目、mini项目。有的项目很小,不需要写需求文档,可能只需要增加一个ChangeRequest,也可能不需要写设计文档。以保证小项目的灵活性和响应及时性。后期的补充正确区分defect和ChangeRequest。需求一定要递交到需求人员,以便其把握整个系统以及后续架构的走向。
发表评论
-
Google Protocol Buffers浅析(一)转载
2013-12-11 14:44 843原文出处:http://www.cnblogs.com/ ... -
Apache Thrift - 可伸缩的跨语言服务开发框架
2013-12-10 21:50 795转载自:http://www.ibm.com/develo ... -
Protocol Buffer的安装与使用
2013-09-16 10:37 887Protocol Buffer的安装与使 ... -
消息队列的定义,以及引入消息队列可解决的问题
2013-07-15 15:18 13797消息队列的定义,以 ... -
Redis作者谈Redis应用场景
2013-05-30 15:00 706Redis作者谈Redis应用 ... -
QuartZ Cron表达式
2013-05-28 14:56 656CronTrigger CronTriggers往 ... -
Tddl分布式数据访问层
2012-11-18 14:18 1532http://code.taobao.org/ ... -
eclipse使用总结
2012-06-08 12:47 732eclipse使用总结(转载) 2011年3月15 ... -
使用 XStream 把 Java 对象序列化为 XML
2012-04-18 09:55 923使用 XStream 不用任何映射就能实现多数 Java 对象 ... -
使用jsoup 对HTML 文档清理防止脚本注入
2012-02-18 18:36 1729jsoup 在提供强大的 API 同时,人性化方面也做得 ... -
MyEclipse设置注释格式(转载)
2011-11-08 17:24 15477Window --> Java --> Cod ... -
为什么jdk中把String类设计成final?(转载)
2011-10-11 16:53 761原文地址:http://blog.csdn.net/fengl ... -
网页中嵌入PDF文件
2011-08-01 14:37 4196在项目根路径下新建一个文件夹date,然后放入PDF ... -
Logger.getLogger与LogFactory.getLog
2011-07-29 16:45 870Logger.getLogger与LogFact ... -
在Weblogic9.2里添加JDBC连接,并用JNDI名称进行调用
2011-03-24 16:30 2731基本思路:在weblogic9.2里配置数据库连接然后通过Jn ... -
Java 加载Properties文件
2011-03-11 14:05 1263package dao; import java. ... -
面试题(1)控制台操作录入数据
2011-03-10 16:01 991package dao; import ja ... -
数据库连接池(没加线程同步)
2011-03-09 14:12 1206package conn; import java ... -
数据库设计的三大范式(通俗易懂) 转载的
2011-03-08 15:13 1325关系数据库中的关系必须满足一定的要求。满足不同程度要求的为 ... -
Dom4j解析xml使用方法
2011-03-08 14:56 1005package dao; import org.d ...
相关推荐
任何未经许可的转载或引用均需注明来自“项目管理者联盟(www.mypm.net)”。如果需要用于商业目的,则必须事先获得项目管理者联盟的授权。 #### Mypm.net《案例》栏目介绍 项目管理者联盟网站上的《案例》栏目是...
一、项目管理流程 1. **启动**:项目启动是正式确认项目存在的过程,包括制定项目章程,明确项目目标和范围,并确定项目的主要干系人。此阶段可能涉及可行性研究、资源评估和组织能力评估,以便确定项目是否值得...
做cmmi时找到的资料,觉得比较实用, 我把它整理整理成了word文档,拿出来与大家分享!...转载本文章必须保留作者、出处链接以及本声明。 转载不注明出处、程序采集是侵权行为,我们保留追究其一切责任的权利。
某项具体功能地实现,的确是顾问的基本功,但如果要从SAP业务顾问提升到另一个层次,无论是方案架构师、项目经理,还是管理咨询、业务流程专家(BPX, Business Process Expert),都需要对企业架构、组织功能和业务...
jBPM(Java Business Process Management)是一个开源的工作流管理系统,用于处理业务流程的建模、部署、执行和监控。jBPM使用jPDL(jBPM Process Definition Language)来定义流程,这是一种基于XML的语言,允许...
某项具体功能地实现,的确是顾问的基本功,但如果要从SAP业务顾问提升到另一个层次,无论是方案架构师、项目经理,还是管理咨询、业务流程专家(BPX, Business Process Expert),都需要对企业架构、组织功能和业务...
在【压缩包子文件的文件名称列表】中提到的"java+Web审批流程(转载)"可能是项目的源代码文件、文档或者部署指南。这些文件可能包含以下部分: 1. **源代码**:包括Java源文件(.java),可能分布在不同的包结构下...
某项具体功能地实现,的确是顾问的基本功,但如果要从SAP业务顾问提升到另一个层次,无论是方案架构师、项目经理,还是管理咨询、业务流程专家(BPX, Business Process Expert),都需要对企业架构、组织功能和业务...
基于ACCESS的合同管理系统是一种利用Microsoft Office...通过标准化的合同管理流程,科研机构能够更精确地进行项目预算控制,提升整体运营效率,降低不必要的风险,最终为科研活动的顺利进行提供坚实的信息支持基础。
【知识点】 这个文档标题为"保险公司月度启动大会流程流程.pptx",描述和标签并未直接提供技术相关的具体内容,但从文件...在实际的IT应用场景中,这些原则和方法同样可以借鉴到项目管理、团队协作和产品推广等环节。
人力资源管理系统(HRMS)是企业用来管理其员工信息、招聘流程、绩效评估、薪酬福利、培训与发展等人力资源活动的关键工具。此类系统旨在提高效率,减少人为错误,并促进人力资源部门与组织其他部门之间的协同工作。...
"【转载 见附件】纵观jBPM:从jBPM3到jBPM5以及Activiti5" 这个标题表明这是一个关于jBPM发展历程的综合分析,涵盖了从jBPM3到jBPM5的变迁,并且提到了Activiti5,这是一款与jBPM相关的流程管理框架。标题暗示了文章...
酒店管理系统是一种专为酒店运营设计的信息技术解决方案,它涵盖了从预订、入住、退房到客房服务等一系列业务流程的管理。这个“酒店管理系统”是源代码形式的,意味着它提供了程序的内部逻辑和结构,允许用户根据...
【RPA之家转载视频教程8】分享和学习UIPath利雅得银行项目10月2日,这个资源是针对RPA技术爱好者和学习者提供的一个宝贵资料,它涵盖了UIPath在实际银行业务中的应用。RPA,即机器人流程自动化,是一种先进的技术,...
- 使用版本控制管理流程定义,便于追踪更改。 - 利用监听器和事件机制来增强流程的灵活性。 - 对于长寿命的过程实例,考虑使用持久化存储。 通过学习和实践JBPM,开发者能够构建出强大的业务流程管理系统,提升企业...
观众可以从中学到如何高效地利用UiPath工具来构建自动化流程,如何处理挑战和问题,以及如何在紧张的时间限制下进行项目管理。 文件名称“【RPA之家转载视频教程5】我对UiPath Hyperhack 2020的体验-UiPath ...
本课程设计的主题是利用C语言编写一个汽车会员管理系统,旨在培养学生在实际项目中运用C语言的能力。系统需具备会员信息的添加、删除、查询、修改等基本功能,同时能进行一些统计操作。以下是系统设计的关键知识点:...
世界经济管理学与财务知识分析是涉及全球经济趋势...总的来说,尽管这个讲座主要关注的是学术出版流程,但它揭示的流程管理、质量控制、同行评审以及影响力评估等原则,对IT行业的项目管理和知识传播也有着深刻的启示。
传智健康管理系统是一款应用于健康管理机构的业务系统,实现健康管理机构工作内容可视化、会员管理专业化、健康评估数字化、健康干预流程化、知识库集成化,从而提高健康管理师的工作效率,加强与会员间的互动,增强...