四、學(xué)習(xí)過去
你的小組在過去承擔(dān)的一些項(xiàng)目有可能沒有取得完全的成功。甚至在成功的項(xiàng)目上,我們也能經(jīng)常認(rèn)為一些事情我們下次會(huì)作得更好。當(dāng)你進(jìn)入了新的領(lǐng)導(dǎo)角色,需要花點(diǎn)時(shí)間了解早期的項(xiàng)目為什么失敗,并要計(jì)劃避免犯同樣的錯(cuò)誤。對(duì)于軟件開發(fā),每位經(jīng)理花時(shí)間處理每種可能要發(fā)生的錯(cuò)誤是非常困難的,學(xué)習(xí)過去的成功和失敗是個(gè)成功的開始。
可以從過去你們小組承擔(dān)的一個(gè)沒有經(jīng)過檢查評(píng)估的項(xiàng)目著手,不要管其成功還是失敗,實(shí)施項(xiàng)目后的回顧(有時(shí)稱作事后調(diào)查分析)。你的目標(biāo)不是判定責(zé)任,而是為了在將來項(xiàng)目中作得更好。借此,可以了解什么已經(jīng)作得很好,什么應(yīng)該作得更好。在當(dāng)前每個(gè)項(xiàng)目的主要里程碑時(shí),通過集體討論或公平的組織者,用同樣的方式,領(lǐng)導(dǎo)小組用頭腦風(fēng)暴的方式對(duì)其展開分析。
另外,要了解領(lǐng)悟已有的軟件工業(yè)的佳準(zhǔn)則。一個(gè)好的起點(diǎn)是Steve McConnell的Jolt Award獲獎(jiǎng)作品:快速開發(fā)(Rapid Development,Microsoft Press, 1996)的第三部分,敘述了27個(gè)佳準(zhǔn)則。也要避免McConnell敘述的36個(gè)常見的軟件開發(fā)錯(cuò)誤。你的組員也許反對(duì)新的工作方式,但是你的角色是作為一名領(lǐng)導(dǎo),要確保團(tuán)隊(duì)一致連續(xù)地使用佳可用的方法、過程和工具。積極促進(jìn)組員之間的信息共享,這樣局部單個(gè)好的實(shí)踐經(jīng)驗(yàn)?zāi)艹蔀槊總(gè)開發(fā)人員的工具箱的一部分。
五、建立改進(jìn)目標(biāo)
一旦你對(duì)過去的項(xiàng)目建立起了回顧,確立了質(zhì)量對(duì)小組的意義,你要建立短期以及長(zhǎng)期改進(jìn)的一些目標(biāo)。目標(biāo)要盡可能量化,所以你要?jiǎng)澐謳讉(gè)簡(jiǎn)單的階段,標(biāo)明你是否采取了適當(dāng)?shù)倪^程朝著目標(biāo)前進(jìn)。
例如,如果你認(rèn)定由于需求的不穩(wěn)定導(dǎo)致項(xiàng)目經(jīng)常延期,你可以建立一個(gè)改進(jìn)需求穩(wěn)定的目標(biāo),在6個(gè)月內(nèi)提高50%。這樣一個(gè)目標(biāo)需要你確切知道每周或每月需求的變化數(shù),清楚他們的出處,采取行動(dòng)控制那些變更。這可能要求你要改變與那些提交需求改變的人的交流方式。
你的目標(biāo)和階段是軟件過程改進(jìn)程序的組成部分,你要使之有序。作為缺乏創(chuàng)造力的官僚主義的后避難所,輕視“過程”很流行。雖然事實(shí)上,每個(gè)小組都能找到改進(jìn)其工作的方式。當(dāng)然,如果你總是用已有的工作方式工作,你也不要期望你會(huì)得到比以前更好的結(jié)果。有兩個(gè)強(qiáng)烈的原因要求改進(jìn)過程:校正問題,防止問題。確保你的改進(jìn)努力要圍繞著已知的或可預(yù)知的可能威脅項(xiàng)目成功的問題。領(lǐng)導(dǎo)你的小組找出當(dāng)前正在使用的方法的長(zhǎng)處和短處,以及項(xiàng)目面臨的風(fēng)險(xiǎn)。
我的小組召開了一次“兩段式頭腦風(fēng)暴”練習(xí),來確定改進(jìn)軟件生產(chǎn)力和質(zhì)量過程的絆腳石。在第一次會(huì)議中,參會(huì)者在便條上寫出他們關(guān)于會(huì)議主題的想法,一個(gè)便條一個(gè)想法。組織者將他們寫在便條上的想法收集上來并分組。后,我們會(huì)得到一打主要的分類,并將其記錄到活動(dòng)掛圖上。
第二次會(huì)議,相同的參會(huì)者在便箋上寫出解決這些障礙的思路,并貼在掛圖的合適位置。進(jìn)一步細(xì)化,歸納出一些詳細(xì)的活動(dòng),可以成為我們努力的一部分,清除障礙,幫助組員實(shí)現(xiàn)軟件的質(zhì)量和生產(chǎn)力的目標(biāo)。
建立可度量和可達(dá)到的目標(biāo),便于你集中精力實(shí)現(xiàn)改進(jìn)。要使目標(biāo)具有明顯的優(yōu)先級(jí),并可周期性地監(jiān)視過程。記住你的目的是,提高你的項(xiàng)目和公司完成的技術(shù)和業(yè)務(wù)上成功,不要滿足于一些過程改進(jìn)書籍里提到的期望細(xì)節(jié)。要把改進(jìn)的工作視為迷你項(xiàng)目,具有可分發(fā)、資源、計(jì)劃和有責(zé)任的小項(xiàng)目。否則,過程改進(jìn)活動(dòng)將總處于比誘人的技術(shù)工作低的優(yōu)先級(jí)上。
六、緩慢的開始
這篇文章提供了許多建議,幫助你,一位軟件經(jīng)理新人,帶領(lǐng)你的小組走向偉大的成功。在日復(fù)一日新的工作壓力面前,要努力保持你的頭腦清醒。
在長(zhǎng)時(shí)間的塑造軟件開發(fā)小組的文化和習(xí)慣上,你還是個(gè)非常重要的角色。你不必一次性都作完,可以選擇跟環(huán)境相關(guān)的的幾個(gè)開始。作為軟件經(jīng)理,除了項(xiàng)目要按時(shí)按照預(yù)算完成外,你要擔(dān)負(fù)的責(zé)任還很多。你還要:領(lǐng)導(dǎo)技術(shù)人員,將他們形成一個(gè)具有凝聚力的團(tuán)隊(duì);建立協(xié)同團(tuán)隊(duì)工作的環(huán)境;鼓勵(lì)和獎(jiǎng)賞高級(jí)軟件工程師的實(shí)踐應(yīng)用;平衡來自客戶、公司,組員和你自己的需求。