1999年6月,华为在印度的“硅谷”班加罗尔成立了印度研究所。一些曾被派驻到印度所的华为员工认为,公司在印度设立研究所“有些得不偿失”。他们在印度并没有见到很多高水平的软件工程师,尤其印度所设立之初,由于在当地缺乏名气,华为聘用的印度工程师水平普遍低于国内派驻的员工。后来,华为通过提高待遇,的确招到了一些软件“高手”(据说,华为印度所的待遇仅低于惠普公司)。目前,华为印度所是其最大的海外研究所,有500多名员工,其中1/3是由国内派过去的。
在考量印度所的优势时,华为管理层发现,印度有世界上最好的cmm环境。陈青说:“这种环境中国现在逐渐开始成熟,但两年前是没有的。”当初为了了解cmm,陈青去了很多书店,想买一些相关的书,但他发现国内书店里有很多软件编程语言方面的书,而软件管理、软件工程方面的书籍可谓凤毛麟角;然而在印度的书店里情况正好相反,软件管理方面的书籍比编程语言的书要多,那儿有各种各样的cmm著作。此外,由于其国内市场非常有限,印度的软件企业主要是面向欧美市场做软件外包项目,因此,它们十分重视导入cmm。目前,全球一共有74个cmm4级研发机构、66个5级研发机构,其中一半以上都在印度。
解决上面这样的问题:
过程评审的意义就在于及时发现问题,及时纠正,阶段评审不仅是为了保证质量,还可以达到控制项目成本的作用。CMM二级就 有一个关键过程域叫SPTO(Software Project Tracking and Oversight),强调过程的跟踪与监控,遗憾的是,不少开发人员认为阶段评审浪费时间,草草了事,却愿意花很多的时间修改BUG!华为公司规定在过 程评审和代码监视中没有评审发现的评审是无效评审,评审要重新进行。
老总在项目在进行过程中询问项目的进展情况,你挠挠头皮:设计做的差不多了,一部分已经开始编码了。
老总不满意了:什么时候能交活?你有些底气不足:至少还得一个多月的时间。老总着急了:就剩两周的时间了,你要花一个月,上一周你还答应可以在三周内完成。
六周过去了,你的项目组还在测试,还在修改代码。两个月过去了,项目终于完成了。尽管客户有不少抱怨,但总算做了验收。
如何工作(软件开发和维护)
软件流程能力 software process capability
遵循这样的软件流程,有多大可能可以达到预计的结果。
软件流程能力提供了一种有效的手段,可以预计软件组织承担某个项目最有可能的结果是什么样的。
软件流程性能 software process performance
代表了遵循这样的软件流程,真正达到的结果是怎样的。
软件流程能力表述的是期望的结果,而软件流程性能表述的是实际的结果。