rogramming,簡(jiǎn)稱叫XP,最開始我接觸到XP的說法時(shí),還覺得是Windows XP的XP呢!
我第一次學(xué)習(xí)極限編程的最佳實(shí)踐時(shí),讓我震撼不已,后來再工作中不斷體會(huì),有了自己的見解。我將這些最佳實(shí)踐分為幾類:需求、設(shè)計(jì)、測(cè)試、編碼、項(xiàng)目管理。
需求方面的最佳實(shí)踐:
1.客戶故事:強(qiáng)調(diào)以客戶的語言來表達(dá)需求。
需求分析有很多科學(xué)系統(tǒng)的方法,采用這些系統(tǒng)方法有時(shí)候往往不如使用最原始的土方法,就是用客戶的陳述來表達(dá)需求!
極限編程認(rèn)為,客戶不能清晰認(rèn)識(shí)自己想要什么是很正常的事情,項(xiàng)目組也沒有必要成為業(yè)務(wù)專家,所以通過這兩個(gè)最佳實(shí)踐讓客戶來引導(dǎo)項(xiàng)目。項(xiàng)目的開發(fā)工作講究短平快,系統(tǒng)會(huì)分為多個(gè)小版本發(fā)布,客戶經(jīng)過多個(gè)版本發(fā)布會(huì)逐步清楚認(rèn)識(shí)到自己想要什么。
這個(gè)最佳實(shí)踐鑒于我國的情況,其實(shí)是很難執(zhí)行的。我們的項(xiàng)目一般合同價(jià)錢是簽死的,項(xiàng)目時(shí)間也是死的,基本都沒有機(jī)會(huì)讓我們來回折騰,如果我們不能在項(xiàng)目初期精準(zhǔn)地分析出客戶真正的需求,項(xiàng)目失敗的機(jī)會(huì)是非常高的。
我在實(shí)際工作中往往會(huì)通過用戶故事來獲取原始需求,然后對(duì)這些用戶故事進(jìn)行提煉,提煉后的需求再跟客戶確認(rèn)。我認(rèn)為項(xiàng)目組還是很有必要成為業(yè)務(wù)專家,項(xiàng)目組中還是很需要有需求分析方面的高手,項(xiàng)目經(jīng)不起折騰??!
2.客戶全程參與:強(qiáng)調(diào)從項(xiàng)目一開始到最后,客戶應(yīng)該與項(xiàng)目緊密聯(lián)系,發(fā)揮更大的作用。
這個(gè)實(shí)踐在實(shí)際工作中應(yīng)該很好地貫徹,不要僅在需求階段才讓客戶介入,客戶最好就能常駐在項(xiàng)目小組內(nèi)。下面有一些讓客戶多參與的建議做法:
1)需求階段要與各用戶反復(fù)確認(rèn)需求。
2)系統(tǒng)做出界面時(shí)馬上讓客戶看看。
3)項(xiàng)目計(jì)劃要讓客戶知道。
4)每周向客戶發(fā)送項(xiàng)目進(jìn)展報(bào)告。
5)讓客戶參與測(cè)試軟件。
設(shè)計(jì)方面的最佳實(shí)踐只有一條:
1.簡(jiǎn)單設(shè)計(jì):不用長(zhǎng)遠(yuǎn)考慮,只要設(shè)計(jì)能保證當(dāng)前功能可以實(shí)現(xiàn)就行。
軟件開發(fā)的可謂千變?nèi)f化,能將功能做出來的最簡(jiǎn)單設(shè)計(jì)就是最好的設(shè)計(jì),你不需要考慮以后發(fā)生變化還能重用這些設(shè)計(jì)和代碼,明天的事情鬼知道,搞定今天的事情就可以了!
這個(gè)實(shí)踐有點(diǎn)劍走偏鋒,有人還會(huì)因?yàn)檫@個(gè)實(shí)踐不仔細(xì)思考軟件設(shè)計(jì)就編碼了,我們有很多項(xiàng)目因?yàn)樵O(shè)計(jì)得太爛而吃了不少苦頭。實(shí)戰(zhàn)簡(jiǎn)單設(shè)計(jì)時(shí),我有這樣的一些建議:
1)對(duì)于沒有類似經(jīng)驗(yàn)的項(xiàng)目,設(shè)計(jì)應(yīng)該盡量簡(jiǎn)單,但簡(jiǎn)單的設(shè)計(jì)是需要嚴(yán)謹(jǐn)?shù)乃伎嫉玫降?,你不要認(rèn)為簡(jiǎn)單想一個(gè)設(shè)計(jì)出來就是簡(jiǎn)單設(shè)計(jì)。
2)思考項(xiàng)目設(shè)計(jì)時(shí),應(yīng)考慮有什么東西可以重用,同時(shí)適當(dāng)考慮本項(xiàng)目有什么東西可供以后的項(xiàng)目重用。
特別聲明:
如需轉(zhuǎn)載此文,請(qǐng)給出指向本網(wǎng)站的連接,如下:
作者:張傳波
摘自:http://www.umlonline.cn
如不能按此要求,請(qǐng)不要轉(zhuǎn)載此文。