对于项目管理来说,文档非常重要,如果是传统的工程行业项目的话,仅仅标书就是几百上千页的。相对来说,其实信息系统开发项目已经好很多了。另外就是配置项,它是比文档更大的一个概念,项目文档是包含在配置项中的,除了文档之外,它还包括源程序、计划、报告等。今天我们就主要来看一看在信息系统项目中的这些文档和配置项相关的内容。今天的内容比较长,但是只是说明项比较多,重点内容其实还好。其它的相关了解知识也都是非常有用的内容,大家可以好好看看哦。
软件系统相关的文档一般分为三类,包括 开发文档、产品文档、管理文档 。
开发文档用于描述 开发过程本身 ,基本的开发文档包括:
产品文档主要是描述 开发过程的产物 ,包括产品使用、维护、增强、转换、传输方面的内容,这些文档包括:
管理文档记录项目管理的信息,例如:
文档的质量可以分为四级:
配置管理是为了系统地控制配置变更,在系统的整个生命周期中维持配置的完整性和可跟踪性,而标识系统在不同时间点上配置的学科。在 GB/T 11457-2006 中,将配置管理定义为:“应用技术的和管理的指导和监控方法以标识和说明配置项的功能和物理特性,控制这些特征的变更,记录和报告变更处理和实现状态并验证与规定的需求的遵循性。”
其实,从上面的定义中,我们就可以看出,配置管理实际是为了解决多重维护、同时修改以及丢失版本或不知版本的问题。它包括 6 个主要的活动:制订配置管理计划、配置标识、配置控制、配置状态报告、配置审计、发布管理和交付。而 CMMI 定义的配置管理主要包含制定配置管理计划、识别配置项、建立配置管理系统、创建或发行基线、跟踪变更、控制变更、建立配置管理记录、执行配置审核、版本控制这些步骤。
配置管理计划的主要内容包括配置管理软硬件资源、配置项计划、基线计划、交付计划、备份计划、配置审核和评审、变更管理等,由 CCB(变更控制委员会)审批该计划。制定配置管理计划,便于配置管理员按计划开展配置管理工作,并保持配置管理工作的一致性。制定配置管理计划的步骤包括:
GB/T 11457-2006 中对配置项的定义为:“为配置管理设计的硬件、软件或二者的集合,在配置管理过程中作为一个单个实体来对待。”可以作为配置项的有:外部交付的软件产品和数据、指定的内部软件工作产品和数据、指定的用于创建或支持软件产品的支持工具、供方/供应商提供的软件和客户提供的设备/软件。典型配置项包括项目计划书、需求文档、设计文档、源代码、可执行代码、测试用例、运行软件所需的各种数据,它们经评审和检查通过后进入配置管理。
在识别配置项的过程中,要遵循下列步骤:
需要加以控制的配置项可以分为基线配置和非基线配置项两类,基线配置可能包括所有的设计文档和源程序等;非基线配置可能包括项目的各类计划和报告等。所有配置项的操作权限应由CMO(配置管理员)严格管理,基本原则是:基线配置项向开发人员开放读取权限;非基线配置项向 PM、CCB 及相关人员开放。这个我们后面还会说。
配置管理系统用于控制工作产品的配置管理和变更管理。该系统包括存储媒体、规程和访问配置系统的工具,用于记录和访问变更请求的工具。CMO(配置管理员)建立并维护用于控制工作产品的配置管理系统和变更管理系统。建立配置管理系统的步骤包括:
配置库是用于记录与配置的所有信息,是配置管理的有力工具,利用库中的工具可评价变更的后果,这对变更控制有重要意义。从库中还可以提取各种配置管理过程的管理信息,可利用库中的信息查询回答许多配置管理的问题。
配置库可以分为三种类型:
配置库的建库模式有两种:
配置库的权限管理非常重要,我们主要通过三个表格来看一下:
这三个表格其实很清楚了,第一个表格说明的是四种操作权限所代表的含义。后两个表格说明的则是不同的角色在不同的库中所拥有的权限。这两个表格大家可以用心多看几遍,选择题有可能就冷不丁的来一个项目经理在产品库有没有追加权限之类的问题。
配置项的状态可以分为“草稿(Draft)”、“正式发布(Released)”和“正在修改(Changing)”三种。配置项刚建立时,其状态为“草稿”。配置项通过评审后,其状态变为“正式”。此后若更改配置项,则其状态变为“修改”。当配置项修改完毕并重新通过评审时,其状态又变为“正式”。这三种状态变化的过程可以参考下图加深理解。
配置项的版本号规则与配置项的状态相关:
一般来说,配置项的版本控制流程是先创建配置项,然后修改处于“草稿”状态的配置项 0.YZ 的或者“发布”状态的 X.YZ 变成“修改”状态,版本号变成 X.Y 。然后通过技术评审或领导审批,成为正式“发布”版本,版本号也转为 X.Y 。之后进行的变更就继续重复上述的流程即可。
之前我们一直提到了一个名词:基线。不知道大家有没有印象,其实基线(配置基线)就是一组经过正式审查并且达成一致的规范或工作产品,是开发工作的基础。基线由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。基线通常对应于开发过程中的里程碑,一个产品可以有多个基线,也可以只有一个基线。基线的主要属性有:名称、标示符、版本、日期等。
对于基线来说,有几种不同的角度可以划分出许多不同的基线。
上面的这几种基线类型的划分也是很容易出选择题的内容哦。建立配置基线的步骤可以概括为以下几步:获得CCB授权、创建构造基线或发行基线、形成文件、使基线可用。
配置审核主要是对配置项的处理是否有背离初始的规格说明或已批准的变更请求的现象。配置审核的目的就是为了确保项目配置管理的有效性。具体来说包括:防止不适用的产品;发现不完善的地方;找出各配置项之间不匹配的地方;确认配置项已在所要求的质量控制审查之后作为基线入库保存;确认记录和文档保持着可追溯性。
对于配置审核也有两个分类:
配置状态报告详细记录了开发过程中的每一项变更,反映了开发活动的历史情况,从而达到提高所有开发人员之间的通信能力,避免出现不一致和冲突的目的。它的内容包括:变更内容、变更原因、变更请求人和实施人、变更发生时间、变更影响分析。其实配置状态报告记录的都是变更相关的内容,毕竟没有变更状态也就不会发生变化,也就没有报告记录的必要,后面我们还有一课是专门讲项目变更的。配置状态报告的任务是有效记录和报告管理配置所需要的信息。它的目的是及时、准确地将软件配置项的当前状况,供相关人员了解,以加强配置管理工作。
最后我们再简单地了解一下配置管理中的角色和分工情况。配置管理过程中有几个重要的角色,分别是项目经理、配置控制委员会、配置管理员、开发人员。
项目经理(PM)是整个信息系统开发和维护活动的负责人,他根据配置控制委员会的建议,批准配置管理的各项活动并控制它们的进程。其具体工作职责如下:
配置控制委员会(CCB)负责指导和控制配置管理的各项具体活动的进行,为项目经理的决策提供建议。其具体工作职责包括:
配置管理员(CMO),根据配置管理计划执行各项管理任务,定期向 CCB 提交报告,并列席 CCB 的例会。他们的具体工作职责包括:
开发人员(Dev),他们的职责就是根据项目组织确定的配置管理计划和相关规定,按照配置管理工具的使用模型来完成开发任务。
看着感觉非常多吧?其实重点需要我们关注的内容并不是特别多,包括文档分类、文档等级、配置库、版本号、配置审核分类这几块,在上面也都加粗或者标红了。其它的内容其实就像开头说过的一样,也都是非常有意思的内容,有兴趣的同学可以查阅相关的资料继续深入学习哦。
参考资料:
《信息系统项目管理师教程》
《某机构培训资料》
《项目管理知识体系指南 PMBOK》第六版