軟件開發(fā)周期作為一個(gè)整體是復(fù)雜的,所以將六西格瑪應(yīng)用于所有的開發(fā)周期是不可行的。然而,六西格瑪?shù)脑瓌t可用于改善對(duì)減少和/或消除影響整個(gè)過程的缺陷至關(guān)重要的問題領(lǐng)域。
例如,這些問題可能是:
缺陷和退化的頻率高于正常值
延誤發(fā)生得太頻繁了
團(tuán)隊(duì)成員和/或客戶之間經(jīng)常存在誤解
一旦確定了這些區(qū)域,就可以使用DMAIC。
假設(shè)在軟件開發(fā)生命周期的某個(gè)階段,你每周都會(huì)遇到大量的bug。第一步,定義,將是明確、簡潔地識(shí)別和定義問題。這其中包括復(fù)制錯(cuò)誤的步驟。
下一步將是測量階段,在此階段將收集重要指標(biāo)和關(guān)鍵績效指標(biāo)(KPI)。這些措施包括:
開發(fā)人員每天工作的小時(shí)數(shù),以及編寫的代碼的總行數(shù)
團(tuán)隊(duì)每周開會(huì)的時(shí)間是多少天
項(xiàng)目需求變更的頻率
然后,在分析階段對(duì)數(shù)據(jù)進(jìn)行檢查,以找到模式。例如,數(shù)據(jù)可以顯示團(tuán)隊(duì)1正在完成他們的所有截止日期(其他時(shí)間甚至提前完成),而團(tuán)隊(duì)2一直錯(cuò)過他們的截止日期。第二隊(duì)總是遲到一兩天,大約50%的時(shí)間,造成重大延誤。
乍一看,2隊(duì)似乎需要提高,以與1隊(duì)的表現(xiàn)相匹配。但經(jīng)過仔細(xì)檢查,管理層發(fā)現(xiàn),盡管團(tuán)隊(duì)1通常落后于截止日期,但他們產(chǎn)生的bug比團(tuán)隊(duì)1少。據(jù)進(jìn)一步透露,管理層要求團(tuán)隊(duì)1解決團(tuán)隊(duì)1產(chǎn)生的錯(cuò)誤,因?yàn)楣芾韺诱J(rèn)為團(tuán)隊(duì)1不應(yīng)該把寶貴的時(shí)間浪費(fèi)在修復(fù)錯(cuò)誤上。
接下來是改善階段,管理層將嘗試糾正這種情況。向前推進(jìn),每個(gè)團(tuán)隊(duì)將負(fù)責(zé)解決他們創(chuàng)建的bug。即使團(tuán)隊(duì)1強(qiáng)烈反對(duì),也會(huì)實(shí)施變更。
在控制階段,持續(xù)收集、測量和分析數(shù)據(jù),以查看變化是否產(chǎn)生了預(yù)期的結(jié)果。預(yù)期的結(jié)果是,兩個(gè)團(tuán)隊(duì)產(chǎn)生的bug更少,并且都能按時(shí)完成任務(wù)。這是永久性的,無論所做的改變會(huì)帶來積極或消極的結(jié)果。
結(jié)論
正如你所見,六西格瑪可以幫助軟件開發(fā)。然而,它需要專注于特定的問題領(lǐng)域,而不是整個(gè)軟件開發(fā)生命周期。通過在那里應(yīng)用DMAIC方法,管理層可以逐步改進(jìn)他們的軟件開發(fā)工作。