最近在看印度pankaj jalote所写的软件项目管理实践,书中给出了很多具体的项目管理的例子,从项目的规划,项目实施,收尾三个阶段来讲项目管理。
项目规划的基础结构
这里提到了三个概念,过程数据库PDB(process database),过程基准能力PCB(process capability baseline),过程资源(process assets)。
在软件工程的目的就是得到一个好的软件产品,如果保障软件的产品质量呢,而且不是一次性的产品,而是一个持续的生产力的问题,这就提到了软件生产的过程,如果能在过程中控制过程的质量,那么产品的质量也就得到了保证。这也就是CMM所提倡的过程能力,CMM的级别是用来标识过程能力的成熟度,现在是分为5级,一旦达到了5级,就说明这个企业在软件开发过程中,有一个很成熟的过程能力,也就标识它所生产的软件产品的质量很高,用户也就得到了保证。所以现在很多软件企业去搞CMM认证,但是多半都是为了拿到证书,并不是真正的应用。我一个朋友的公司为了过CMM-3,专门集中了一些人,花了几个月去编写那些认证所需要的文档,而这部分就是一个很大的工程。由此想到,就是这个学会了,我也可以到其他的软件公司去写这些CMM的文档,又学会了一个生存技能。
- 过程数据库PDB,就是一个企业所有的项目的累计经验的数据库,这其中包括了项目的特征,规模,人数,工作量,故障等信息。这对于一个小的公司可能没有什么太大的用户,靠人就能收集这样的信息,但是对于大公司,多部门的项目经理在做项目规划的时候,就起到了莫大的作用,可以参考以前的项目开发经验,来计算新项目的规模,人数,工作量,这都是有用的参考信息。这其实也就是一个经验数据库。
- 过程基准能力PCB,是根据PDB量化的数据信息,这个信息是基于过去的项目的概率统计数,比如说成本,一个人一个月按项目的FP来算的工作能力,项目的各个阶段占项目的百分比,故障可能引入的阶段,出现的百分比,为项目经理制定新的计划提供了数据依据。
- 过程资源,这其实要提供一个工作产品的概念,这里我们暂且理解为文档,就是在项目开始以后所产生的所有文档,包括配置管理的文档,项目管理的文档,通过一些图标,文档来概括经验。也可以建立一个知识库,来存放这些信息。也可以起一个名字叫文档管理,放在项目管理的其中。
这是我今天看书的心得,记下来一来加深印象,二来和大家共享。这个印度人写的还不错,至少不是很枯燥的概念。