来自波音(Boeing)公司的John Vu两个主题演讲(软件过程改进的现状、
如何在软件外包市场胜出),切中要害,不仅对国内软件业现状分析透彻,而且提出了很好的对策。给我印象最深的是两句话:
- I never ask the suppliers for CMM maturity level, I only request them to show the data.
- Not look for piece paper, we only look for skills, competencies, expertise
这两句话的含义只有一点,就是一个软件企业应注重提高实际的技术、竞争能力和专业水平,而不要看重某种认证。通过CMM/CMMI认证,如果没有获得很好的执行结果,是没有意义的。
在国内,许多软件企业进行过程改进,往往忘记了其根本目的——软件质量和生产力的提高,而把目标放在通过CMM/CMMI的认证,如何通过2级。通过了2级,就想如何通过3级、4级和5级。这实际是抓了芝麻、丢了西瓜。有一组数据可以说明这些问题:
- 在评估认证之后,72%的组织在过程改进上没有获得成功或收效甚微。
- 在前三年,有83%的组织放弃了过程改进
- 未来,有57%的组织放弃了过程改进的努力
- 只有不到1%的组织以改进的数据声明获得过程改进的成功
为什么有那么多的组织在过程改进上失败了?主要原因有以下几点:
- 过度重视评估,而没有将注意力集中在过程改进的实现上(兑现承诺)
- 只强调成熟度的级别,而没有清晰的方向和可度量的目标
- 缺乏良好的IT基础设施来支持过程改进活动的协调和管理
- 混淆概念和实践,即追求CMM/CMMI的形式,而忽视了真正的执行
- 过程改进实施的管理很差
软件过程改进必须为组织的业务服务,必须受公司发展战略的指导。软件过程改进,实际上就是为了提高公司的利润,只有两个目的——不断提高产品或服务质量、不断提高软件开发的效率(生产力)。所以说,
- 过程改进不是根据一本书写成的一对文档
- 过程改进是业务的竞争力
过程改进过程中,我们要不断问自己:质量提高了吗?成本降低了?效率提高了吗?开发周期缩短了吗?进度控制更准确了?客户更满意了吗?......而要为这些问题找到答案,只有靠数据、数据,还是数据。例如,每千行代码的缺陷数、进度误差率、软件复用程度、投入产出比、等等。
当许多人在质疑CMM/CMMI 含金量的时候,向大家一再强调过程改进的实质目标,是非常具有现实意义的。John Vu的演讲可以看作是对国内软件业的“CMM/CMMI热”敲响的警钟,对纠正政府某些片面政策(如哪个企业通过CMM 3级,将获得奖励基金50万元)也是有帮助的。在一种务实的态度下,紧急围绕着“质量和生产力”这两个核心,以客户需求为导向,以务实的态度,让数据说话,把过程改进持续进行下去,才是正确的做法。
下载:
John Vu 主题演讲 - 软件过程改进的现状
John Vu is a Senior Scientist at Carnegie Mellon University, where he conducts research on software and systems engineering. John is also a Technical Fellow and Chief Engineer of Information Systems at The Boeing Company. He is a member of the IEEE Software Industry Advisory Board and has written many articles on project and program management. John has over 30 years of experience in software and systems development and has managed several large-scale integration programs in which the final products required the integration of in-house components with commercial off-the shelf (COTS) products and out-sourcing suppliers
|
|
分享到:
相关推荐
3. **制定改进计划**:根据评估结果,制定具体的过程改进计划,明确目标、步骤和责任人。 4. **培训和沟通**:培训员工理解和执行新的或改进的过程,确保全员对改进的理解一致,提高执行效率。 5. **持续监控和...
技术层面包括数据清洗和源数据稽核,消除噪声数据、遗漏数据和不一致性。流程层面要求规范数据抽取和转换的过程,使之流程化并可通过配置灵活调整。管理层面上,源头系统的数据提供者应负责保证数据的完整性、准确性...
CMMI(能力成熟度模型集成)是一个用来改进软件开发和维护的流程的框架,其核心在于过程改进。过程改进是组织持续优化工作流程,提升产品质量,增强交付效率的关键所在。在CMMI模型中,过程改进主要由组织过程改进...
它对于软件过程改进至关重要,原因在于: 1. **提供决策依据**:度量数据能够为管理者提供客观的数据支持,帮助他们做出基于事实的决策。 2. **识别问题**:通过监控关键指标,可以及时发现软件开发过程中存在的...
数据挖掘是一个涉及使用各种统计、数学和机器学习方法来发现数据模式的过程。改进数据挖掘算法能够提高数据挖掘效率,准确度和实用性。本篇论文主要探讨了一种改进的数据挖掘算法,以解决传统Apriori算法存在的问题...
这本书的核心在于利用数据驱动的方法对软件开发过程进行度量和分析,从而实现更高效、更可控的软件生产流程。 在软件工程中,度量是理解项目状态、评估质量、预测风险和指导改进的关键工具。本书首先介绍了软件度量...
然而,需要注意的是,CMM3并不是终点,它只是软件过程改进的一个阶段,更高的级别(如CMM4和CMM5)将更加强调持续改进和优化。因此,软件开发组织应该视情况逐步推进到更高层次的CMM,以实现更高的效率和质量水平。
4. 决策制定:基于数据和信息进行决策,而不是个人直觉或偏好。这要求组织拥有良好的信息管理系统,能够及时提供准确的数据支持决策。 5. 项目管理:实施项目管理的最佳实践,包括项目计划、进度控制、资源配置和...
CMMI(Capability Maturity Model Integration,能力成熟度模型集成)是软件开发和工程领域的一种过程改进框架,旨在帮助企业提升其软件开发和服务提供过程的质量和效率。本套教材旨在为学习者提供系统性的CMMI过程...
仿真实验结果表明,改进后的DBSCAN算法在异常数据处理的准确率上有所提高,达到了99.6%,比传统算法高出1.7个百分点,同时误判数据点的数量也大大减少,从而证明了该参数设置方法在异常数据处理中的准确率和稳定性都...
软件过程改进的实践意义在于,通过具体的过程实例分析,找出可以提高效率、减少错误、保障进度和提升质量的改进策略。例如,过程建模是软件过程改进的一种常见方法,包括结构化和面向对象两种主要方式。结构化方法...
PSP的作用在于说明个人软件过程的原则,制定精确的计划,确定提高软件质量的步骤,建立度量过程改进的基准,并评估过程变化对个人能力的影响。 CMM的18个关键过程域中有12个与PSP密切相关,因为软件项目的70%成本...
CMMI(Capability Maturity Model Integration,能力成熟度模型集成)是一种国际认可的过程改进框架,旨在帮助组织提升其在软件开发、服务提供和产品采购等领域的绩效。CMMI分为五个级别,从1级到5级,每个级别代表...
8. **数据管理**:建立数据管理机制,保证信息的准确、完整和可用,支持决策制定和过程改进。 9. **技能培训**:为员工提供必要的培训,使他们能够理解和执行标准化的过程,提高团队的整体能力。 10. **绩效测量**...
6SIGMA方法论的成功在于它提供了一种系统化的方法,通过收集和分析数据来识别和解决问题,从而降低质量成本,提高客户满意度,增强盈利能力,并推动销售收入增长。这种方法不仅关注产品质量,还强调过程的稳定性和...
【空客公司选择NI DIAdem平台改进风洞测试的数据处理能力】 空中客车公司(Airbus)为了提高风洞测试中的数据处理效率,选择了National Instruments(NI)的DIAdem数据分析和报告生成软件。DIAdem是专为数据管理、...
统计分析通常用于分析数据的相关性,包括线性分析和回归分析,并将结果以图形化界面展示,使分析结果更直观。分类分析则是将数据根据一定规则进行类别划分,形成分类模型,并通过模型来识别样本类别,常见的分类算法...
- 目的在于规范数据的收集、分析和应用,以评估知识产权管理体系的适宜性和有效性,并寻找改进机会,从而提升管理体系。 - 适用范围覆盖了公司所有与知识产权管理过程、体系相关的数据分析和应用,以及持续改进...