監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢(xún)管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶(hù)案例 | 在線(xiàn)試用
X 關(guān)閉
建筑工程項(xiàng)目管理軟件

當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 建筑OA系統(tǒng) > 建筑工程項(xiàng)目管理軟件

敏捷過(guò)程如何做需求分析

申請(qǐng)免費(fèi)試用、咨詢(xún)電話(huà):400-8352-114

考試大特別推薦:敏捷過(guò)程如何做需求分析
  在很多人的印象中,敏捷軟件開(kāi)發(fā)是種類(lèi)似黑客行為的過(guò)程,是程序員最?lèi)?ài)的勾當(dāng)。不寫(xiě)文檔,不作需求分析,沒(méi)有項(xiàng)目經(jīng)理,做什么東西完全是程序員自己的行為。所以他們認(rèn)為這樣的過(guò)程無(wú)法滿(mǎn)足真正大型項(xiàng)目和復(fù)雜項(xiàng)目的需要,因此在經(jīng)過(guò)考慮后,放棄了敏捷方法。
  真的是這樣嗎?敏捷過(guò)程到底是如何做需求分析?用戶(hù)故事和用例有什么區(qū)別?敏捷過(guò)程如何去管理需求的?這些是一些想要實(shí)踐敏捷的人一直在困惑的事情。
  我們常??吹綍?shū)中講,程序員拿到一個(gè)用戶(hù)故事后,怎么計(jì)劃,怎么分解,怎么寫(xiě)單元測(cè)試,怎么小步前進(jìn),怎么持續(xù)集成。這是典型的程序員視角。事實(shí)上,敏捷方法分為三部分,敏捷項(xiàng)目管理,敏捷需求分析,敏捷軟件開(kāi)發(fā)。上述書(shū)中提到的完全是敏捷開(kāi)發(fā)中的實(shí)踐,很多人了解到的敏捷,只是敏捷的三分之一。
  在敏捷的團(tuán)隊(duì)中,作一個(gè)敏捷程序員確實(shí)是非常舒服的事情。從程序員的角度來(lái)看,只需要選擇一張他感興趣的故事卡片,了解清楚該卡片的需求,開(kāi)始從功能測(cè)試寫(xiě)代碼,等通過(guò)了所有測(cè)試就完工?;旧喜恍枰紤]太多的事情,非常輕松愉快。但程序員向誰(shuí)去問(wèn)清楚需求?故事卡片是怎樣寫(xiě)出來(lái)的呢?讓我們來(lái)關(guān)注開(kāi)發(fā)前發(fā)生的事情。
  了解敏捷過(guò)程的人都知道,Kent Beck在XP過(guò)程中提到了現(xiàn)場(chǎng)客戶(hù),如果一個(gè)敏捷團(tuán)隊(duì)能夠有現(xiàn)場(chǎng)客戶(hù),這當(dāng)然是最棒的事情。但多數(shù)情況下,客戶(hù)都是很忙碌的,很難全力投入到軟件開(kāi)發(fā)過(guò)程中。這時(shí)候,我們就需要商務(wù)分析師這個(gè)角色,來(lái)充當(dāng)客戶(hù)的角色。
  我在ThoughtWorks的團(tuán)隊(duì)中擔(dān)任的就是商務(wù)分析師這個(gè)角色。商務(wù)分析師最重要的職責(zé)就是與客戶(hù)交談,了解和分析需求,將其制作成用戶(hù)故事并將需求轉(zhuǎn)述給程序員。同時(shí),商務(wù)分析師也要代替客戶(hù)負(fù)責(zé)功能驗(yàn)收測(cè)試。
  敏捷思想的核心是人與交流。需求問(wèn)題實(shí)際上是一個(gè)交流問(wèn)題。商務(wù)分析師要和客戶(hù)交流,搞清楚客戶(hù)到底需要什么,到底為什么需要這些東西。商業(yè)價(jià)值是商務(wù)分析師關(guān)注的最終目標(biāo)。有了目標(biāo)的指向,就可以不迷失方向。和客戶(hù)進(jìn)行交流,最終目的就是挖掘出客戶(hù)的商業(yè)目標(biāo)??赡艽蠹視?huì)經(jīng)常有這樣的經(jīng)驗(yàn),客戶(hù)說(shuō),我要這個(gè)功能,我想要怎么怎么樣。這時(shí)候要特別注意,他說(shuō)的這些東西并不是真正的需求。商務(wù)分析師需要詳細(xì)的問(wèn)客戶(hù)為什么,挖掘出他真正的目標(biāo)。
  在這個(gè)目標(biāo)下,商務(wù)分析師開(kāi)始進(jìn)行需求的分析:我們到底是否真的需要這個(gè)需求?有沒(méi)有更好的解決方案?有沒(méi)有簡(jiǎn)單并且低廉的方式?換一種形式是不是也能達(dá)到這樣的需求?這個(gè)需求有多少地方涉及到以前的軟件變更?
  搞清楚這些事情后,就可以寫(xiě)出用戶(hù)故事。用戶(hù)故事的書(shū)寫(xiě)遵循一定的原則,一般包括三部分:"作為(系統(tǒng)的一個(gè)涉眾),我想要(做一件事),從而(達(dá)到一個(gè)商業(yè)價(jià)值)"。在書(shū)寫(xiě)的時(shí)候格式比較隨意,可以在故事卡背面寫(xiě)上注釋或疑問(wèn),甚至畫(huà)上界面原形圖。
  舉一個(gè)最常見(jiàn)的用戶(hù)故事例子,“作為一個(gè)普通用戶(hù),我希望能夠用用戶(hù)名和密碼登錄,以便我能享受到個(gè)性化的服務(wù)”。其中,用戶(hù)是系統(tǒng)涉眾,登錄是他想要做的事情,而他的目標(biāo)是獲得個(gè)性化的服務(wù)。
  從這個(gè)例子我們可以想象到,這個(gè)頁(yè)面可能存在兩個(gè)文本框,用于輸入用戶(hù)名和密碼,有一個(gè)按鈕來(lái)登錄,并且不登錄就不能看到個(gè)人資料,另外,如果用戶(hù)輸入錯(cuò)誤需要提示“登錄失敗請(qǐng)重試”。這就是可見(jiàn)性,也可以稱(chēng)為可測(cè)試性。我們可以根據(jù)這樣的可見(jiàn)性寫(xiě)出功能測(cè)試,從而驅(qū)動(dòng)這個(gè)用戶(hù)故事的開(kāi)發(fā),這被稱(chēng)為 Acceptance Driven Development。
  用戶(hù)故事的作用有兩個(gè),一個(gè)是作為進(jìn)度跟蹤的依據(jù),一個(gè)是作為與人交談的備忘錄。用戶(hù)故事卡片并不是很精確的需求,因此不需要把事情描述的非常清楚。將需求的詳細(xì)分析推遲到實(shí)現(xiàn)前夕來(lái)完成,這是敏捷需求分析的精華所在。任何提前做好的東西都會(huì)導(dǎo)致浪費(fèi),敏捷過(guò)程提倡足夠就好,避免浪費(fèi)。
  不少人對(duì)用戶(hù)故事和用例的區(qū)別感到疑惑。用戶(hù)故事的作用是備忘功能,而不是文檔。而用例需要詳細(xì)的描述其操作步驟,以及每個(gè)異常路徑,因而起到了文檔的作用。用戶(hù)故事是可見(jiàn)的商業(yè)價(jià)值,而不是功能描述。每個(gè)用戶(hù)故事的粒度和工作量都相差不多,這和用例有很大的區(qū)別。用戶(hù)故事是小粒度的,可測(cè)試的,可見(jiàn)的,并且是有價(jià)值的。
  ThoughtWorks有個(gè)項(xiàng)目組作的是一個(gè)網(wǎng)游物品交易平臺(tái)。該平臺(tái)是典型的互聯(lián)網(wǎng)項(xiàng)目,在開(kāi)工的時(shí)候客戶(hù)對(duì)功能需求還不明確,但需要快速推出搶占市場(chǎng),正是最適合敏捷過(guò)程的項(xiàng)目。
發(fā)布:2007-02-26 11:09    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:

泛普建筑工程項(xiàng)目管理軟件其他應(yīng)用

項(xiàng)目管理工具 禪道項(xiàng)目管理軟件 夢(mèng)龍項(xiàng)目管理軟件 微軟項(xiàng)目管理軟件 裝飾管理系統(tǒng) 裝修預(yù)算軟件 項(xiàng)目計(jì)劃軟件 項(xiàng)目進(jìn)度管理軟件 軟件項(xiàng)目管理工具 材料管理軟件 工程項(xiàng)目管理軟件系統(tǒng) 項(xiàng)目管理系統(tǒng) 施工管理軟件 建筑工程項(xiàng)目管理軟件 工程管理軟件