当大家开始研究 CMMI 的时候,将会有很多术语可能是我们不熟识的。好几年前,有部分同事就表示不明白约束、假设、依赖、承诺这四个术语。本文希望可以加以解释,让新来的人员可以有一个比较明确的开始。

在解释之前,我希望大家可以想着一些项目有关的人物与事情。比如要去开发一个工具,或是制定一个计划,又或是参加一个评审。我们开展以上的项目活动的时候,都是在现实之中开展的,是离不开现实的。所以我们从事那些活动的时候,我们的工作将会与现实发生一定的关系。

约束、假设、依赖、风险,都是这些关系的一种。我们是经常会遇到它们的。了解它们将会让我们更能高效地开展项目的任务。

  • 约束

约束和假设,都是存在于项目里面的条件与关系。每一个项目都会遇到不同的外部情况。这些外部情况,都是客观、现实的情况,有一部分是已知的,是外部确定的,从项目的角度来看,是不可能改变的,是一定要接受的。这就会对项目造成一些限制:比如不能这样、那样。这些就是约束。比方说,全世界都对中国禁运。那么,手机的开发,就一定只能用中国出产的器材。这样的一个条件,就是一个约束。

又比如要制定一个计划。但是我们没有以前从事过类似的产品,使用过这样的技术的人。所以我们没有任何这方面的经验与历史资料。这个是我们不能改变的现实。

在评审方面,如果公司的政策是不能在会议之中使用手机,或是公司的会议室都设计成把手机信号屏蔽掉。所有这些情况都是不能改变的,我们需要接受的,会限制我们的灵活性的。他们都是约束。

这些事情如果我们不是在做 CMMI 也会遇到。我们可能没有刻意地知道这就是“约束”,但是我们都会知道如何应对于处理这些“约束”。

约束是事前已经知道是存在的或一定会发生。所以在计划中,我们就需要把约束考虑进去。比如:国外不供应的,我们就要自己做。没有经验的,我们就要找一些具备相关经验的人进行咨询,或是接受训练。否则计划的准确程度就不可以保证。

约束是一定存在的,它造成的后果是已经知道的。我们需要处理,这些处理的方法都是项目的活动,都需要在项目计划里明确。但是它本身不是风险。

  • 假设

假设是一个未发生或未知的外部的客观情况。通常一个假设情况,也是外部确定的,或是受外部限制的,项目一定要接受它的影响的。但是这个情况不一定是必然的。比方说:这个项目的成功条件,是能够招聘二十位对3G技术有5年经验的开发人员。那么,我们的项目计划,就假设能够招聘到这样的一批人。当然这个事情有可能不可以满足。但也有可能得到满足。所以这是一个“假设”而不是一个约束。又比如拿着电脑参加评审,就是假设会议室里有网络,可以上网。但是有些会议室的网络会有故障,上不了网的。

因为我们干活时希望把事情做完做好,满足要求。所以我们策划的时候,不应该有不合理的假设。就是说,我们的假设的成功机会应该很高。否则这是不负责任的。无论如何,凡是假设,都可能不兑现,虽然概率不高,假设不兑现的时候,后果就不好。后果不好,就是一种“风险”。这个风险取决于自己的假设是否合理。

所以我们进行项目的活动的时候,需要刻意地留意自己的思维基础、依据是否“假设”。如果是,那么我们就不能过分依赖它来开展活动,或者要处理这个风险。

我们如果能够好好判断可能影响项目的外部因素,就能更有效地处理这些问题,项目就可以更能满足要求,项目绩效就会更好。


这些因素,假设也好,约束也好,都对项目有不同程度的影响。值得项目思考处理的因素,影响都是比较大的。否则我们用了很多精力关注一些小因素,就变得不值得了。CMMI 要求考虑这些问题,就是要我们建立高效处理各种因素的能力,所以要求考虑的,都是影响明显的。

在CMMI评估访谈的时候,如果拿出来的案例,都是鸡毛蒜皮的小事,就会给人家一个“你在背书,其实没有实践过”的感觉。

 

  • 依赖

依赖是项目里不同任务之间的关系,或是项目里的任务与外部的关系。如果一个任务,会从其它的任务或是项目外部接受一些输入,或是对其他的任务提供一些输出,那么,这个任务,和那个其他任务就有依赖关系。这些其他任务,可以是项目之内的。也可以是项目之外的。这些输入、输出,可以是工作产品,也可以是一些服务和信息。比如,开发的各样机,就需要依赖采购的器件能及时到货。

项目的策划能够开展,就是因为我们对需求有一定的了解。所以项目策划是依赖于
了解需求的。我发现一部分的同事在不能说清楚要做什么的情况下,就开始策划。这是非常浪费的。评审活动什么时候举行,当然是依赖于评审的文件已经预备好。否则就没有文件可以评审了。

