不允許效果也不一定好,所以要識(shí)別出能夠確定需求和了解業(yè)務(wù)流程的用戶作為每類用戶的代表。每類用戶至少選擇一位能真正代表他們需求的人作為代表并且能夠作出決策,用戶代表往往是本類用戶中三類人:對(duì)項(xiàng)目有決定權(quán)的領(lǐng)導(dǎo)、熟悉業(yè)務(wù)流程的專家、系統(tǒng)最終用戶。
每一個(gè)用戶代表者代表了一個(gè)特定的用戶類,并在那個(gè)用戶類和開(kāi)發(fā)者之間充當(dāng)主要的接口,用戶代表從他們所代表的用戶類中收集需求信息,同時(shí)每個(gè)用戶代表又負(fù)責(zé)協(xié)調(diào)他們所代表的用戶在需求表達(dá)上的不一致性和不兼容性。
4、建立核心隊(duì)伍
通常用戶和開(kāi)發(fā)人員不自覺(jué)的都有一種我們和他們的想法,產(chǎn)生一種對(duì)立關(guān)系,把彼此放在對(duì)立面,每一方都定義自己的邊界,只想自己的利益而忽略對(duì)方的想法。他們通過(guò)文檔、記錄和對(duì)話來(lái)溝通,而不是作為一個(gè)合作的整體去識(shí)別和確定需求完成任務(wù)。實(shí)踐證明這樣的方法是不正確的,不會(huì)給雙方帶來(lái)一點(diǎn)益處,良好的溝通關(guān)系沒(méi)有建立導(dǎo)致了誤解和忽略重要的信息。只有當(dāng)雙方參與者都明白要成功自己需要什么,同時(shí)也知道要成功對(duì)方需要什么時(shí),才能建立起一種合作關(guān)系。
為了建立合作關(guān)系通常采取一種組隊(duì)的方式來(lái)獲取需求,建立一個(gè)由用戶代表和開(kāi)發(fā)人員組成的聯(lián)合小組作為需求獲取的核心隊(duì)伍。聯(lián)合小組將負(fù)責(zé)識(shí)別需求、分析解決方案和協(xié)商分歧,小組成員可以采用會(huì)議、電子郵件、綜合辦公系統(tǒng)等方式進(jìn)行交流,但交流時(shí)應(yīng)注意以下原則:小組會(huì)議應(yīng)該由中立方來(lái)組織和主持,用戶和開(kāi)發(fā)人員都要參加;交流預(yù)先要確定準(zhǔn)備和參與的規(guī)則;議題要明確并覆蓋所有關(guān)鍵點(diǎn),但信息來(lái)源應(yīng)該自由;交流目標(biāo)要明確,并告知所有的成員。
5、確定使用實(shí)例
從用戶代表處收集他們將使用系統(tǒng)完成所需任務(wù)的描述,討論用戶與系統(tǒng)間的交互方式和對(duì)話要求,這就是使用實(shí)例,一個(gè)單一的使用實(shí)例可能包括完成某項(xiàng)任務(wù)的許多邏輯相關(guān)任務(wù)和交互順序。使用實(shí)例方法給需求獲取帶來(lái)的好處來(lái)自于該方法是用以任務(wù)為中心和以用戶為中心的觀點(diǎn),比起使用以功能為中心和以開(kāi)發(fā)者為中心的方法,使用實(shí)例方法可以使用戶更清楚地理解和認(rèn)識(shí)到新系統(tǒng)允許他們做什么和怎么做。描寫使用實(shí)例的時(shí)候要注意使用簡(jiǎn)潔直白的表述,盡量使用主動(dòng)語(yǔ)態(tài),系統(tǒng)或者用戶作為主語(yǔ),比如用戶提交用戶密碼,系統(tǒng)驗(yàn)證用戶密碼是否正確,還有一點(diǎn)在描述中不要設(shè)計(jì)界面細(xì)節(jié),比如用戶從下拉框中選擇產(chǎn)品類型。使用實(shí)例為以后寫用例場(chǎng)景描述中的基本路徑和擴(kuò)展路徑提供了素材。
6、召開(kāi)聯(lián)合會(huì)議
最常見(jiàn)的需求獲取方法是召開(kāi)會(huì)議或者面談,聯(lián)合會(huì)議是范圍廣的、簡(jiǎn)便的討論會(huì),也是核心隊(duì)伍成員之間一種很好的溝通方法,該會(huì)議通過(guò)緊密而集中的討論得以將用戶代表與開(kāi)發(fā)人員間的合作伙伴關(guān)系付諸于實(shí)踐并能由此擬出需求文檔的底稿。聯(lián)合會(huì)議的第一個(gè)議題就是系統(tǒng)的必要性和合理性,必須所有成員都同意系統(tǒng)是必要的而且合理的。接下來(lái)就可以討論使用實(shí)例清單,清單可以打印成大紙掛在墻上、寫在黑板上或做成演示材料。對(duì)每個(gè)清單合并去掉重復(fù)項(xiàng),加上補(bǔ)充內(nèi)容就可以得到一份總的清單,注意避免采用負(fù)面的太差不可行去否定用戶的想法,這些想法都應(yīng)該保留下來(lái)作為被評(píng)議的清單項(xiàng),這樣保護(hù)了小組成員開(kāi)放的思維。最后對(duì)清單進(jìn)行討論,會(huì)議成員必須檢查每一個(gè)使用實(shí)例,在把它們納入需求之前決定其是否在項(xiàng)目所定義的范圍內(nèi),形成最終的需求報(bào)告。
在進(jìn)行討論時(shí),也應(yīng)該避免受不成熟的細(xì)節(jié)的影響,在對(duì)系統(tǒng)需求取得共識(shí)之前,用戶能很容易地在一個(gè)報(bào)表或?qū)υ捒蛑辛谐瞿承┚_設(shè)計(jì),如果這些細(xì)節(jié)都作為需求記錄下來(lái),他們會(huì)給隨后的設(shè)計(jì)過(guò)程帶來(lái)不必要的限制,應(yīng)確保用戶參與者將注意力集中在與所討論的話題適合的抽象層上,重點(diǎn)就是討論做什么而不是怎