第13章 软件质量管理的群体决议机制——决策分析
当“5·12”汶川大地震发生后,全国人民都自发地行动起来贡献自己的力量,就像温家宝总理说的那样:“一个很小的问题,乘以13亿,都会变成一个大问题;一个很大的总量,除以13亿,都会变成一个小数目”。可见当今社会群体的力量不可小视。在日常生活中人们总会遇到各种各样的机会或者需要利用有限的时间、资源来做更重要的事情,俗话说得好:“把钢用到刀刃上”。当人们面对众多的选择时往往会眼花缭乱,那么应该如何进行判断和选择呢?从大的方面来看,国家定期召开全国性的“人民代表大会”和“政治协商会议”,这就是利用群体的力量和智慧来对国家重要的事情进行决策;从小的方面来看,当一个高中生在填写高考志愿时,往往一家人都会坐下来开个家庭会议进行讨论。利用群体的思维和力量,以会议协商的形式来保证未来发展一帆风顺,这是小到个人,大到国家都在使用的一种方式。
在软件研发过程中也有很多时候需要通过群体决议机制来确定项目或产品未来发展方向,例如:对软件技术解决方案的选择、对硬件设备厂商的选择等。
但在现实生活中也经常会发生这样的情况:“真理有时掌握在少数人的手中”,也就是说群体性决策的结果不一定是正确的。那么如何通过群体决策保证软件项目朝着正确的方向发展呢?这就需要依靠本章所要讲述的一套科学的决策分析方法来实现。
13.1 软件决策分析概述
软件决策分析的目的是依据已经建立的评估准则对各种已经识别出来的候选解决方案进行选择和决策。软件的决策分析过程是一个正式的评估过程,在软件生命周期的任一阶段都有可能发生,因此一个软件项目决策的目标要尽早识别,以便安排相应的时间和资源。
软件决策分析的过程是个结构化的方法,它包含了6个环节:建立决策分析指南、建立决策的准则、选择评估的方法、识别候选解决方案的提案、评估候选解决方案的提案、选择解决方案。其总体流程如图13-1所示。
图13-1 软件决策分析总体流程
软件决策分析的对象不只是针对技术类的解决方案,对于其他非技术类的方案选择也同样适用。通过以上结构化的方法就可以减少软件决策分析过程中的主观性,并且可以通过这样的方法来选择一个符合不同项目关系人多样性需求的、支持项目未来发展的解决方案。
总的来说,软件决策的过程有些类似招投标的过程。首先要制订招投标的规范,也就是软件决策分析的指南。然后制订招标书中的各项需求以及评标的方式,这就是决策分析中的决策准则与决策方法。决策的准则要尽早制订并进行发布,以便方案制订人可以及时评估自己是否有能力完成该解决方案。如果方案的内容与决策准则谬之千里,那么就浪费了大家的时间。接下来就会收到来自各方的标书,在决策分析过程中也就是解决方案的“提案”,决策小组就需要对众多的提案进行识别、评估和筛选,最终选定入围的解决方案。最后就是正式评标和开标的过程,决策小组会根据决策的准则和方法对候选方案进行选择,以确定最终的解决方案,并且会将方案选择和拒绝的理由告知相关人员。