1 網站專案管理的特點
網站項目是以Web伺服器為主體、瀏覽器為用戶端作為基本架構的項目。這樣的架構項目中包含Web伺服器、瀏覽器和網路三個關鍵主體。網站項目可能是一個網站,也可能是各種Web應用程式,例如網上商店、虛擬郵局、網路辦公管理系統、客戶關係管理系統等等。網站專案管理就是圍繞著網站項目運用知識、技術、技能、工具和方法進行組織管理。其特點表現在以下幾個方面:
1)涉及的領域很多。狹義地講,網站項目包括了網頁製作、美工設計、程式編碼、系統及網路管理等專業技術,廣義上又包含了企業管理、市場營銷、心理學、廣告學等更多領域的知識,在項目進行過程中還涉及到專案管理工具、文檔和設計開發管理規範、開發及測試環境部署等特殊領域的問題。這對參與專案管理的人員提出了很高的要求。
2)參與項目的角色很多,水平可能參差不齊。對於網站專案管理,最關鍵的角色是專案經理、商務程序分析師、使用者介面工程師、系統分析員、編碼人員(程式員)和品質控制工程師等。根據項目的規模和開發的深度,由專案經理進行角色劃分。假如嚴格細分,一個大型項目的角色可能達到50個以上,以確保每個細節都有專業的人員進行負責和管理。其中需求分析過程中主要角色有客戶代表、業務員、商務程序分析師、使用者介面工程師,另外還有專案經理、資料庫工程師、文檔工程師等參與。
3)網路應用的開發技術在日新月異地進步,從而使網站應用程式系統的開發模式具有多種選擇性,達到同樣的目標可以採用很多不同的方式,現代的應用系統越來越成為一個龐大的整合方案,需要考慮不同的操作平台、不同的應用伺服器、不同的資料庫、不同的程式設計語言、不同的傳輸介質等等,專案管理人員必須瞭解各種技術的利弊,協助使用者選擇高效、廉價並富有前瞻性的方案。
2 需求分析在網站專案管理中的作用及要求
需求分析是一個項目的開端,也是項目建設的基石。由於以上提出的網站項目的特殊性和行業覆蓋的廣闊性,以及需求分析的高風險性,網站項目需求分析的重要性是不言而喻的,在以往建設失敗的項目中,80%是由於需求分析的不明確而造成的。因此一個項目成功的關鍵因素之一,就是對需求分析的把握程度。
在需求分析流程中,需要有客戶代表、業務員、商務程序分析師、使用者介面工程師等角色參與,業務員從客戶代表那裡獲得需求,並形成需求報告;商務程序分析員從業務員那裡獲得需求報告,分析產生項目模型報告;介面工程師得到項目模型後設計製作相應的模板和使用者介面原型,最終由客戶代表確認。需求分析所形成的文檔最終達到如下要求。
1)正確性:每個功能必須清楚描寫交付的功能。
2)可行性:確保在當前的開發能力和系統內容下可以實現每個需求。
3)必要性:功能是否必須交付,是否可以延遲實現,是否可以在削減開支情況發生時被“砍”掉。
4)簡明性:不要使用專業的網路術語。
5)檢測性:如果開發完畢,客戶可以根據需求檢測。
3 網站項目需求分析的一般方法
根據以往的工程經驗,需求分析工作方法,應該定位在“三個階段”(也稱“三步法”)。
第一階段:“訪談式”。這一階段是和具體使用者方的領導層、業務層人員的訪談式溝通,主要目的是從宏觀上把握使用者的具體需求方向和趨勢,瞭解現有的組織架構、商務程序、硬體環境、軟體環境、現有的運行系統等等具體情況和客觀資訊,建立起良好的溝通渠道和方式。針對具體的職能部門以及各委辦局,最好能指定本次項目的介面人。
實現手段:訪談、調查表格。
輸出成果:調查報告、商務程序報告。
第二階段:“誘導式”。這一階段是在承建方已經瞭解了具體使用者方的組織架構、商務程序、硬體環境、軟體環境、現有的運行系統等等具體實際和客觀資訊的基礎上,結合現有的硬體、軟體實現方案,做出簡單的使用者流程頁面,同時結合以往的項目經驗對使用者採用誘導式、啟發學習法的調研方法和手段,和使用者一起探討商務程序設計的合理性、準確性,介面的便易性、習慣性。使用者可以操作簡單示範的DEMO,來感受一下整個商務程序的設計合理性、準確性等等問題,及時地提出改進意見和改進方法。
實現手段:拜訪(誘導)、原型示範。
輸出成果:調研分析報告、原型反饋報告、商務程序報告。
第三階段:“確認式”。這一階段是在上述兩個階段成果的基礎上,進行具體的流程細化、資料項目的確認階段,這個階段承建方必須提供原型系統和明確的商務程序報告、資料項目表,並能清晰地向使用者描述系統的業務流設計目標。使用者方可以通過審查報告來提出反饋意見,並對已經可接受的報告、文檔簽字確認。
實現手段:拜訪(回顧、確認),提交商務程序報告、資料項目表;原型示範系統。
輸出成果:需求分析報告、資料項目、商務程序報告、原型系統反饋意見(後三者可以統一歸入需求分析報告中,提交使用者方、監理方進行確認和存檔)。
整體來講,需求分析的三個階段是需求調研中不可忽視的一個重要部分,三個階段或者說三步法的實施和採用,對使用者和承建方都同樣提供了項目成功的保證。
4 網站項目需求分析的注意事項和技巧
項目的整體風險往往表現在需求分析不明確、商務程序不合理,導致使用者不習慣或不願意去用承建方的軟體。承建方和客戶方都要重視需求分析的重要性。為更好地把握使用者的需求和方向,應該採用必要的手段和方法來進行需求調研。
4.1 挖掘使用者需求
鼓勵使用者將所有的想法儘可能地闡述清楚,並把所有的要求羅列出來。這時候不必擔心引起客戶的潛在需求而增加設計開發的工作量,應直接明白地跟客戶把問題和要求一條條地列出來,把條理、歸納、分析先都放到一邊,將使用者最原始、最完整的要求準確地記錄下來。
很多情況下客戶並非專業人士,在他們的描述中很難凸現重點和技術難關,這需要我們去為客戶進行分析、歸納和整理,尤其是客戶談的不多卻又是技術上實現難度和強度很高的地方特別值得注意。客戶往往對需求的概念是非常模糊的,大多時候給出的需求都是籠統而且尺度難以控制的,這就要求業務人員在傾聽了客戶的詳細說明以後,協助客戶進行整理和分析,預測客戶在開發過程中變更及今後應用中可能進行修改升級的潛在需求。
比如在為客戶設計辦公自動化系統的時候,也許就要為客戶預留將來與他們的業務單位進行互動的通道;在設計郵件系統的時候要考慮可能會需要廣告管理伺服器;設計網路電子商店時需考慮今後增加庫存產品進銷存統計分析等等;限於時間和財力的考慮,客戶通常能夠接受分階段實施的開發過程,在需求分析時,提早為客戶設想到今後的需求變更除了使項目開發更加順利以外,也為今後業務的進一步深入打下了更好的基矗
4.2 利用自然的語言和圖表描述項目模型
在業務員與客戶進行溝通和調查時撰寫的需求分析,儘可能用自然語言或形式化語言來描述,還可以添加圖形表述方式和模型表徵方式。雖然客戶的水平和資曆有所不同,但是最自然的描述能夠使項目開發的各個成員都能清楚地理解需求含義,不至於在理解上產生偏差。對客戶而言,這樣的模型描述最接近真實,容易參與修訂,並能以此為測試和驗收的依據。製作可以有很多種方式,關鍵是利用將客戶的需求和即將開始設計的系統體現出來。在進行系統分析和程式開發之前,雙方對今後要完成的產品就能夠有直觀的認識,換言之,就是在產品還沒有真正進入開發階段的時候,雙方就對工作的結果達成統一的意見,這將大大地減輕需求變更所帶來的困擾,同時客戶更容易地參與到項目的開發過程中。
4.3 需求分析要共同參與各施其職
專案經理、系統分析員、開發經理、互動設計師、測試人員、文檔人員包括客戶代表都應該看需求分析,並進行共同討論,達成一致意見。參與項目開發的人員都應該對這份需求有統一清晰的認識,並根據自己的工作對需求提出意見,通過與客戶的溝通修訂,最終確定項目實現的目標。這樣可以盡量避免業務人員與開發人員、承建方和客戶方之間發生不必要的糾紛。
例如:專案經理通過需求分析才能組建所需要的團隊包括配置工作環境,制定開發週期;開發週期的限制和功能上的要求可能會影響到程式員採用什麼樣的語言和工具進行編寫;操作使用者的技能水平將影響到互動設計師進行前台設計時做到什麼樣的精度;介面設計人員根據項目的性質和定位確定表現方式;測試人員瞭解測試環境和條件後才能對項目品質進行跟蹤和檢測。
4.4 將需求變更置於可控狀態
需求的變更幾乎是不可避免的,也許是出自客戶的遺漏,也可能是在開發過程中被激發出來的。如何以可控的方式管理網站項目需求的變更,對於項目的順利進行有著重要的意義。如果匆匆忙忙地完成使用者調研與分析,則往往意味著不穩定的需求。所以需求管理要保證需求分析各個活動都得到了充分的執行。
為了將變更及時反饋到項目的各個角色中,做好需求變更日誌就顯得非常重要。在需求分析後面附上變更日誌,並將修改後的需求分析製作成新版本,保留每次更改過的版本,而不是覆蓋,這樣就比較容易地跟蹤到需求變更過程中所帶來的工作調整。在新版本的需求分析中,將變更部分用特殊方式表示出來,並在日誌中記錄變更明細。
4.5 評審需求文檔
需求文檔完成後,需要經過正式評審,以便作為下一階段工作的基矗一般的評審分為使用者評審和同行評審兩類。使用者和開發方對於軟體項目內容的描述,是以需求規格說明書作為基礎的;使用者驗收的標準則是依據需求規格說明書中的內容來制訂,所以評審需求文檔時使用者的意見是第一位的。而同行評審的目的,是在軟體項目初期發現那些潛在的缺陷或錯誤,避免這些錯誤和缺陷遺漏到項目的後續階段。
5 總結
隨著互連網的飛速發展,Web技術應用日益廣泛,網站的規模和複雜性不斷增加,網站項目的設計和開發進入了需要強調流程和分工的時代,軟體工程方法將越來越多地介入到網站項目的設計和開發中。建立規範的、有效、健壯的開發機制,特別是打好網站專案管理的基石,強化項目的需求分析,將有利於高效、高速、高品質地完成開發工作單位。