扫码阅读
手机扫码阅读

IPD适用于软件企业吗

113 2024-03-27

前一段时间,有多个朋友问过,IPD适用于软件企业吗?IPDCMMI、敏捷是啥关系?软件企业应该如何推行IPD?针对这些问题今天我们在此做一些探讨。

IPD的概念诞生于上个世纪八十年代,由IBM在九十年代进行实践应用,上个世纪末传入华为,近些年随着华为的兴起而广为人知,并随着华为系咨询培训团队的壮大而走入了众多的企业。时至今日,基本上快到了谈研发管理必称IPD的地步。

IPD被看作是第三代研发管理的代表,它在第二代研发管理-面向项目成功的研发管理的基础上,将市场管理、需求管理、技术管理与新产品开发管理进行了有机的融合,从战略和执行层面有效的解决了新产品开发的市场导向问题(IBM最初将其称为WWDSWorldwide Development Strategy 全球开发战略 ),并将管理委员会制度以IPMT的形式进行落实,实现了企业研发由管理到治理的转变,并为矩阵式管理的落地提供了有力的抓手。并通过基于团队的管理、结构化的流程、业务分层管理、异步开发来实现对技术创新的风险性及产品开发的时间性、稳定性的兼顾。

无论是上个世纪的IBM还是现在的华为,虽然对软件都很重视,但企业提供的毕竟是硬件为主、软硬件兼顾的产品或解决方案,真正的软件与信息技术服务公司推行IPD成功的经典案例基本上没见过。这是因为纯软件开发和硬件产品开发或软硬件一体的产品开发有很大的差异性。

·产品设计:硬件产品开发历史悠久,标准化程度高,产业链相对成熟,企业只需要进行部分内容设计及系统集成。而软件的开发往往需要企业负责所有的策划、设计和开发工作。

·开发周期:硬件产品的开发经过策划、设计、验证、生产等一系列的复杂流程,需要循序渐进的展开,直到最后交付成熟产品,因而开发周期较长且相对固定。而软件项目则可以更加快速地进行迭代,在具备一定功能和成熟性后即可推出,后续再逐步完善,其开发周期多变。

·产品交付:硬件产品设计定型后可以批量生产,产品质量通过质量检测体系可以得到保障。但是生产、加工过程一旦失误,硬件产品可能就会因为质量问题而报废。而软件产品不能用传统意义上的制造进行生产,就目前软件开发技术而言,软件生产还是定制的,只能针对特定问题进行设计或实现。

·开发成本:硬件产品的开发涉及很多的过程物料,成本较高;而软件产品的开发主要是人工成本,其他物料成本较低。

·物料管理:硬件项目涉及到大量开发物料,需要考虑物料采购和库存管理,要有严格的入库标准和出库流程,而软件项目在这方面相对简单,只需要做好版本管理即可。

·测试:硬件项目的测试比软件项目的测试更加严谨和复杂,需要进行多个环节的测试,如硬件元器件测试、系统整体测试等。因为硬件问题的修复成本太高。

·质量问题:得益于成熟的产业链及开发过程中严谨的测试,硬件相关质量问题较少,其质量特性符合浴盆曲线,但一旦出现质量问题,对系统的影响往往是致命的。而软件相关的质量问题较多,误操作、病毒、逻辑问题等等都会引发软件问题,而软件设计标准化程度较低,很少能借用业内成熟的通用设计,也是造成软件质量问题较多的原因,但软件问题解决相对容易,通过系统重置或软件升级能够解决大部分的问题。

由以上可见,软硬件开发的差异更多的表现在项目的操作执行层面。

在回答IPD是否适用于软件企业之前,我们先看一下IPDCMMI以及敏捷的区别。

