软件开发能力

上个月的专栏介绍了集成的能力和成熟度模型及其与软件开发相关的五个成熟度级别:最初的2。管理3。定义4。定量管理和5。优化。处于高“成熟度级别”的组织在会议安排方面做得更好,报告的软件缺陷也少得多。

通过丹尼斯·布兰德,BR&L咨询公司 二五年八月一日

上个月的专栏介绍了集成的能力和成熟度模型及其与软件开发相关的五个成熟度级别:最初的2。管理3。定义4。定量管理和5。优化。处于高“成熟度级别”的组织在会议安排方面做得更好,报告的软件缺陷也少得多。

级别1的组织对于软件开发几乎没有规则。他们经常从一个危机走向另一个危机,在发布期间花费大量的精力,项目的最终成功取决于开发人员的技能。发布的产品可能每1000行代码(或1000级阶梯逻辑)就有一个错误。与第1级组织相关的项目,随着时间或预算的推移,平均从50%到100%不等。

第2级组织得到更好的管理,软件开发是可重复的。第2级组织拥有需求管理、项目计划、配置管理、软件质量保证、分包管理和项目跟踪的过程。与级别1相比,级别2组织的代码缺陷减少了25%-50%,这将支持成本和紧急修复降低了50%以上。2级项目根据时间或预算从25%到50%不等。然而,过程是特定于项目的,过程、管理方法和成功在组织中是不同的。项目的成功是基于单个经理的技能。从级别1到级别2是基于单个经理对提高质量和生产力的承诺,而不是技术或开发工具。

3级组织在整个组织中使用相同的过程和方法。他们定义并记录了流程,并进行了培训,以使所有管理人员达到最低水平的胜任能力。流程通常包括所有2级流程,加上同行评审、培训计划和正式的跨团队协调。软件开发在整个组织中是可重复的,所有小组都使用最佳实践。缺陷率可能比级别2低25%到50%,进一步减少了代码和紧急修复的维护工作。级别3的组织即使在进度压力下也会遵循他们的过程,因为管理层认识到这是最快的完成方法。在时间或预算上,项目平均不超过25%。项目的成功是基于过程的培训和文档。从第2级到第3级需要执行人员致力于提高质量和生产力。

通过扩展第3级的能力来包括度量过程性能的管理过程,并在没有质量损失的情况下为特定项目调整开发过程,第4级组织通过使用统计质量控制图和其他工具来定量管理项目,对过程和产品的质量进行统计控制。项目问题被迅速发现并采取纠正措施。错误率下降,满足计划和预算的能力得到了真正的改善。大多数项目都能按时完成。项目的成功是基于客观评估项目绩效的能力,并有适当的流程来采取有效的早期行动。从第3级到第4级是基于管理层的承诺,即在问题失控之前发现问题。

5级组织将持续改进过程添加到4级能力中。这些组织使用定量度量来主动地发现错误的根源并纠正过程。错误率可能低至每1,000,000行代码中就有一个缺陷。六西格玛和其他改进过程在组织文化中根深蒂固。项目正在按计划进行。

控制编程是一项编程任务,认真对待它的组织应该知道如何与优秀的和一流的组织进行比较。虽然技术和个人可以提供帮助,但改进的主要来源仍然是管理层对质量的承诺和执行人员的参与。更多信息请参见www.sei.scmu.edu。

作者信息
丹尼斯·Brandldbrandl@brlconsulting.com是BR&L Consulting的总统,BR&L Consulting是一家专注于制造IT解决方案的咨询公司,总部位于北卡罗来纳州卡里。