34、软件开发模式不是一种就可以包打天下,因此还需要针对不同的软件开发进行适当的定制化和调整,包括组织、流程、环境和工具:如文中所提的互联网应用软件,其体量、周期短,因此势必要调整为快速迭代的敏捷开发模式。如果是开发体量大、周期长的通信底层软件,可以应用稍厚重的软件开发流程。还有一个观点不太认同,“IPD流程不太适合需要快速迭代的软件”,这里不应该是IPD流程,而是在IPD流程体系下的软件开发模型,对软件开发怎么走起到决定性的还是下面的软件开发流程(CMM or 敏捷等子流程)。事实上IPD流程框架只解决如何将产品开发作为投资来管理。
38、楼主用硅谷的互联网软件开发模式,跟华为的ICT行业嵌入式软件开发模式来比较,是不是有些南辕北辙了呢?互联网软件是全球集中控制(如Google),系统发现bug后,能够在线低成本实时更新版本,你甚至都没有感觉,人家就悄悄的整完了,因此敢玩敏捷试错,可以每周甚至每天更新版本。由此也就产生了与之对应的新的开发模式。CT嵌入式软件,发布之后是随硬件发货遍布到全球各地,发现bug就要到现场批量召回/替换/整改,你得跟客户道N次谦,做好N个应急切换方案,才敢去干,成本非常高昂。我司主力产品每年都是上百万级别的,“敏捷试错”一下试试,每个错的代价最低都是千万美刀起步吧?你敢玩儿吗?你的客户让你这么玩吗?IPD流程根本就不是为了敏捷试错,而是为了高可靠性而打造的。拿互联网的开发模式跟嵌入式ICT软件的IPD开发模式,来比较,有些牛头 VS 马嘴了吧?当然,改善下程序猿们的工作环境,工作氛围,让大家身心健康的工作,我还是举双手支持的,但一上来就要比照互联网软件的开发模式来整组织、动流程,咱是不是先悠着点儿呢?