依赖关系对策划有影响。我们需要配合这些依赖关系。总不能把一些有依赖性的任务放在那个依赖因素发生之前吧。就是说,我们不会计划在文件预备好之前就进行评审吧?

另一方面,依赖是需要监控的。如果我们要按时评审,那么,我们就要确保文件按时完成。如果要样机按时完成,可以使用,那么,我们就要监控器件的采购与供应方,保证器件可以按时交运,并及时到位。

  • 风险

风险是一些可能发生,还没有发生,但如果发生就会有不良后果的事情。比如到台湾的苏花公路游玩,风景很好,但大雨天气下有泥石流的风险。这个跟假设有一点像。但是风险发生的时候会导致项目的不良后果。这才是风险。如果后果是好的,我们不叫他做风险。

假设就是一个策划的依据。如果不发生,反而会造成不良的影响。比如:“假设天气好,我们就到苏花公路。”那么,如果假设不发生,天气不好,就有风险。

所以我们可以说,每一个假设都会有风险,因为他未必一定发生。

风险是一个非常重要的项目管理理念。因为项目的使命,就是满足要求,满足目标。任何不良影响,都可能让项目不能十全十美地达成目标,甚至不能达成目标。

如果一个项目要开发一个成熟的产品,使用成熟的技术、工艺。那么,大家对整个
过程都有经验。这样可能出错的机会就不大,风险就小。但是要用新技术开发一个高技术含量的产品,比如:飞机的发动机,有很多技术要求,我们不具备。那么,成功地风险就很大。确是如此。我们用了好几十年,到现在才开始有一点点进展。

风险有两个特性:发生的概率,与可能造成的损失。比如评审会议室的投影仪,可能老旧,颜色会偏蓝。大家看起来不很舒服。如果我们知道风险能够造成的破坏程度,我们可以承担的,就不需要理会。如果后果严重的,比如投影仪坏了,灯泡坏了,不可以投影了,大家都看不见文件了。问题就比较大了。问题大的风险,我们就要看它发生的概率。

后果严重,概率高的风险,我们需要避免它或是防止它。比如多拿一个灯泡,多拿一根投影仪的接线,由或者,自己带一个投影仪。如果后果严重担概率极低的,通常不会改变计划里的活动。但我们就要做好应对方案。比如,会议室在76楼。开会时可能发生地震;也可能有敌人的飞机撞过来。那么我们就要买好生命保险了。

值得一提的,就是项目的任何工作,每一个任务,都可能有风险。越关键的任务,风险可能造成的损失越大。所以项目策划的时间,需要小心考虑每一个任务的风险。是否可能延误?有什么延误的可能原因?

那么,如果我们有能力管理好风险,通过策划与监控,规避风险或是让风险的影响受控制,那么项目能成功的机会就越大。所以有些学者说如果能够管理好风险,就等于能够管理好项目。这基本上是对的,只要在管理风险之外,加上良好合理的策划,就可以了。

请留意,如果我们策划得不好,风险也非常难管理好。因为管理风险依赖于
项目策划。明白么?

其实所有这些约束、假设、依赖、风险,等等都是项目管理的概念,不单单是CMMI 的观念。他们在项目管理的过程中,对项目的策划与操作:

  • 不能依赖约束,因为约束是项目不能得到的。
  • 假设需要合理,否则风险很大,对项目不利。
  • 依赖需要小心监控,确保一定按时到位,否则项目就有风险。
  • 风险会对项目产生不良影响,项目要尽量避免风险

 

  • 承诺

承诺是一个态度。承诺就是员工,包括领导,对完成自己承担的那些任务与责任,有明确的意愿,按计划要求完成它。项目之所以能按计划高效、高质量地完成,就是依赖于员工的承诺。

承诺包含了了解承诺的内容,愿意承担这个责任的含义。强迫的条件,不是承诺。

我们可以说,我们的管理模式不需要承诺。我们有考核,有奖惩的激励手法,员工都会按计划完成的。

我们都在履行任务,我们当然能够完成它。但是这样不依靠承诺的操作模式,让我们没有承诺的感觉,所以我们理解承诺有困难。完成的产品与服务,质量不能保证。效率不会很高。

我们是这样相信的。所以在中国的业界以至社会,都比较缺乏诚信。在深圳的母亲,疯狂地在香港买婴儿的奶粉。我们对承诺不理解,是一个可悲的现实。


在项目里,项目和产品部之间是有承诺的。研制任务书就是承诺的条件。承诺也可以发生在领导与项目之间:领导承诺提供资源,项目承诺按时完成开发产品,保证质量与成本。每一个项目的任务,都是项目与成员之间的承诺。需要按时,保证质量的情况下完成任务。也可以发生在项目与供应方之间。

CMMI 是一系列的最佳实践。其中提到承诺,就是说以员工的自动承诺完成的任务,才能提高质量与效率。

其实,承诺是专业态度的一个因素。它有要求负责任,和合理要求的成分。这样才是一个质量与效率的驱动力。