企业开发产品的主要目的是获取利润,为了使利润最大化,人们总是希望产品开发工作“做得好、做得快并且少花钱”。然而如今绝大多数软件项目依然面临着产品质量低下、进度延误、费用超支这些老问题,这是国内IT企业长期面临的研发管理难题。 人们逐渐意识到,由于企业管理整个软件过程的能力比较低弱,常常导致项目处于混乱状态。过程混乱使得新技术、新工具的优势难以体现。经典的软件工程不是不好,而是不够用。用于提高软件过程能力的实践通称为软件过程改进。软件过程改进的根本目的是“提高产品质量、提高生产率并且降低开发成本”。从20世纪90年代至今,软件过程改进成为软件工程学科的一个主流研究方向,其中CMM和CM