手头正好有一个项目,需要进行决策分析。而我正在考虑是否应该使用“决策树”技术进行所谓的决策分析。但是在工作的过程中我感到怀疑:是什么影响我采用一种分类方法,而不是另外一种?显然,我预感到了另一种方法得出的可能的结果并不一定可以支持我的观点。我希望采用的分类方法将刚好导出我预期的观点,即通过某种方式,合约双方可以实现“双赢”。那么经过我的过滤而形成的这颗“决策树”还科学吗?

感谢赫伯特·西蒙西蒙认为:

绝大多数的人类决策,不管是个人的还是组织机构的决策,都是属于寻找和选择合乎要求的措施的过程,这是因为寻找最大化措施的过程比寻找前一个过程要复杂得多。后者首要的条件是存在完全的理性,而现实中的人或组织都只是具有限度的理性。

也就是说,大多数人追求的并不是完全理性、绝对科学的“最优决策”,而是在追求有限度的理性下的“最满意决策”。而这一心理动因将无时不刻地影响决策者的决策。

这样的行文不免又替自己开脱的嫌疑,但的确可以解释我的疑惑。同时他正好提醒了我,先入为主的作法本身就已经偏离了科学。使用科学工具只不过是替自己披上了“科学”的外衣。因此作为咨询工程师,能够站在客观、公正、科学的立场上并不是想象的那般容易。

特此记文,用以克己。

概述

在IT服务公司构建项目管理体系时可能会面临项目“多元化”的问题,即项目的领域、规模、类型(研发、实施、维护)差异很大,因此难以建立一个统一的项目 管理体系。实际上,可以通过分层管理的方式解决这个问题,这里结合神州数码的项目管理体系与大家讨论构建项目管理体系中的思路和体会。

三层体系是按项目管理的重点将体系划分为“项目级”、“过程级”和“人员级”三个层次,并通过这三者的集成管理和相互促进不断提高软件项目的开发质量和效率。

项目管理体系的划分

项目级

项目级是指公司项目监控体系,管理的重点是项目的运行指标,解决“如何管好公司内的(多个)项目”问题。这个层次应该由公司内专门的部门负 责,统一对项目的立项、执行和结项执行全程监控。神州数码于2001年初即建立了公司层项目监控体系并实现了对各类软件项目的统一管理,目前该体系已经包 括立项控制、状态跟踪、偏差控制、阶段评估、过程审计和结项评估等控制环节,可以动态监控每个项目的范围、时间、质量、成本、人力、风险等状态,为完成项 目目标、提高客户满意度发挥了重大作用。监控体系各控制过程如下:

1) 立项控制。立项时需要提交《工作说明书》、《进度计划》、《质量保证计划》、《项目预算》、《人力资源计划》和《风险评估表》,由项目管理部批准后执行。同时上述资料将作为跟踪的基准。如果出现重大问题需要变更,则修改后项目计划作为新的基准。

2) 状态跟踪。项目运行中每周提交项目周报,报告变更、进度、质量、抱工单、问题和风险等内容。周报通过接口导入公司的数据库,汇总出周报表和月报表,跟踪每个项目的状态。

3) 偏差控制。当项目的运行偏差超出规定范围时,项目管理部的监理会着手调查原因,并根据情况发出预警或要求整改。同时建立偏差跟踪档案,跟踪检查直至恢复正常。

4) 阶段评估。在里程碑对交付物进行评审,对项目的关键指标进行评估,对项目经理和团队进行评价。根据评估的结果综合考虑是否需要调整计划和预算。

5) 过程审计。不定期对项目组进行审计,检查执行过程规范的情况。检查出的过程缺陷建立跟踪档案,并由项目监理跟踪改正的情况。过程缺陷作为衡量质量的一个重要指标,并直接影响项目的考核。

6) 结项评估。项目结束时对照立项资料检查工作的完成情况,参考工作范围和需求的变更工作量,对项目进行综合评价。

过程级

过程级是指公司的过程规范,其管理的重点是项目的执行过程,解决“如何管好一个项目”的问题。这个层次由项目组负责执行,而公司负责制定规 范、培训和审计。过程规范可以根据不同的领域、规模和项目类型有所不同,例如神州数码的产品研发项目采用SEI所定义的SW-CMM1.1模型;对于 ERP实施项目采用ERP厂商自己所定义的项目实施模型。

过程建设对一个公司来说是最重要的也是最困难的:一方面过程规范是项目监控体系的基础,没有过程规范无法产生需要的度量数据;另一方面,过程规范的又往往被技术人员视为“束缚”,如果没有高层的推动和文化的转变,很难真正执行。

从实际情况看,过程化建设要想取得成功,一要长期坚持、二要持续改进。以神州数码为例,前身之一“联想系统集成有限公司”在1998年即顺 利通过ISO9000认证,但只是初步建立了软件项目的过程规范;经过了近3年持续改进,并通过不断加强员工的“过程意识”才基本落实。之后,通过 ISO9000:2000版认证、CMM评估、项目监控体系等一系列举措,逐步实现了 “过程”在公司级受控。实事求是地讲,至今过程建设仍是初见成效,与国际水平相比仍有很长的路要走。

人员级

人员级是指培训体系,管理的重点是人员的效率,解决“如何做好项目中的一件事”的问题。这个层次的工作个性化非常强,可能每个项目组都不同。这个层次的工 作可以分为两个方面:一方面通过各种培训提高个人能力,例如为开发人员设置技术和软件工程课程,为项目经理的设置项目管理、客户关系、员工管理等课程,还 可以根据需要为个人提供有针对性培训;另一方面,可以引入新的技术和方法、推广新的工具软件以提高过程能力和工作效率,并降低规范化造成的管理成本。

项目管理体系三个层面之间的相互促进可以不断推动体系的发展:过程规范是监控体系的基础,但随过程化建设的不断深入,监控的内容会不断深入和细化,公司对 项目的控制力也会不断增强;随着人员经验的积累和工具方法改进,又会不断优化各个过程,并作为过程规范转化为组织的能力;而过程改进的效果和人员效率变化 又可以直接通过监控体系的运行指标中反映出来,作为进一步行动的依据。

综上所述,三层项目管理体系是从共性到个性的渐进。“项目级” 统一对时间、质量、成本等指标进行监控,监控范围覆盖所有类型的软件项目; “过程级”依据不同的领域、规模和项目类型有所不同。“人员级”具有很强的个性化,依据不同项目、不同的个人和不同的工作需要有针对性地培训人员、选择工 具/方法。通过三层的互动,可以推进体系的不断发展。

前一阵子看到了primavera 的 prince2 整合方案,看来prince2已经越来越多地被应用到各个领域。用primavera的描述:私人业主和公共部门都喜欢使用 PRINCE2™ 提高行政效力, 管理风险, 并确保实现组织目标的方案的延续性。没错,这正是PRINCE2™的精髓之一。对于固定职能、固定成员的项目团队来说,PRINCE2提供的项目管理环境就显得非常有价值。

那么,我们来看看PRIMAERA是如何整合PRINCE2项目管理环境的。

primavera-p
呵呵,老一套。还是脱离不开“模版的影子”,即使primavera已经将这些模版做的很完善了。但是primavera缺乏的正是“过程化”。prince2强调的可重复的方法和过程都需要过程化的模块支撑,同时prince2的强大的文档管理需求也是目前primavera单独的软件解决不了的(至少P3 E/C 独立完成上述功能很困难)。primavera至少没有逻辑性非常紧密的过程模块输入输出以及数据管理体系,因此其整合能力、工具化文档/数据协同能力还有待提高。