项目管理关注的内容。
《A Guide to the Project Management Body of Knowledge》中对项目管理的定义是:
Project management is the application of knowledge, skills ,tools, and techniques to project activities in order to meet project requirement.
《IT项目管理》中对项目管理目标的定义是:
Meeting all three goals--scope, time, cost-- and satifying the project's sponsor!
项目经理的职责就是平衡项目的范围、时间与成本三者之间的关系。
范围就是这个项目要做什么,明确范围的边界就是明确这个项目里做什么不做什么。正确的估算范围,是估算工作量和预算成本的依据。
估算项目时间就是通过对项目的分解,估算每一个工作粒度所需要的时间,然后汇总估算整个项目在一定资源条件下所需的时间,并做出相应的项目计划。
成本就是完成这个项目需要花费的金钱。
在项目开始之前,项目经理需要估算这三者的目标,即这三者在一个数量之内可以完成这个项目。由于项目的唯一性与不确定性,要定下这三者的目标非常困难,有经验的项目经理可以通过调查以往的类似的项目经验和项目组人员的工作情况做出相对准确的估算。但是项目的发起人,或者说老板,不一定会同意你估算的目标,他也有他的利益权衡,出于利益的考虑,他可能会扩大项目的范围并尽可能的想要缩减进度与成本。作为项目经理,这是一个博弈的过程,也是一个沟通的过程,通过与老板的沟通,尽最大努力的争取多一些时间与金钱,尽量给项目预留一些缓冲的时间。
项目经理处于项目组和老板之间,他的任务就是协调双方的利益,调度有限的资源,保证项目按要求完成。
项目管理的另一个重要因素——质量。
ISO对软件质量的定义是:软件对用户规定的和潜在的需求的满足程度。
这里的满足程度就是软件的质量特性:根据《GB/T16260-1996(idt ISO/IEC9126:1991)信息技术 软件产品评价 质量特性及其使用指南》软件的质量特性包括:
功能性、可靠性、易用性、效率、可维护性、可移植性等六个方面
想法--范围描述--需求分析--系统设计--编码
从软件开发周期的角度来说,质量保证过程应该是保证信息在不同阶段传递转换过程中准确性的过程。
我们知道,传统的软件开发过程经历了以下阶段:
用户想法--范围描述--需求分析--系统设计--编码
我们先假设从一个阶段到下一个阶段的信息在传递转换过程中都是100%完全没有丢失,那么,用户最开始的想法被完全转化成编码并生成软件产品,此时用户对产品的质量应该是百分之百的满意。但是现实并不是如此,用户很难甚至不可能完全的、很细致的把他的想法表达出来,在从用户想法--范围描述这个过程中,信息会丢失或是扭曲。在接下来的各个阶段,从业务到技术这个过程中,由于知识水平的差异与沟通的不完善,信息在转换过程中都会有一部分丢失。这是一种必然,我们无法避免,只能是尽量的减少这种信息损耗。软件的质量也不可能有100%的保证,如果真的要保证100%,那么时间和成本上的增加将是无穷的。
我们可以说,经过软件开发周期以后,用户的想法在最终的软件产品之中实现了多少,或者说经过信息损耗后还剩下多少表现在产品上,这个量就是软件的质量。
这个质量的外在表现,就可以通过ISO定义的六个方面的软件特性,在开发者、使用者以及项目发起者这些角色表现出来。
所以,质量管理,从某种意义上讲,就是要平衡质量与时间、成本的关系,控制信息在个阶段传递过程中的准确程度。
对于质量在项目管理中与其他三要素的关系,存在着两中观点:
一种观点是:质量是包含在范围、时间和成本之中的。
另一种观点是:范围、时间、成本和质量组成项目管理的四要素,四者相互制约。
从传统项目管理的定义与质量的重要程度来说,我更倾向于后一种观点。
当然,争论这两种观点谁对谁错的意义并不大,重要的是如何把项目按要求完成,并让用户满意!
马希佳
发表于 @ 2006年05月30日 18:28:00 | 评论( loading... ) | 举报| 收藏