我是一名Java开发人员,但有人要求我学习如何应用六西格玛,目的是增加我们组织的利润。我读过六西格玛可以应用于所有环境,但我对将它应用于软件开发的细微之处感兴趣。
六西格玛的哪些概念可以应用于软件开发环境,我如何有效地应用它们?
我的理解是,六西格玛的重点是:
在我看来,这些概念可以应用于软件开发,但能否有效地应用于软件开发生命周期(SDLC)?
发布于 2012-05-02 18:49:58
基本的六西格玛活动被缩写DMAIC捕获,DMAIC代表:定义、度量、分析、改进、控制。您可以将这些应用到您想要改进的过程中:定义流程,度量它,使用度量来形成关于任何问题原因的假设,实现改进,并确保该过程在统计上“处于控制状态”。
由于它与软件有关,流程是您的软件开发生命周期(SDLC)或其中的某些部分。您可能不会尝试将六西格玛原则应用于整个SDLC (或者至少一开始不会)。相反,你会寻找你认为自己有问题的领域(例如,我们的缺陷率太高;太多的回归;我们的日程安排太频繁;开发人员和客户之间的误解太多等等)。假设现在的问题是,每周都会产生太多的bug(或至少报告)。因此,您需要定义软件开发/bug创建过程。然后,您将开始收集度量标准,例如每天编写的代码行数、需求更改的频率、每个工程师在会议中花费的时间以及其他可能相关的事实。
接下来,您将查看数据并尝试识别模式。也许你会注意到工程团队A完成了他们给出的每一个最后期限,甚至经常提前完成任务!一开始,B队看起来并不是这样--他们至少有一半的时间会错过一到两天的最后期限,偶尔会迟到一周或更长时间。管理层将B组视为一个问题,并希望能把事情搞糟。然而,仔细观察数据就会发现,B团队的错误率要比A团队低得多,而且,团队B经常被要求修复与团队A相关的bug,因为管理层认为团队A花费大量时间进行维护是非常有价值的。
那你是做什么的?使用您收集的数据和您所执行的分析,您建议进行更改:团队A和团队B将各自修复自己的错误。在管理层的支持下(并反对A队的强烈反对),你实现了这一改变。然后,您继续收集度量,并继续分析数据,以查看您的更改是否产生了影响。重复此度量/分析/实现周期,直到错误率被认为是可接受的为止。但你还没说完呢。事实上,你从来没有做过.您需要不断地测量错误率并检查错误率是否保持在可接受的范围内,也就是说,它在统计上“处于控制中”。
请注意,这里没有什么是特定于软件开发的,只有您正在改进的过程的细节、您收集的度量种类等等。您用于改进软件开发过程的活动与用于小部件制造过程的活动是相同的,尽管软件开发与小部件制造非常不同。这意味着你需要在你为你的过程设定的目标中运用一些常识。
发布于 2013-02-04 10:32:22
在软件开发中应用六西格玛被称为软件六西格玛。六西格玛基本上是为制造而开发的,在制造过程中它帮助企业以低成本提高产品的交付、质量。而同样的方法也适用于软件开发。
在软件开发中应用六西格玛可持续改进软件的开发。在软件开发中应用六西格玛可以快速集成和测试软件,有助于创建无bug的软件,有助于更有效的程序管理。
然而,软件六西格玛是一个新的概念,你需要从正确的人的培训。一个有效的六西格玛培训计划可以帮助你在这里。对于软件开发环境的在线六西格玛培训,我建议使用http://www.6sigma.us/。我根据从另一家公司收到的推荐信提出建议。
https://softwareengineering.stackexchange.com/questions/146909
复制相似问题