軟件開發(fā)中的敏捷開發(fā)適合產(chǎn)品,不太適合項(xiàng)目,因?yàn)楫a(chǎn)品開發(fā)的節(jié)奏可以控制,而項(xiàng)目會(huì)受客戶的影響很多。
那么,軟件項(xiàng)目開發(fā)使用敏捷開發(fā)會(huì)遇到什么問題呢?
1. 不要把最終目標(biāo)帶入到敏捷開發(fā)中
敏捷開發(fā)要解決的是如何逐漸準(zhǔn)確描述用戶需求和逐漸呈現(xiàn)產(chǎn)品,因?yàn)樵谧罱K產(chǎn)品出來之前,用戶也不知道他們要的產(chǎn)品長什么樣子。開發(fā)者的任何計(jì)劃都只滿足于當(dāng)前迭代,迭代計(jì)劃來自于前次迭代反饋?zhàn)龀龅恼{(diào)整以及后續(xù)任務(wù)。反饋調(diào)整相當(dāng)重要,確定好重要性和優(yōu)先級(jí)后要和后續(xù)任務(wù)放在一起重新評(píng)估,后續(xù)任務(wù)并非在下次迭代中非做不可。
2. 傳統(tǒng)開發(fā)方法,先確定目標(biāo),然后試圖硬套敏捷開發(fā)
敏捷開發(fā)是一套描述過程的方法論,它有自己的適用范圍。敏捷開發(fā)的精髓是風(fēng)險(xiǎn)控制,而不是必定在計(jì)劃期限內(nèi)完成產(chǎn)品,它試圖在盡量早期發(fā)現(xiàn)問題,從而避免到后期出現(xiàn)重大問題時(shí)付出超額成本,這是因?yàn)槊看蔚唤鉀Q幾個(gè)最重要的問題,這些問題又基本來自于前次迭代的反饋(客戶必需參與,這是極其重要的一點(diǎn)),因此基本上可以杜絕方向性錯(cuò)誤。因此它最終可能完成產(chǎn)品,指達(dá)到了客戶滿意的最終形態(tài),也可能完成不了,比如客戶通過幾次迭代了解到自己的思路不足以達(dá)到預(yù)期,因此中止了開發(fā)。
3. 敏捷開發(fā)反映的是開發(fā)者和客戶的交互
對(duì)于開發(fā)者內(nèi)部問題,也可以采用敏捷開發(fā),此時(shí)技術(shù)主管成為客戶。對(duì)實(shí)際客戶總是要評(píng)估真實(shí)的任務(wù)周期,若周期太長,則需要?jiǎng)澐殖蔀樽尤蝿?wù),并加入到任務(wù)清單,與其他任務(wù)一起評(píng)估重要性和優(yōu)先級(jí)。敏捷開發(fā)要求開發(fā)者和客戶保持密切的聯(lián)系,最好是能和用戶一起討論應(yīng)用場(chǎng)景并設(shè)計(jì)測(cè)試用例,這些測(cè)試用例非常重要,客戶可能是不懂技術(shù)的人,但和他們討論測(cè)試用例可以對(duì)自己的技術(shù)實(shí)現(xiàn)起到參考作用,同時(shí),測(cè)試用例也是迭代目標(biāo)的組成部分。
4.明確項(xiàng)目客戶(確定裁判員)
如果是委托項(xiàng)目(外包),那么客戶就是委托人;如果是自研項(xiàng)目,那么客戶就是老板,如果老板沒有精力,那么需要成立一個(gè)客戶小組(最好不要項(xiàng)目經(jīng)理本人擔(dān)任客戶角色,除非你發(fā)錢自己搞,否則又當(dāng)運(yùn)動(dòng)員又當(dāng)裁判員,基本就宣告你這個(gè)項(xiàng)目黃了),客戶小組可以由產(chǎn)品部的人擔(dān)任。個(gè)人認(rèn)為軟件項(xiàng)目不要把產(chǎn)品包含到開發(fā)團(tuán)隊(duì)里來,帶來混亂的風(fēng)險(xiǎn)太高,他們理論上屬于客戶不屬于實(shí)現(xiàn),開發(fā)節(jié)奏由敏捷開發(fā)來把握,技術(shù)主管和核心研發(fā)分析產(chǎn)品需求,產(chǎn)生可執(zhí)行任務(wù)。
5.明確軟件項(xiàng)目經(jīng)理
軟件項(xiàng)目經(jīng)理產(chǎn)出的是符合客戶需求的軟件,因此他還是屬于偏輸出的這么個(gè)定位。但國內(nèi)一般對(duì)其定位比較模糊,上頭要你全權(quán)負(fù)責(zé),內(nèi)部卻權(quán)責(zé)不明。由于你是一把抓,所以你很容易深入到產(chǎn)品工作中,此時(shí)反倒是作為客戶的產(chǎn)品不用負(fù)責(zé)任了,項(xiàng)目一旦失敗,你就是冤大頭。如果你一定要自己把自己擺在一個(gè)更高的位置,有一些理想,也請(qǐng)成立專門的產(chǎn)品組,和程序組分別考核。如何定位項(xiàng)目經(jīng)理,各個(gè)公司也都不一樣,國內(nèi)喜歡一把抓,有權(quán),好調(diào)動(dòng)資源;國外什么樣的都有,也有只做協(xié)調(diào)的,就組織開會(huì)、盯進(jìn)度,不參與決策,主要看公司什么文化和流程。