網(wǎng)站項目管理-如何做好需求分析
原作者:mypm.net 由網(wǎng)友:
轉載 發(fā)布時(shí)間:2004-04-30 瀏覽量:4448
前言
隨著(zhù)技術(shù)的不斷發(fā)展和用戶(hù)對網(wǎng)站功能性的需求不斷提高,如今網(wǎng)站項目的設計已經(jīng)不能再僅僅簡(jiǎn)單地利用靜態(tài)Html文件來(lái)實(shí)現,與前幾年網(wǎng)站設計由一兩名網(wǎng)頁(yè)設計師自由的創(chuàng )作相比,網(wǎng)站項目的設計和開(kāi)發(fā)越來(lái)越像一個(gè)軟件工程,也越來(lái)越復雜,網(wǎng)站項目的設計和開(kāi)發(fā)進(jìn)入了需要強調流程和分工的時(shí)代,建立規范的、有效的、健壯的開(kāi)發(fā)機制,才能適應用戶(hù)不斷變化的需要,達到預期的計劃目標。
網(wǎng)站項目管理(WPM)的含義為WebbasedProjectManagement,即以Web應用程序為主要表現方式的架構來(lái)進(jìn)行的項目設計及管理,這樣的架構中包含了瀏覽器、網(wǎng)絡(luò )和Web服務(wù)器等關(guān)鍵主體,主要體現在網(wǎng)站設計、以瀏覽器為客戶(hù)端的Web應用程序開(kāi)發(fā)(例如信息類(lèi)網(wǎng)站、網(wǎng)上商店、虛擬郵局、客戶(hù)關(guān)系管理。)等項目管理中。
在本文中,筆者將網(wǎng)站項目管理(WPM)與軟件工程的統一過(guò)程管理(RUP)進(jìn)行參照比較,并結合實(shí)際工作經(jīng)驗,力求將網(wǎng)站工程管理(WPM)的角色、分工、流程進(jìn)行完整的闡述,使網(wǎng)站項目管理逐漸走向規范化。
按照筆者的經(jīng)驗,網(wǎng)站項目管理可以分為以下七個(gè)階段進(jìn)行控制:
1.需求分析及變更管理
2.項目模型及業(yè)務(wù)流程分析
3.系統分析及軟件建模
4.界面設計、交互設計及程序開(kāi)發(fā)
5.系統測試和文檔編寫(xiě)
6.客戶(hù)培訓、技術(shù)支持和售后服務(wù)
需要說(shuō)明的是,這些階段雖然具有一定的延續性,但是并非完全隔斷的,例如需求變更管理和測試工作、文檔編寫(xiě)都是貫穿整個(gè)項目過(guò)程的,許多工作時(shí)交叉進(jìn)行或同時(shí)進(jìn)行的。
(一)如何做好需求分析及變更管理?
業(yè)務(wù)員與客戶(hù)進(jìn)行的溝通,撰寫(xiě)需求分析報告是項目展開(kāi)的基礎。項目是以客戶(hù)的需求為中心,而不是為技術(shù)而遷就需求。
本章包括以下內容:
一.讓客戶(hù)暢所欲言,羅列出所有的需求
二.透過(guò)現象分析潛在的需求
三.利用自然的語(yǔ)言描述項目模型
四.利用示意圖和圖表將用戶(hù)的需求表現出來(lái)。
五.什么人要看需求分析報告?
六.建立需求變更日志,制作新版本的需求分析報告。
七.本階段重點(diǎn)工作角色
八.總結
一:讓客戶(hù)暢所欲言,羅列出所有的需求
讓用戶(hù)將所有的想法盡可能的闡述清楚,并把所有的要求羅列出來(lái),不要遺漏。這時(shí)候不應該害怕"勾引"起客戶(hù)的潛在需求而增加設計開(kāi)發(fā)的工作量,從而被今后客戶(hù)無(wú)止境的變更拖入泥潭,直接明白地跟客戶(hù)把問(wèn)題和要求一條條地列出來(lái),把條理、歸納、分析先都扔到一邊去,將用戶(hù)最原始、最完整的要求準確地記錄下來(lái)就完成了第一步的工作。
很明顯,假如客戶(hù)的需求做的都不完整,隨時(shí)可能會(huì )產(chǎn)生意想之外的變更,甚至這個(gè)變更會(huì )破壞已經(jīng)做的模型及結構,那么這個(gè)項目從開(kāi)始就注定了會(huì )失??;比如站點(diǎn)所有的功能都實(shí)現了,本地測試起來(lái)也沒(méi)有什么問(wèn)題了,但是你卻不知道客戶(hù)的系統是要承受每天100萬(wàn)獨立IP的訪(fǎng)問(wèn),而你原來(lái)想當然的以為了不起就是1萬(wàn)獨立IP訪(fǎng)問(wèn)的訪(fǎng)問(wèn)流量,稍微有經(jīng)驗的開(kāi)發(fā)人員都會(huì )明白這樣的設計是個(gè)災難,無(wú)論是應用服務(wù)器、數據庫還是程序全部要重新開(kāi)發(fā)!
二:透過(guò)現象分析潛在的需求
很多情況下客戶(hù)并非專(zhuān)業(yè)人士,在他們滔滔不絕的描述中不能指望他們幫助我們整理出重點(diǎn)和技術(shù)難關(guān),這需要我們去為客戶(hù)進(jìn)行分析、歸納和整理,尤其是客戶(hù)談的不多卻又是技術(shù)上實(shí)現難度和強度很高的地方特別值得注意。
客戶(hù)往往對需求的概念是非常模糊的,大多時(shí)候給出的需求都是籠統而且尺度難以控制的,這就要求業(yè)務(wù)人員在傾聽(tīng)了客戶(hù)的詳細說(shuō)明以后,幫助客戶(hù)進(jìn)行整理和分析,同時(shí)預測客戶(hù)在開(kāi)發(fā)過(guò)程中變更及今后應用中可能進(jìn)行修改升級的潛在需求。
比如在為客戶(hù)設計辦公自動(dòng)化系統的時(shí)候,也許就要為客戶(hù)預留將來(lái)與他們的業(yè)務(wù)單位進(jìn)行交互的通道;在設計郵件系統的時(shí)候要考慮可能會(huì )需要廣告管理服務(wù)器;設計網(wǎng)絡(luò )電子商店時(shí)今后增加庫存產(chǎn)品進(jìn)銷(xiāo)存統計分析等等;限于時(shí)間財力的考慮,客戶(hù)通常能夠接受分階段實(shí)施的開(kāi)發(fā)過(guò)程,在需求分析時(shí),提早為客戶(hù)設想到今后的需求變更除了使項目開(kāi)發(fā)更加順利以外,也為今后業(yè)務(wù)的進(jìn)一步深入打下了更好的基礎。
筆者曾負責一個(gè)大型新聞網(wǎng)站的設計,當客戶(hù)拿著(zhù)將近五十頁(yè)厚的一本設計要求報告時(shí),我發(fā)現有四十頁(yè)的內容對程序開(kāi)發(fā)來(lái)說(shuō)都是重復的,而在其中一頁(yè)的角落卻畫(huà)了個(gè)"搜索其他網(wǎng)站相關(guān)新聞"的按鈕,并且沒(méi)有做任何說(shuō)明,僅僅這10個(gè)字所完成的工作量完全頂的上其他整整四十頁(yè)重復贅述所做的工作,客戶(hù)完全不知道這個(gè)要求引發(fā)的問(wèn)題實(shí)際就是一個(gè)搜索引擎的開(kāi)發(fā),通過(guò)協(xié)商,客人同意了修改成站內搜索的引擎。
三:利用自然的語(yǔ)言描述項目模型
在業(yè)務(wù)員與客戶(hù)進(jìn)行溝通和調查時(shí)撰寫(xiě)的需求分析,盡可能用自然的語(yǔ)言進(jìn)行描述,雖然客戶(hù)的水平和資歷有所不同,但是最自然的描述能夠使項目開(kāi)發(fā)的各個(gè)成員都能清楚地理解需求含義,不至于在理解上產(chǎn)生偏差。對客戶(hù)而言,這樣的模型描述最接近真實(shí),容易參與修訂,并能以此為測試和驗收的依據。
請比較以下兩份關(guān)于需求的描述,
"用戶(hù)在訪(fǎng)問(wèn)首頁(yè)的時(shí)候可以在點(diǎn)擊’客戶(hù)通道’按鈕,彈出填寫(xiě)’用戶(hù)名’和’密碼’的窗口,輸入正確后在新窗口打開(kāi)客戶(hù)通道的首頁(yè),在該頁(yè)顯示所有可操作的功能的導航條和最新的導讀新聞鏈接列表"
"站點(diǎn)分為公開(kāi)和加密兩種狀態(tài),通過(guò)身份驗證機制使特有的用戶(hù)可以訪(fǎng)問(wèn)到加密信息,并提供不同于普通用戶(hù)的功能。"
前段描述我們就很容易想象的出來(lái)設計完成的網(wǎng)站是什么樣子,而后一段的描述可能會(huì )做出無(wú)數不同的版本,造成對需求理解的歧意。
四:利用示意圖和圖表將用戶(hù)的需求表現出來(lái)。
需求分析無(wú)論文字上怎么樣表述都還是抽象的,對客戶(hù)而言理解畢竟是困難的,將基本確定的需求制作出示意圖是最直觀(guān)有效的。
制作示意圖可以有很多種方式,用PowerPoint或Visio制作流程示意,用Html文檔制作界面示意都是可行的,最簡(jiǎn)單利用畫(huà)圖和Word表格方式也完全可以,關(guān)鍵是利用示意圖將客戶(hù)的需求和即將開(kāi)始設計的系統體現起來(lái),在進(jìn)行系統分析和程序開(kāi)發(fā)之前,雙方對今后要完成的產(chǎn)品就能夠有直觀(guān)的認識,換言之,就是在產(chǎn)品還沒(méi)有真正進(jìn)入開(kāi)發(fā)階段的時(shí)候,雙方就對工作的結果達成統一的意見(jiàn),這將大大地減輕需求變更所帶來(lái)的困擾,同時(shí)客戶(hù)更容易地參與到項目的開(kāi)發(fā)過(guò)程,保證項目往正確的方向進(jìn)行。
在RUP中有這樣的描述:
"利用電影、卡通、圖片、表格和動(dòng)畫(huà)片等制作示意圖開(kāi)始,告訴我們用戶(hù)是誰(shuí),要發(fā)生什么事情,如何發(fā)生。
以用戶(hù)友好的方式幫助收集并改進(jìn)用戶(hù)需求。
鼓勵更有創(chuàng )造性、更加創(chuàng )新的設計解決方案。
鼓勵團隊復審,并避免所有人都不希望出現的特征。
確保以可理解、直觀(guān)的方式實(shí)施特征。
使訪(fǎng)談過(guò)程變得輕松,避免出現訪(fǎng)談沒(méi)有結果的現象。
簡(jiǎn)單地說(shuō),制作示意圖就是使用工具向用戶(hù)(主角)說(shuō)明(有時(shí)是動(dòng)畫(huà)演示)系統如何適應組織的需要,并表明系統將如何運轉。協(xié)調員將初始示意板展示給小組,小組成員提供意見(jiàn)。之后,在舉辦研討班期間,示意板也進(jìn)行"實(shí)時(shí)"演進(jìn)。所以,您需要一種可以輕松更改示意板的畫(huà)圖工具。為了避免分散注意力,一般最好使用簡(jiǎn)單的工具,比如圖表、白板或PowerPoint。"
五:什么人要看需求分析報告
項目經(jīng)理、系統分析員、開(kāi)發(fā)經(jīng)理、交互設計師、測試人員、文檔人員包括客戶(hù)代表都應該看需求分析,并進(jìn)行共同的討論,達成一致的意見(jiàn)。
我們經(jīng)常會(huì )遇到業(yè)務(wù)人員辛辛苦苦談下來(lái)的項目,對開(kāi)發(fā)人員來(lái)說(shuō)卻是難以實(shí)現的,而技術(shù)人員設計的產(chǎn)品卻常常得不到客戶(hù)的認可,甚至發(fā)生糾紛,因此參與項目開(kāi)發(fā)的人員都應該對這份需求有統一清晰的認識,并根據自己的工作對需求提出意見(jiàn),通過(guò)與客戶(hù)的溝通修訂,最終確定項目實(shí)現的目標。
例如:
項目經(jīng)理通過(guò)需求分析才能組建所需要的團隊包括配置工作環(huán)境,制定開(kāi)發(fā)周期。
開(kāi)發(fā)周期的限制和功能上的要求可能會(huì )影響到程序員采用什么樣的語(yǔ)言和工具進(jìn)行編寫(xiě);
操作用戶(hù)的技能水平將影響到交互設計師進(jìn)行前臺設計時(shí)做到什么樣的精度;
界面設計人員根據項目的性質(zhì)和定位確定表現方式。
測試人員了解測試環(huán)境和條件后才能對項目質(zhì)量進(jìn)行跟蹤和檢測;
通過(guò)下表,我們可以看的出不同角色根據需求的變更所進(jìn)行的工作流程:
六:建立需求變更日志,制作新版本的需求分析報告
盡管我們費了許多功夫在需求分析進(jìn)行了最大可能的努力,但幾乎可以肯定的是,這份需求分析在開(kāi)發(fā)過(guò)程中一定會(huì )發(fā)生變化,也許是出自客戶(hù)的遺漏,也可能是在開(kāi)發(fā)過(guò)程中被激發(fā)出來(lái)的,這種變更有時(shí)是如此的頻繁和瑣碎,以至于往往不能將變更及時(shí)反饋到項目的各個(gè)角色中,那么做好需求變更日志就顯得非常重要。
在需求分析后面附上變更日志,并將修改后的需求分析制作成新版本,保留每次更改過(guò)的版本,而不是覆蓋,這樣就比較容易地跟蹤到需求變更過(guò)程中所帶來(lái)的工作調整。
在新版本的需求分析中,將變更多部分用特殊方式表明出來(lái),并在日志中記錄變更多重的明細。
關(guān)于需求分析和變更管理可以參照下圖示意:
七:本階段重點(diǎn)工作角色
在需求分析和變更管理的過(guò)程中,工作量最大的角色為客戶(hù)代表、業(yè)務(wù)員和項目經(jīng)理。
客戶(hù)代表提出需求,業(yè)務(wù)員幫助整理和分析,項目經(jīng)理對整個(gè)項目進(jìn)行評估。
在實(shí)際工作中,很多項目失敗的起因都和需求分析有關(guān)??蛻?hù)代表和業(yè)務(wù)員通常并非從事技術(shù)開(kāi)發(fā)的專(zhuān)業(yè)人員,在討論需求的時(shí)候往往對項目的技術(shù)難度、工作量、時(shí)間進(jìn)度把握不準確,這時(shí)候需要項目經(jīng)理或技術(shù)人員進(jìn)行參謀。
為了降低項目的風(fēng)險,提高工作效率,有必要設計規范的需求管理計劃書(shū),幫助客戶(hù)代表和業(yè)務(wù)員更好的完成任務(wù)。以下提供一份需求管理計劃的模板可作為參考:
八:總結
根據筆者的經(jīng)驗,要盡快做好需求分析掌握以下要點(diǎn),也許能事半功倍:
仔細聆聽(tīng),羅列客戶(hù)的所有要求;
將需求進(jìn)行分析,確認可操作的系統模型;
利用最自然的語(yǔ)言將系統進(jìn)行描述,使每個(gè)開(kāi)發(fā)人員不會(huì )產(chǎn)生歧意;
迅速確定網(wǎng)站的用戶(hù)角色;
比如訪(fǎng)客、會(huì )員、重要客戶(hù)、前臺管理員、網(wǎng)站管理員、業(yè)務(wù)員等;
分析確定每個(gè)角色的權限及可操作的功能;
比如會(huì )員可以查看特別信息、修改個(gè)人信息、退出登陸等;
前臺管理員能夠登錄管理系統,能夠發(fā)布編輯修改信息,能夠審查會(huì )員資格等;
網(wǎng)站管理員可以更改欄目、修改網(wǎng)站界面等;
制作流程圖和示意圖將需求表現出來(lái);
讓客戶(hù)參與到示意圖的設計中,及時(shí)正確的反應出需求變更。
制作需求變更日志,保留升級版本,通過(guò)版本控制進(jìn)行需求管理;
通過(guò)需求《管理計劃書(shū)》使每個(gè)參與人員看到共同的努力目標。