问:CMMI评估对项目大小、数量有要求吗?
答:没有要求。
从项目规模上而言,对项目大小是没有要求的,我在咨询评估的生涯中遇到的最小的项目是项目中只有一个开发人员,以及其他兼职的QA等人员;我也曾遇到过一个项目就投入了160个人的。
从企业的规模上来讲,也没有大小之别,我做到的最小的一个公司只有5个开发人员,大的公司可能动辄上千人。
从项目数量上来讲,小的公司可能只有1个项目,大的公司几百个项目,都是可以的。
问:商业银行的科技部门申请做CMMI需要做哪些准备工作,和软件公司有什么不同?
答:基本没有什么不同。主要区别在于商业银行会有外包,表现在银行内部的员工主要做需求、项目管理等工作,而开发、测试等工作主要是由外包团队来完成。在这种场景下,我们做评估的时候,需要把供应商管理的PA也纳进来,放进评估范围内。
问:软硬件结合的公司怎样更好地融入CMMI的流程?
答:在软硬件公司中落地CMMI的时候,有一个较一般软件公司而言不同的地方,在于他们定义整个项目的产品研发生命周期流程的时候,是以硬件的流程为主。
比如一开始我有一个设想,先做设计,其次进行实现,然后出样机,接下来做小批量、大批量生产。所以软硬件结合的项目在落地的过程中,与纯软件的项目来比较,最大的不同就在于,软硬件结合的项目是以硬件为主定的生命周期,并且从总的生命周期上来讲,这是一个大的瀑布,软件的生命周期实际是附属在硬件的生命周期上的。在这种情况下,其中软件的部分也可以采用迭代的方式来做,也就是说在整个大的生命周期中,将某一段采用迭代的方式来实施。
如果我们把硬件纳入进来,其实硬件的规模估算和软件的规模估算不一样,硬件的验证、确认和软件的验证、确认又不一样。这些地方会从技术方面有一些差别。但如果我们把主流程统一,剩下的部分其实会比较好处理。
问:硬件的规模如何度量?
答:如果我们设计一个板子,那板子上面新器件的个数、管脚的数量、板子的层数、板子面积(台式机的主板和手机的主板)、通风口的位置等等,这些因素都会影响工作量。
我们为什么要度量规模?其实是为了估算工作量。所以从本质上来讲,这需要我们看在整个过程中,有哪些因素影响了我们的工作量。我们有一个客户,他们通过度量数据证明管脚个数和工作量是不是强相关的,如果是强相关,可以用管脚个数来代表规模。
那么硬件有没有一个行业度量的方法?据我了解,还没有一个大家都认可的规模度量,是需要大家在实际中不断摸索的。
问:CMMI不提供流程指导,它是不是一个对其它流程辅助补充的类似实践库形式的存在?
答:CMMI就是一个实践库,里面的实践没有一个严格的先后顺序。比如说用RUP定义流程、基于Scrum来定义流程都是可以的,只要能覆盖到CMMI的要求就可以。