DMAIC方法论是六西格玛的基础。方法中的步骤是组织在需要过程改进时使用的步骤。这对软件开发公司来说没有什么不同,尤其是在软件开发生命周期方面。
软件开发周期作为一个整体是复杂的,所以将六西格玛应用于所有的开发周期是不可行的。然而,六西格玛的原则可用于改善对减少和/或消除影响整个过程的缺陷至关重要的问题领域。
例如,这些问题可能是:
缺陷和退化的频率高于正常值
延误发生得太频繁了
团队成员和/或客户之间经常存在误解
一旦确定了这些区域,就可以使用DMAIC。
假设在软件开发生命周期的某个阶段,你每周都会遇到大量的bug。第一步,定义,将是明确、简洁地识别和定义问题。这其中包括复制错误的步骤。
下一步将是测量阶段,在此阶段将收集重要指标和关键绩效指标(KPI)。这些措施包括:
开发人员每天工作的小时数,以及编写的代码的总行数
团队每周开会的时间是多少天
项目需求变更的频率
然后,在分析阶段对数据进行检查,以找到模式。例如,数据可以显示团队1正在完成他们的所有截止日期(其他时间甚至提前完成),而团队2一直错过他们的截止日期。第二队总是迟到一两天,大约50%的时间,造成重大延误。
乍一看,2队似乎需要提高,以与1队的表现相匹配。但经过仔细检查,管理层发现,尽管团队1通常落后于截止日期,但他们产生的bug比团队1少。据进一步透露,管理层要求团队1解决团队1产生的错误,因为管理层认为团队1不应该把宝贵的时间浪费在修复错误上。
接下来是改善阶段,管理层将尝试纠正这种情况。向前推进,每个团队将负责解决他们创建的bug。即使团队1强烈反对,也会实施变更。
在控制阶段,持续收集、测量和分析数据,以查看变化是否产生了预期的结果。预期的结果是,两个团队产生的bug更少,并且都能按时完成任务。这是永久性的,无论所做的改变会带来积极或消极的结果。
结论
正如你所见,六西格玛可以帮助软件开发。然而,它需要专注于特定的问题领域,而不是整个软件开发生命周期。通过在那里应用DMAIC方法,管理层可以逐步改进他们的软件开发工作。