总的来讲,IPD主要从战略层面、企业整体经营管理的层面来看研发行为,关注市场成功,涉及的范围包含了研发、采购供应、生产制造、质量管理、服务支持等多个部门,是一种系统的产品开发经营管理的思想、方法、模式。CMMI最早起源于美军标对供应商的要求,主要涉及软件开发领域,它不是标准,也不是流程,而是一个实践模型、一种软件质量管理体系,它给企业提供了一个可预期的改进路线,可以帮助软件企业提升开发效率和产品质量,CMMI和软件开发的关系就如同企业经营管理与ISO的关系。敏捷一般是指敏捷软件开发,它是基于敏捷宣言定义的价值观和原则的一系列方法和实践的总称,其核心思想是从瀑布式开发所代表的“固定范围、弹性时间”转向“固定时间、弹性范围”,以资源为约束,实现“项目范围”最大化实现,从计划驱动转向为价值驱动。因此可以说,IPD可以告诉我们在方向层面选择什么不选择什么,CMMI则在项目层面指导我们应该做什么,敏捷可以保证开发中的举措更好的在团队落实,因此三者是相辅相成的。

近年来,研发管理总体的发展趋势为在时间轴上表现为逐渐左移,即研发管理工作更注重早期的全面思考、系统规划;在管理轴上表现为逐渐上移,即由研发部门层面上升到公司战略层面。虽然在VUCA时代对快速响应提出了更高的要求,但这种快速响应一定是在方向基本明确、需求相对清晰、目标一致情况下有条不紊的响应,而不是如无头苍蝇般的胡乱响应。因此,将IPDCMMI、敏捷相结合,将是软件企业研发管理的发展方向之一。

对于一定规模的软件企业,一般具有多年的软件开发经营,已经在项目层面熟悉了CMMI流程以及敏捷开发模式,IPD推行应该更多的关注其面向市场开发理念下的治理机制以及管理决策手段的应用。因此建议软件企业在以下几个方面借鉴IPD的管理思想:

-实现产品开发市场导向,针对任何一个软件的开发,都要先在商业方案分析,从市场细分、产品定位、市场机会、市场壁垒、竞争优势、产品战略、市场风险、财务收益等方面进行分析,确定在确定有市场、有优势、有收益的情况下在进行产品的开发工作,避免拍脑袋决策,提升产品的商业成功率。

-做好需求管理,由于软件需求是无形的、主观的,且难以描述和检测,所以软件需求的把握难度更高。在这方面可借鉴IPD的管理理念,搭建需求管理组织,建设需求管理流程,从而实现对需求的规范化管理。

-做好IPD与敏捷的融合,明确应用敏捷应用的层次和范围。

-重视项目策划工作,要尽可能的详细策划、快速决策、快速执行。

-搭建投资管理和技术评审的组织,让企业有固定的组织为相应的项目投资收益负责、为技术评审负责,并需要这两个组织具有快速决策、快速评审的能力。

-做好决策评审和技术评审,根据软件项目特点,做好决策评审点、技术评审点设计,使其能够满足项目投资风险控制与质量控制要求;做好决策评审、技术评审的流程、汇报模板和相应的检查表,尽可能消除个人能力差异对评审结果的影响。

-对复杂产品做好前瞻性技术规划,系统性策划,模块化设计,分阶段开发。

总之,软件企业的IPD应用不能照搬照抄现在硬件型或软硬件一体的方案型企业的经验和案例,需要结合软件企业的特点,从战略层面、项目的策划和决策层面应用IPD的研发管理思想,实现IPD与CMMI、敏捷的有机融合。一己之见,仅供参考,欢迎拍砖。

原文链接: http://mp.weixin.qq.com/s?__biz=MzUxODEwNDgyNg==&mid=2247484099&idx=1&sn=6c1265999fd9e413125c30f6982341b4&chksm=f98cb156cefb38404291c465bdad62234be1e7843478ba6b6bf327e5465f50f36fcd9bb0d10f#rd

研发管理/质量管理/创新管理相关知识及随笔

89 篇文章
浏览 12.2K
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设 白皮书上线