一、軟件項目與工程項目管理有什么本質(zhì)性的不同呢?
前一篇筆記討論了軟件開發(fā)與產(chǎn)品制造的區(qū)別。要對軟件開發(fā)項目的性質(zhì)做更精準(zhǔn)定位,這里還很有必要整理軟件項目與工程項目管理的本質(zhì)區(qū)別。進(jìn)而解釋,精益產(chǎn)品開發(fā)與傳統(tǒng)的軟件工程管理方法為何不同、有何改進(jìn)。
主要區(qū)別有三點:
1)通過試運行(或集成測試)跑一跑是很重要的軟件糾錯手段;因為軟件的“軟、易修改”,試運行中的問題可以通過發(fā)布新版本予以修正,所增加的項目成本并不嚴(yán)重;而傳統(tǒng)的工程項目,一旦實施,如果還要修改,成本是極其巨大的。所以,傳統(tǒng)工程項目管理方會不惜代價的實以嚴(yán)格、復(fù)雜的過程控制手段,盡量在過程中排除錯誤。但,若軟件項目管理也照搬,實質(zhì)上是對軟件自身本質(zhì)優(yōu)點的一種無視、舍棄。
2)軟件項目所針對的用戶需求,往往難以一開始就明確,是需要不斷挖掘的;或者干脆需求就是時間的函數(shù),根本就沒有固定的需求,而是隨著時間的推移不斷演變;甚至可能,演變規(guī)律本身也是時間的函數(shù)。
3)檢驗軟件項目成功與否的標(biāo)準(zhǔn)應(yīng)該是最終的實際運行效果,而不是項目開初的需求定義。
總結(jié)起來,仍然是“不確定、變”
軟件項目的最終產(chǎn)出是一種過程,在持續(xù)變化中實現(xiàn)價值的一種過程;而并非只是一種固化的“物”(無論制造業(yè),還工程項目,其產(chǎn)出都最終體現(xiàn)為一種固化的“物”)。
二、關(guān)于如何建立看板系統(tǒng)的三項關(guān)鍵工作
1、價值可視化。軟件開發(fā)中實施看板方法,難點之一為:與生產(chǎn)制造不同,產(chǎn)品開發(fā)中的價值流動是不可見的,因此也更加難以管理和優(yōu)化。 所以讓價值“可視化”成為軟件開發(fā)中的一個關(guān)鍵考慮,以及將價值流動的過程可視化,然后問題和瓶頸也要被可視化。
2、看板系統(tǒng)規(guī)則顯式化。例如,價值什么情況下可以從一個環(huán)節(jié)流轉(zhuǎn)到下一個環(huán)節(jié),這些規(guī)則則要顯示化,讓所有的項目參與者都能明白無誤的準(zhǔn)確認(rèn)知。這一條隱含的是團隊內(nèi)協(xié)作規(guī)則的顯示化(全員有明確的共同理解),從而盡量不依賴于某個人來進(jìn)行協(xié)調(diào)(依賴某個人,就很可能在此人處形成阻塞、低效以及不明確因素,影響規(guī)?;瘍r值流動的自動、順暢)
3、控制在制品數(shù)量。在制品數(shù)量是以“用戶價值”為單位的,并不等于任務(wù)數(shù)量!相比之下,在制品數(shù)量更像是用戶故事數(shù)量?(如果用戶故事是看板墻流程中,最細(xì)粒度的用戶價值單元)。對任務(wù)數(shù)限制,是實現(xiàn)對在制品數(shù)量進(jìn)行限制的一種方法。
? ? ? “Stop starting, start finishing”的原則。以通過任務(wù)數(shù)限制實現(xiàn)在制品數(shù)量限制為例,對應(yīng)工作環(huán)節(jié)有一個任務(wù)數(shù)上限,只有當(dāng)處于該環(huán)節(jié)的任務(wù)數(shù)低于上限時,才能從上游拉取新的任務(wù)。當(dāng)本環(huán)節(jié)中的任務(wù)已經(jīng)達(dá)到上限,則應(yīng)該秉持“Stop starting, start finishing”的原則,盡快處理完成當(dāng)前環(huán)節(jié)淤積的工作任務(wù),并應(yīng)該反省總結(jié),是什么原因?qū)е铝吮经h(huán)節(jié)陷入任務(wù)淤積的? 針對原因積極改進(jìn),不能讓淤積現(xiàn)象再次發(fā)生??刂圃谥破窋?shù)量有利于凸顯問題,集中力量全面掃清問題,加快價值流動,從而使得交付提速。 這個數(shù)量控制在多少是適宜的?
三、看板系統(tǒng)建立后,進(jìn)入運行階段后的兩項主要工作
1.對價值流動的管理
a)管理價值的輸入。譬如就緒隊列填充活動。即用戶價值的輸入列表。注意,是位于看板系統(tǒng)的左端。
b)管理價值的流動過程??窗逭緯瞧渲械闹饕侄?。通過每天例行站會,整個團隊一起,按照價值流轉(zhuǎn)規(guī)則,共同迅速完成價值流動的每日更新操作。站會上,對“價值看板”的處理(流動與否),是從右向左的順序進(jìn)行,即是“拉動”,而非“推動”。
c)管理價值的輸出。譬如,發(fā)布評審,用戶價值最終正式輸出前的一個環(huán)節(jié)。輸出位于看板系統(tǒng)的右端。
2.對價值流程狀況建立反饋評價及改進(jìn)機制。
首先就是要對看板系統(tǒng)的價值流動狀況進(jìn)行度量。
四、精益看板方法的一些疑問及思考
1)價值輸出頻率為周、甚至月時,什么機制來保證按天的用戶響應(yīng)速度? 以及一些突發(fā)的緊急需求?? ?能否增加一個按天為單位的小口徑的看板系統(tǒng),以應(yīng)對快節(jié)奏需求?以及再準(zhǔn)備一套更為緊急的流程,以做到實時響應(yīng)。 普通看板、小口徑按天看板、緊急流程,三層金字塔。如果發(fā)現(xiàn)大部分需求都是在小口徑看板中流動,那就縮短普通看板的周期為天,而小口徑看板的周期則調(diào)整為2小時之類。。。。。如此形成一個對金字塔的整體迭代機制。