當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 建筑OA系統(tǒng) > 建筑工程項(xiàng)目管理軟件
敏捷過程如何做需求分析
在很多人的印象中,敏捷軟件開發(fā)是種類似黑客行為的過程,是程序員最愛的勾當(dāng)。不寫文檔,不作需求分析,沒有項(xiàng)目經(jīng)理,做什么東西完全是程序員自己的行為。所以他們認(rèn)為這樣的過程無法滿足真正大型項(xiàng)目和復(fù)雜項(xiàng)目的需要,因此在經(jīng)過考慮后,放棄了敏捷方法。
真的是這樣嗎?敏捷過程到底是如何做需求分析?用戶故事和用例有什么區(qū)別?敏捷過程如何去管理需求的?這些是一些想要實(shí)踐敏捷的人一直在困惑的事情。
我們常??吹綍兄v,程序員拿到一個用戶故事后,怎么計劃,怎么分解,怎么寫單元測試,怎么小步前進(jìn),怎么持續(xù)集成。這是典型的程序員視角。事實(shí)上,敏捷方法分為三部分,敏捷項(xiàng)目管理,敏捷需求分析,敏捷軟件開發(fā)。上述書中提到的完全是敏捷開發(fā)中的實(shí)踐,很多人了解到的敏捷,只是敏捷的三分之一。
在敏捷的團(tuán)隊(duì)中,作一個敏捷程序員確實(shí)是非常舒服的事情。從程序員的角度來看,只需要選擇一張他感興趣的故事卡片,了解清楚該卡片的需求,開始從功能測試寫代碼,等通過了所有測試就完工?;旧喜恍枰紤]太多的事情,非常輕松愉快。但程序員向誰去問清楚需求?故事卡片是怎樣寫出來的呢?讓我們來關(guān)注開發(fā)前發(fā)生的事情。
了解敏捷過程的人都知道,Kent Beck在XP過程中提到了現(xiàn)場客戶,如果一個敏捷團(tuán)隊(duì)能夠有現(xiàn)場客戶,這當(dāng)然是最棒的事情。但多數(shù)情況下,客戶都是很忙碌的,很難全力投入到軟件開發(fā)過程中。這時候,我們就需要商務(wù)分析師這個角色,來充當(dāng)客戶的角色。
我在ThoughtWorks的團(tuán)隊(duì)中擔(dān)任的就是商務(wù)分析師這個角色。商務(wù)分析師最重要的職責(zé)就是與客戶交談,了解和分析需求,將其制作成用戶故事并將需求轉(zhuǎn)述給程序員。同時,商務(wù)分析師也要代替客戶負(fù)責(zé)功能驗(yàn)收測試。
敏捷思想的核心是人與交流。需求問題實(shí)際上是一個交流問題。商務(wù)分析師要和客戶交流,搞清楚客戶到底需要什么,到底為什么需要這些東西。商業(yè)價值是商務(wù)分析師關(guān)注的最終目標(biāo)。有了目標(biāo)的指向,就可以不迷失方向。和客戶進(jìn)行交流,最終目的就是挖掘出客戶的商業(yè)目標(biāo)??赡艽蠹視?jīng)常有這樣的經(jīng)驗(yàn),客戶說,我要這個功能,我想要怎么怎么樣。這時候要特別注意,他說的這些東西并不是真正的需求。商務(wù)分析師需要詳細(xì)的問客戶為什么,挖掘出他真正的目標(biāo)。
在這個目標(biāo)下,商務(wù)分析師開始進(jìn)行需求的分析:我們到底是否真的需要這個需求?有沒有更好的解決方案?有沒有簡單并且低廉的方式?換一種形式是不是也能達(dá)到這樣的需求?這個需求有多少地方涉及到以前的軟件變更?
搞清楚這些事情后,就可以寫出用戶故事。用戶故事的書寫遵循一定的原則,一般包括三部分:"作為(系統(tǒng)的一個涉眾),我想要(做一件事),從而(達(dá)到一個商業(yè)價值)"。在書寫的時候格式比較隨意,可以在故事卡背面寫上注釋或疑問,甚至畫上界面原形圖。
舉一個最常見的用戶故事例子,“作為一個普通用戶,我希望能夠用用戶名和密碼登錄,以便我能享受到個性化的服務(wù)”。其中,用戶是系統(tǒng)涉眾,登錄是他想要做的事情,而他的目標(biāo)是獲得個性化的服務(wù)。
從這個例子我們可以想象到,這個頁面可能存在兩個文本框,用于輸入用戶名和密碼,有一個按鈕來登錄,并且不登錄就不能看到個人資料,另外,如果用戶輸入錯誤需要提示“登錄失敗請重試”。這就是可見性,也可以稱為可測試性。我們可以根據(jù)這樣的可見性寫出功能測試,從而驅(qū)動這個用戶故事的開發(fā),這被稱為 Acceptance Driven Development。
用戶故事的作用有兩個,一個是作為進(jìn)度跟蹤的依據(jù),一個是作為與人交談的備忘錄。用戶故事卡片并不是很精確的需求,因此不需要把事情描述的非常清楚。將需求的詳細(xì)分析推遲到實(shí)現(xiàn)前夕來完成,這是敏捷需求分析的精華所在。任何提前做好的東西都會導(dǎo)致浪費(fèi),敏捷過程提倡足夠就好,避免浪費(fèi)。
不少人對用戶故事和用例的區(qū)別感到疑惑。用戶故事的作用是備忘功能,而不是文檔。而用例需要詳細(xì)的描述其操作步驟,以及每個異常路徑,因而起到了文檔的作用。用戶故事是可見的商業(yè)價值,而不是功能描述。每個用戶故事的粒度和工作量都相差不多,這和用例有很大的區(qū)別。用戶故事是小粒度的,可測試的,可見的,并且是有價值的。
ThoughtWorks有個項(xiàng)目組作的是一個網(wǎng)游物品交易平臺。該平臺是典型的互聯(lián)網(wǎng)項(xiàng)目,在開工的時候客戶對功能需求還不明確,但需要快速推出搶占市場,正是最適合敏捷過程的項(xiàng)目。
- 1某市橋梁堤岸工程施工組織設(shè)計
- 2一建礦業(yè)工程知識點(diǎn):焊割等施工用火要求
- 3電氣系統(tǒng)調(diào)試怎么算,系統(tǒng)怎么劃分
- 4關(guān)于“招投標(biāo)與合同訂立市場現(xiàn)狀與法律風(fēng)險應(yīng)對講座”的補(bǔ)充通知
- 525米箱梁鋼模板車間加工圖
- 62015年監(jiān)理工程師:建筑安裝工程費(fèi)用構(gòu)成概述
- 7一季度全國規(guī)模以上工業(yè)企業(yè)利潤同比下降2.7%
- 8二級建造師考試教材對比《公路工程專業(yè)》(09、08年)
- 9韓國在煙臺投資項(xiàng)目達(dá)3550個 兩地貿(mào)易破百億美元
- 10河北:投資216億元建養(yǎng)普通干線公路和農(nóng)村公路
- 11成都鐵路局成都工務(wù)段:26天,2700余人鏖戰(zhàn)駝峰
- 122015年監(jiān)理工程師《投資控制》每日一練(8.6)
- 13仲裁協(xié)議的規(guī)定:仲裁協(xié)議的形式
- 142015年二級建造師施工管理復(fù)習(xí)資料:施工質(zhì)量控制
- 15多層框架結(jié)構(gòu)基礎(chǔ)選型有哪些要求?
- 16中鐵物資集團(tuán)港澳公司再次中標(biāo)印尼項(xiàng)目
- 17中建二局土木公司首個專業(yè)樁基項(xiàng)目打下第一樁
- 18平湖市將于9月1日起執(zhí)行物業(yè)專項(xiàng)維修資金交存新標(biāo)準(zhǔn)
- 19城市設(shè)計美學(xué)的研究框架
- 20申請建筑業(yè)企業(yè)資質(zhì)多長時間知道結(jié)果
- 212013年一級建造師《法規(guī)及相關(guān)知識》每日一練匯總3.4-3.10
- 22土質(zhì)基坑開挖作業(yè)指導(dǎo)書
- 23渠道渠底小型抗滑樁施工方案10p
- 242015年監(jiān)理工程師《理論與法規(guī)》每日一練(11.20)
- 25地下防水工程綜合施工措施
- 26關(guān)于召開2012年度全國工程建設(shè)質(zhì)量管理小組代表會議的補(bǔ)充通知
- 272015一建建設(shè)工程知識點(diǎn):措施項(xiàng)目費(fèi)
- 28行政決策的科學(xué)化之路——論科學(xué)邏輯在行政決策中的應(yīng)用
- 29一級建造師復(fù)習(xí)資料:焊接技術(shù)概述
- 302015年二級建造師水利水電實(shí)務(wù)考試:混凝土工程
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