在CMM中,将软件过程改进的进化步骤组织成5个成熟度等级。在这五个级别中共有18个关键过程域(KPA)的实施来确保每个等级目标的实现。其实,人生就是一个项目。软件可以通过实施CMM,来保证软件项目的质量;同样对于人生项目,我们何尝不可以套用CMM中关键过程域呢?从而确保我们人生项目中重要过程域的进行而保证整个人生项目的质量。所不同的是,人既作为项目实施的机构,也是项目的最终产品;在软件项目中软件不可以自己来实施CMM,作为我们人来说就可以自己控制KPA,自觉地把自己打造成一个成熟的“产品”。下面我们来看看18个KPA在人生项目中影响和运用。
在CMM等级1初始级别中没有关键过程域,软件质量的高低完全依赖个人的能力,软件的结果完全是不可预测中。这就好比我们的人生成长中,没有任何的过程来规划和指导,完全是凭借个人的天分决定人的日后的成果。这种现象在我们社会中还是普遍存在的,比如有的一些天才人物,一辈子也没有经历学习什么的,可是他在某一方面就是厉害。这就好比我们软件项目中有那么一两个开发高手,软件完全依赖这一两个高手来完成,从而写出高质量的软件。这种情况是多么的省力省心啊!可惜的是这种情况少得可怜,你看看这种天才人物百年难得一遇。在我们软件工程实践中同样会遇到这样的情况。
CMM等级2可重复级中有6个关键过程域(KPA)。分别是:需求管理、软件项目策划、软件项目跟踪和监督、软件子合同管理、软件质量保证、软件配置管理。其实在CMM中可重复级中的这6个KPA对于我们成功的人生是很有益的指导。需求管理在我们人生项目中不就是一个人的人生追求么。软件项目要成功、人生要有成果首先就得下目标,没有需求管理的软件写出来也是废的,即使花了再多的人力物力也是白搭,没有用啊!不符合用户的需求。人生也是如此,没有目标的人生是一个人生路途中没有动力的人生,是不可能达到目标的人生,也是一个不成功的人生。这里就不再叙述确立人生目标对于一个人的成功是多么重要这一论题了。
接下来让我们看看软件项目策划,在CMM中它的目的是制定进行软件工程和管理软件项目的合理的计划。相对于我们人生项目来说,在确立了自己的雄心大志后得为自己做一个规划,为了达到自己的人生目的得计划怎么样去实施,对自己所要做的进行合理的计划。在CMM中说的好,“这些计划是管理软件项目的必要基础。没有切合实际的计划不可能实施有效的项目管理”。难道我们人生不就是这样子的吗?!我们身边有多少有雄心大志的同志哦,可惜啊,有了目标后就根本没有去规划怎么去实施了,其结果我们也看到了。
更进一步,有了目标,计划也有了,接下来呢?在CMM中就是软件项目跟踪和监督了。说到这里,我想起了我小时候练习写字,有一次在写字的时候父亲过来检查了,看到我写的那个鸡爪子样的字,心里那个火啊。结果是我好好的“享受”了顿“竹笋炒肉”。呵呵,现在我都还记得那次挨打的情景。父亲边打边说“你这家伙这么不自觉,看来得好好监督你了”。可惜,由于本人当时年少不懂事,要是那个时候领会了博大精深CMM中的KPA过程,就不会对我父亲的监督采取反监督手段了,结果到现在我的字还是鸡爪子样。这个例子让我深刻的体会到了跟踪和监督的效果了。CMM中说“软件项目跟踪和监督,目的是建立适当的对实际进展的可视性,是管理者在软件项目实施情况显著偏离软件计划时能采取有效的措施”。做软件也好,人生道路中也好,还是做其他的事情,都是一样的,不可能完全按照原计划进行各种活动。所以得添加跟踪和监督这一过程,不时的看看现在做的是不是偏离了原来的计划,跟踪一下,看现在做的怎么样,有效果没有。
在我们人生中有人生的终极目标,这是整个人生的目标。为了达到人生最终目标,我们需分阶段来执行和实现。对于一个比较遥远和模糊的目标如果不把它拆分成阶段性目标,要想完成它太困难了,都不知道从何处入手。因此我们可以把我们的人生目标和计划“分包”,分别把人生项目中的各项工程分包给各个不同的“承包商”。哈哈,开个玩笑,这里不是开发软件,可以选择合格的软件分承包商。这里的各个不同的“承包商”都是自己。只是不同时期的自己而已,以时间换人力吧。记得高三备考高考时,老校长给我们开会说,我们有的一些同学现在太紧张了,一天到头都在想着七月七、八、九那三天,我知道那是你的目标,但是你现在不扎实抓紧你现在的每一周、每一天,完成你每周、每天的目标,你怎么在那几天很好的完成你的目标呢!对于CMM等级2中的软件子合同的管理,CMM目的是选择合格的软件分承包商,并有效地管理他们。对于人生项目,虽然我们不可能把它切开分给不同的承包商去做,可是我们可以在不同地时期完成不同地人物和计划,只要每个时期都扎扎实实的做了,做好了,到“系统集成”的时候,人生自然是成功的,是“好的软件”。