1.软件配置管理现状
大多数大型外包公司的运营方式是以项目为单位,SCM也分散在各个项目内节点。
SCM的节点信息只有本项目内人员知道。SCM类型各异:CVS,ClearCase,VSS,Perforce等。项目结束后,各SCM下落不明。
2.软件配置管理统一化的各种提案
2.1 完全统一化
在全公司,或者各Group内,使用一种SCM系统,并在该系统上分配给各个项目SCM,和权限。这种提案的优点是:
1.由某个部门例如IT,统一管理,统一分配;
2.更完备的权限控制;
3.统一的备份机制更有效的资产保护;
4.公司内所有员工都了解SCM的信息,更有利于资产的重用。
然而,完全统一化存在很多弊端。
1.客户指定SCM类型。各项目客户可能会指定SCM的类型,统一化比较困难。
2.统一需要一个健壮的大型SCM系统,例如ClearCase,然而ClearCase的普及需要相当长的时间和成本。
3.公司需要额外的人员管理和维护,需要ClearCase的专家负责培训,成本高。
4.一旦发生故障会影响所有项目的进程。
2.2 局部统一化
缩小统一化的范围,根据项目性质的不同,例如,需要使用ClearCase的项目,需要使用VSS项目,需要使用CVS的项目,各项目可以申请不同的SCM系统。各SCM系统可以选择性安装在不同的节点。成立SCM管理组织,各个节点的管理员由该组织管理,管理员可以兼职。但各节点的信息必须公开。这种提案的优点是:
1.由SCM组织统一管理,统一分配;
2.更完备的权限控制;
3.公司内所有员工都了解SCM的信息,更有利于资产的重用;
4.无需附加人员成本;
5.缩小了SCM系统故障的影响程度;
6.SCM类型可由项目组灵活选择。
然而,局部统一化也存在弊端。
1.SCM系统发生故障仍然会影响一部分项目的正常运行;
2.SCM管理组织的工作量无法预计;例如,新项目的配置,权限管理,数据备份等,硬件维护。
2.3 整合现有SCM
该提案不需要改动现有的SCM,而是将各个SCM节点的都收录到统一的目录系统内。SCM目录系统公开与众,任何人都可以访问目录系统。仍然需要SCM组织,但该组织不再维护实际的SCM,他们的工作是将SCM的信息收录到SCM
目录系统内。
这种提案的优点是:
1.没有额外的软硬件费用;
2.公司内所有员工都了解SCM的信息;
3.某项目的SCM的故障不会影响其他项目;
4.SCM类型可由项目组灵活选择;
5.减少SCM组织工作量;
6.更符合客户安全需求。
该提案的前提是:
项目各SCM节点都可以在企业内通过网络访问。
该提案存在问题有:
1.项目结束后,SCM节点的处理不明;
2.目录系统的搭建的成本;
3.分散的SCM不能被统一管理,存在数据丢失隐患,权限的滥用。
3.总结
将这3个提案进行比较,结果如下:
|
完全统一化
|
局部统一化
|
整合现用SCM
|
统一管理,统一分配
|
√
|
√
|
X
|
完备的权限控制
|
√
|
√
|
X
|
SCM的信息公开
|
√
|
√
|
√
|
SCM类型的可选性
|
X
|
√
|
√
|
统一的备份机制
|
√
|
√
|
X
|
管理和维护成本低
|
X
|
X
|
√
|
SCM系统故障影响度低
|
X
|
X
|
√
|
无需额外软硬件成本
|
X
|
X
|
√
|
资产的有效保存
|
√
|
√
|
X
|
4.建议
以低成本运营为主体的外包公司,建议采用“整合现用SCM”方案为现有SCM各节点编辑目录,并将目录公开,为了能有效地保存SCM管理的资产,建立公司内统一的SCM备份机制,由各项目成员定期将SCM内数据备份到公司统一的备份节点,并建议公司内独立的SCM用于保管已结束项目资源。