如何来衡量软件企业的核心竞争力呢?基于COCOMOII模型,如图所示,可以看到一个团队的生产力由以下四个方面决定:

图1、软件企业核心竞争力
1) 大规模软件的管理能力:软件规模决定了软件开发的复杂度,它一般用组成最终产品的人工产生的代码行数来衡量。对大规模软件的管理能力体现在一个团队通过建模、构件和资产重用等手段,降低软件复杂度的能力。目前,被认为最有市场前景的SOA技术,就是通过使大量重用已存在的业务构件成为可能,从而有效的降低企业软件软件复杂度,从而有效提高软件开发团队对软件复杂度的控制能力。
2) 开发流程的成熟度等级:一般说来,过程成熟度等级可以用CMM/CMMI的级别来衡量。但现代软件企业更加推崇建立可适应的软件开发流程的能力,也就是说企业能够根据具体项目的要求,方便的建立可适应的项目流程,实现软件开发流程的随需应变。可适应的软件开发流程的严格程度=软件质量要求/软件速度要求。
3) 开发团队的专业能力等级:可以用各种专业认证来衡量。企业也可以根据自身的实际要求,建立合适的认证体系和培训机制,其根本目的是建立起不断提高团队技能水平的长效机制。
4) 对软件各种开发工具和技术的使用能力:软件开发团队的环境因素主要体现在工具和技术的使用方面。在这方面我们必须弄清楚一点,什么样的工具和技术是最好的?就像天山七剑:莫问、游龙、青干、竟星、日月、舍神和天瀑,我们很难说哪把剑最好,关键在于谁用和干什么用。其实,最好的工具应该是最能解决问题、最满足需求的工具。