如果你贊成客戶(hù)的參與是發(fā)布一個(gè)優(yōu)秀軟件的關(guān)鍵因素,在項(xiàng)目的開(kāi)始階段就會(huì)努力致力于為你的項(xiàng)目征求各個(gè)客戶(hù)的意見(jiàn)。軟件需求的成功,和軟件開(kāi)發(fā)的成功都取決于開(kāi)發(fā)者是否盡可能地采納客戶(hù)的意見(jiàn)。為了征求客戶(hù)的意見(jiàn),必須采取以下幾步:
• 明確項(xiàng)目用戶(hù)需求的來(lái)源。
• 明確使用該產(chǎn)品的不同類(lèi)型的用戶(hù)。
• 與產(chǎn)品不同用戶(hù)類(lèi)的代表進(jìn)行溝通。
• 遵從項(xiàng)目的最終決策者的意見(jiàn)。
客戶(hù)參與是避免期望差異(expectation gap)的唯一途徑,這一期望差異表現(xiàn)在客戶(hù)期望得到的產(chǎn)品與開(kāi)發(fā)者所設(shè)計(jì)的產(chǎn)品之間不相符。然而,在項(xiàng)目的開(kāi)始階段僅僅簡(jiǎn)單地問(wèn)一兩個(gè)客戶(hù)的需求,然后就開(kāi)始編碼,這樣做是不夠的。如果開(kāi)發(fā)者僅僅為了客戶(hù)的最初需求去開(kāi)發(fā)軟件,那么,他們可能要重新進(jìn)行開(kāi)發(fā),因?yàn)?,客?hù)常常不知道他們的真正需要,而開(kāi)發(fā)者也不知道。
用戶(hù)提出“需要”的特性并不總是與用戶(hù)利用新產(chǎn)品來(lái)處理他們的任務(wù)( t a s k )時(shí)所需的功能相等價(jià)。因此,當(dāng)你收集到用戶(hù)的意見(jiàn)后,必須分析、整理這些需求意見(jiàn),直到你理解它為止,并把你的理解寫(xiě)成文檔,然后與用戶(hù)一起探討,這是一個(gè)反復(fù)的過(guò)程, 并且需要花費(fèi)時(shí)間。如果你不在這一方面花時(shí)間,對(duì)預(yù)期產(chǎn)品一致的看法未達(dá)成共識(shí)—最終的后果可能是返工,并且產(chǎn)品不盡人意。
需求的來(lái)源
軟件需求可以來(lái)自方方面面,這取決于所開(kāi)發(fā)產(chǎn)品的性質(zhì)和開(kāi)發(fā)環(huán)境。需從不同用戶(hù)代表和來(lái)源收集需求,這說(shuō)明了需求工程是以相互交流為核心的性質(zhì)。下面是幾個(gè)軟件需求的典型來(lái)源。
1. 訪(fǎng)問(wèn)并與有潛力的用戶(hù)探討
為找出新軟件產(chǎn)品的用戶(hù)需求,最直截了當(dāng)?shù)姆椒ㄊ窃?xún)問(wèn)他們。本章討論如何尋找合適的用戶(hù)代表,而在第8章講述從這些代表中獲取需求的技巧。
2. 把對(duì)目前的或競(jìng)爭(zhēng)產(chǎn)品的描述寫(xiě)成文檔
文檔可以描述一種所必須遵循的標(biāo)準(zhǔn)或產(chǎn)品所必須遵循的政府或工業(yè)規(guī)則。
3. 系統(tǒng)需求規(guī)格說(shuō)明
一個(gè)包含軟、硬件的產(chǎn)品需要一個(gè)高檔次的系統(tǒng)需求規(guī)格說(shuō)明以介紹整個(gè)產(chǎn)品。系統(tǒng)需求的子集被分配到每個(gè)軟件子系統(tǒng)中( Nelsen 1990)。附加的詳細(xì)軟件功能需求將從有關(guān)軟件的系統(tǒng)需求里獲得。
4. 對(duì)當(dāng)前系統(tǒng)的問(wèn)題報(bào)告和增強(qiáng)要求指導(dǎo)用戶(hù)和提供技術(shù)支持的工作人員是最有價(jià)值的需求來(lái)源。
他們收集了用戶(hù)在使用現(xiàn)有系統(tǒng)過(guò)程中所遇到問(wèn)題的信息,還接受了用戶(hù)關(guān)于系統(tǒng)改進(jìn)的想法。
5. 市場(chǎng)調(diào)查和用戶(hù)問(wèn)卷調(diào)查
調(diào)查有助于從廣大有潛力的用戶(hù)那里獲得大量定量的數(shù)據(jù),務(wù)必調(diào)查相關(guān)的用戶(hù)并詢(xún)問(wèn)一些能產(chǎn)生反響的好問(wèn)題。
6. 觀察正在工作的用戶(hù)
對(duì)當(dāng)前系統(tǒng)的用戶(hù)和將來(lái)系統(tǒng)的有潛力的用戶(hù),分析員觀察“日常工作”以獲得經(jīng)驗(yàn),這些經(jīng)驗(yàn)?zāi)芴峁┖苡袃r(jià)值的信息。分析員可通過(guò)觀察用戶(hù)與所關(guān)聯(lián)的任務(wù)環(huán)境的工作流程來(lái)預(yù)見(jiàn)用戶(hù)在使用當(dāng)前系統(tǒng)時(shí)所遇到的問(wèn)題,并能分析新的系統(tǒng)可有效支持工作流程的方面(McGraw and Harbison 1997; Beyer and Holtzblatt 1998)。比起僅僅簡(jiǎn)單地詢(xún)問(wèn)用戶(hù),并記下用戶(hù)在處理任務(wù)時(shí)的步驟來(lái)說(shuō),直接觀察用戶(hù)的工作流程可以對(duì)他們的活動(dòng)有更正確的理解。分析員必須抽象和總結(jié)用戶(hù)的直接活動(dòng),以確保所獲得的需求具有普遍性,而不僅僅代表單個(gè)用戶(hù)。一個(gè)富有技巧的分析員還可以為改進(jìn)用戶(hù)的當(dāng)前事務(wù)處理過(guò)程提出一些見(jiàn)解。
7. 用戶(hù)任務(wù)的內(nèi)容分析
通常通過(guò)開(kāi)發(fā)具體的情節(jié)( s c e n a r i o)或活動(dòng)順序(有時(shí)稱(chēng)作“情節(jié)”),可以確定用戶(hù)利用系統(tǒng)需要完成的任務(wù),分析員由此可以獲得用戶(hù)用于處理任務(wù)的必要的功能需求。這是使用實(shí)例方法的精髓。
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線(xiàn)啦!快來(lái)測(cè)測(cè)你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html