網(wǎng)站項(xiàng)目管理:是圍繞著網(wǎng)站項(xiàng)目運(yùn)用知識(shí)、技術(shù)、技能、工具和方法進(jìn)行組織管理。其共同特征是:
● 管理由人實(shí)現(xiàn),而非機(jī)器;
● 項(xiàng)目具有時(shí)間周期,包括啟動(dòng)時(shí)間和結(jié)束時(shí)間;
● 項(xiàng)目受資源限制,包括人員、資金、場地、設(shè)備等;
● 需要計(jì)劃、實(shí)施和控制。
以下是網(wǎng)站項(xiàng)目管理的幾個(gè)重要概念:
(1)角色:是指項(xiàng)目人員在管理過程中,在特定環(huán)境下參與設(shè)計(jì)的行為代表。 對于網(wǎng)站項(xiàng)目管理,最關(guān)鍵的角色是:項(xiàng)目經(jīng)理,業(yè)務(wù)流程分析師,用戶界面工程師,系統(tǒng)分析員,編碼人員(程序員),質(zhì)量控制工程師。根據(jù)項(xiàng)目的規(guī)模和開發(fā)的深度,由項(xiàng)目經(jīng)理進(jìn)行角色劃分。
(2) 流程:在項(xiàng)目過程中執(zhí)行的工作序列。 每個(gè)角色在流程中獲得和輸出相應(yīng)的工作結(jié)果。例如在需求分析流程中,需要有客戶代表、業(yè)務(wù)員、業(yè)務(wù)流程分析師、用戶界面工程師等角色參與,業(yè)務(wù)員從客戶代表那里獲得需求,并形成需求報(bào)告;業(yè)務(wù)流程分析員從業(yè)務(wù)員那里獲得需求報(bào)告,分析生成項(xiàng)目模型報(bào)告;界面工程師得到項(xiàng)目模型后設(shè)計(jì)制作相應(yīng)的模板和用戶界面原型,最終由客戶代表確認(rèn)。
(3)業(yè)務(wù)主角:指與系統(tǒng)交互的各種不同角色。不管面對多么復(fù)雜的網(wǎng)站項(xiàng)目,當(dāng)我們開始接手時(shí),都可以按照一定的規(guī)范和流程進(jìn)行展開。
網(wǎng)站項(xiàng)目涉及的領(lǐng)域很多,狹義地講包括了網(wǎng)頁制作、美工設(shè)計(jì)、程序編碼、系統(tǒng)及網(wǎng)絡(luò)管理等專業(yè)技術(shù),廣義上又包含了企業(yè)管理、市場營銷、心理學(xué)、廣告學(xué)等更多領(lǐng)域的知識(shí),在項(xiàng)目進(jìn)行過程中還涉及到項(xiàng)目管理工具、文檔和設(shè)計(jì)開發(fā)管理規(guī)范、開發(fā)及測試環(huán)境部署等特殊領(lǐng)域的問題,這對一個(gè)項(xiàng)目經(jīng)理和小組來說是個(gè)嚴(yán)峻的考驗(yàn)。
網(wǎng)站項(xiàng)目管理分成以下六個(gè)階段進(jìn)行: 在每個(gè)階段,都必須建立“里程碑”,代表當(dāng)前工作的階段性成果,并以此作為進(jìn)入下一階段的標(biāo)準(zhǔn),實(shí)現(xiàn)對項(xiàng)目質(zhì)量的控制和管理。
第一階段:需求分析及變更管理
項(xiàng)目本來是為滿足客戶需求目標(biāo)而進(jìn)行的,然而結(jié)果往往并非如此,因?yàn)椋骸翱蛻粢膊恢雷约旱男枨笫鞘裁?!”在所有不成功的案例中,這句話也許是我們聽的最多的。做好需求分析并建立變更管理機(jī)制是保證項(xiàng)目順利完成的原始基礎(chǔ)。
● 重要角色:項(xiàng)目經(jīng)理,業(yè)務(wù)員,客戶代表。
● 獲取文檔:通過與客戶的討論等各種渠道獲得需求。
● 里 程 碑:《需求分析報(bào)告》
● 注意事項(xiàng):
☆ 技術(shù)是為客戶服務(wù)的,采用對用戶最有效和經(jīng)濟(jì)的設(shè)計(jì)方法才是最好的,而非采用了最好的技術(shù)和配置就能設(shè)計(jì)出最好的方案。所謂最好的技術(shù)附帶的潛臺(tái)詞往往就是高昂的成本、漫長的開發(fā)周期和潛在的不穩(wěn)定,切忌將客戶當(dāng)作技術(shù)的試驗(yàn)田。
☆ 記住“需求是一定會(huì)變的”,同時(shí)不要害怕客戶提需求。如果因?yàn)楹ε驴匆姶笙蟮娜捕幻笙蟮耐?,怎么也不可能設(shè)計(jì)出客戶所需要的系統(tǒng)。
☆ 鎖定需求,學(xué)會(huì)放棄。對超出計(jì)劃和目標(biāo)的需求可以通過制定升級(jí)計(jì)劃或二期工程,從當(dāng)前的項(xiàng)目中轉(zhuǎn)移出去,否則系統(tǒng)可能永遠(yuǎn)都在設(shè)計(jì)開發(fā)中,不斷修改和增加,則始終沒有可以發(fā)布的版本。
☆ 《需求分析報(bào)告》應(yīng)得到客戶和全體項(xiàng)目小組的共同認(rèn)同,切忌公說公的理,婆說婆的理,只有所有成員都對目標(biāo)有清晰一致的認(rèn)知后,才能最大地提高工作效率。
● 技巧和方法:
☆ 仔細(xì)聆聽,羅列客戶的所有要求;
☆ 將需求進(jìn)行分析,確認(rèn)可操作的系統(tǒng)模型;
☆ 利用最自然的語言對系統(tǒng)進(jìn)行描述,使每個(gè)開發(fā)人員不會(huì)產(chǎn)生歧義;
☆ 迅速確定系統(tǒng)的業(yè)務(wù)主角;
☆ 分析確定每個(gè)角色的權(quán)限及可操作的功能;
☆ 制作流程圖和示意圖將需求表現(xiàn)出來;
☆ 讓客戶參與到示意圖的設(shè)計(jì)中,及時(shí)正確地反應(yīng)出需求變更;
☆ 制作需求變更日志,保留升級(jí)版本,通過版本控制進(jìn)行需求管理;
☆ 通過《需求分析報(bào)告》使每個(gè)參與人員看到共同的努力目標(biāo)。
在這個(gè)階段,我們通過需求分析對項(xiàng)目得到一個(gè)初步的認(rèn)識(shí),并通過編寫《需求分析報(bào)告》得到一份客觀的可參照的重要文檔,這是個(gè)很好的起點(diǎn)。
第二階段:項(xiàng)目模型及業(yè)務(wù)流程分析
我們需要業(yè)務(wù)流程分析人員將客戶需求分解和優(yōu)化,網(wǎng)絡(luò)技術(shù)的應(yīng)用所產(chǎn)生的電子流程工作方式既不能徹底更改傳統(tǒng)的工作流程,也不是對傳統(tǒng)工作流程的簡單復(fù)制,而是需要對傳統(tǒng)的工作流程進(jìn)行合理的優(yōu)化、改進(jìn)和重組。
業(yè)務(wù)流程分析員重點(diǎn)需要協(xié)助客戶將需求進(jìn)行歸納分析,查找出所有的業(yè)務(wù)主角,確定業(yè)務(wù)主角后,將每個(gè)主角的相關(guān)活動(dòng)及流程清晰地制定出來,最終設(shè)計(jì)出業(yè)務(wù)邏輯圖。
為了使用戶更好地理解系統(tǒng)設(shè)計(jì)方案,在時(shí)間條件許可的情況下,為系統(tǒng)制作用戶界面原型圖是非常有效的辦法。在尚未進(jìn)行開發(fā)之前,客戶就能對今后要完成的系統(tǒng)能夠直觀地看到效果,并能根據(jù)需要進(jìn)行調(diào)整,將大大提高項(xiàng)目成功的可能性,同時(shí)可減設(shè)計(jì)過程中的更改工作量。
● 重要角色:業(yè)務(wù)流程分析師,用戶界面工程師,系統(tǒng)分析師。
● 獲取文檔:《需求分析報(bào)告》。
● 里 程 碑:《項(xiàng)目模型報(bào)告》、《用戶界面原型》、《設(shè)計(jì)開發(fā)計(jì)劃書》。
● 注意事項(xiàng):
☆ 業(yè)務(wù)流程應(yīng)符合客戶偏好和習(xí)慣,以客戶的環(huán)境和技能水平設(shè)計(jì)系統(tǒng),切忌以項(xiàng)目小組的喜好隨意設(shè)計(jì); ☆ 請客戶和用戶模擬操作,找出盲點(diǎn)和分歧點(diǎn),問題越早發(fā)現(xiàn)越容易處理,損失越小;
☆ 制定性能和功能指標(biāo),作為下一階段測試工程師的工作依據(jù)??蛻魧δ艿男枨笙鄬碚f比較敏感和直觀,但是對性能的需求很難提出具體的要求,這就需要系統(tǒng)分析師在這個(gè)階段進(jìn)行明確,并作為系統(tǒng)設(shè)計(jì)的依據(jù)之一。
● 技巧方法:
☆ 真正以用戶為中心的設(shè)計(jì),到客戶的實(shí)際工作環(huán)境中觀察和記錄;
☆ 仔細(xì)查找各種業(yè)務(wù)主角,并描述不同主角的各種操作流程與步驟;
☆ 簡化需求,將客戶的需求歸納整理,抓住核心問題;
☆ 細(xì)化需求,針對核心問題,模擬用戶角色,進(jìn)一步確認(rèn)流程和規(guī)范;
☆ 認(rèn)真制定設(shè)計(jì)計(jì)劃書,為下階段的工作打好基礎(chǔ)。
在這個(gè)階段,我們將客戶的需求轉(zhuǎn)換成一個(gè)切實(shí)可行的設(shè)計(jì)方案,并為客戶重新進(jìn)行業(yè)務(wù)優(yōu)化和組合,定出項(xiàng)目目標(biāo)。
第三階段:系統(tǒng)分析及軟件建模
系統(tǒng)分析和建模是項(xiàng)目開發(fā)的核心工作,對于一個(gè)有經(jīng)驗(yàn)的開發(fā)人員來說,客戶的需求有很多方式可以實(shí)現(xiàn),但是不同的構(gòu)架對系統(tǒng)今后的維護(hù)、升級(jí)和擴(kuò)展具有天差地別的影響,一個(gè)不合理的結(jié)構(gòu)用不了多久就得完全拋棄,重新開發(fā)。系統(tǒng)分析決定系統(tǒng)開發(fā)的成敗,軟件建模使系統(tǒng)開發(fā)走向成熟。 客戶的需求一定會(huì)變,服務(wù)器和客戶端環(huán)境也不斷在變,考慮到不同的操作平臺(tái)、不同的應(yīng)用服務(wù)器、不同的數(shù)據(jù)庫、不同的編程語言、不同的傳輸介質(zhì)等等所帶來的影響,系統(tǒng)分析員面臨著艱難的選擇,任何人都不可能掌握甚至說精通全部的技術(shù),孰優(yōu)孰劣,何去何從?
“采用面向?qū)ο蟮拈_發(fā)模式并使用UML(統(tǒng)一建模語言)對系統(tǒng)建模!”網(wǎng)站即軟件,軟件開發(fā)方法同樣適用于網(wǎng)站項(xiàng)目開發(fā),這給系統(tǒng)分析員指出了方向。
建模并不等同于程序編碼,利用同樣的UML模型可以生成不同語言的框架代碼,而且可以通過反向生成,在編寫代碼過程中及時(shí)更新UML模型,這對系統(tǒng)分析員和項(xiàng)目管理人員來說是夢寐以求的。只要能夠仔細(xì)地把握客戶的需求,不斷改進(jìn)軟件模型,那么采用什么樣的語言開發(fā)已經(jīng)成了次要,大量的需求積累和分析工作能在客戶需求變化時(shí)得到高度的復(fù)用,即使系統(tǒng)采用新的語言重新開發(fā),需要的也僅僅是編碼部分的工作。
● 重要角色:系統(tǒng)分析師,構(gòu)架設(shè)計(jì)師,數(shù)據(jù)庫工程師,業(yè)務(wù)流程分析師。
● 獲取文檔:《需求分析報(bào)告》、《項(xiàng)目模型報(bào)告》、《用戶界面原型》、《設(shè)計(jì)開發(fā)計(jì)劃書》。
● 里 程 碑:《系統(tǒng)分析報(bào)告》、《設(shè)計(jì)及編碼規(guī)范》、《系統(tǒng)模型工件》。
● 注意事項(xiàng):
☆ 客戶比較關(guān)注的是功能實(shí)現(xiàn),但是不意味著客戶不在乎系統(tǒng)的性能,成功的項(xiàng)目開發(fā)不會(huì)僅僅為表面上達(dá)到客戶的需求而忽視系統(tǒng)的缺陷和瑕疵,網(wǎng)站項(xiàng)目同樣需要有”精品”意識(shí),樹立一個(gè)品牌將為自己贏得更多的機(jī)會(huì)和更豐厚的回報(bào)。
☆ 客戶的初期需求或許很簡單,但開發(fā)人員不能不為客戶潛在的巨大需求打下堅(jiān)實(shí)的基礎(chǔ)。
☆ 也許是因?yàn)轫?xiàng)目周期過短、開發(fā)人員技能達(dá)不到等因素,在小型項(xiàng)目開發(fā)中難以采用進(jìn)行規(guī)范的系統(tǒng)分析設(shè)計(jì)和建模,此時(shí),應(yīng)盡可能采用模塊化設(shè)計(jì)、爭取代碼最大限度的復(fù)用。
● 技巧方法:
☆ 補(bǔ)充完善上一階段可能欠缺的系統(tǒng)性能需求;
☆ 系統(tǒng)分析員需要站在全局出發(fā),設(shè)計(jì)合理可行的系統(tǒng)方案;
☆ 在需求不明的情況下設(shè)計(jì)多種解決方案,供客戶選擇;
☆ 使用UML建模方式,將客戶變化的需求映射到模型中,大大提高系統(tǒng)的擴(kuò)展性和開發(fā)效率。
第四階段:界面設(shè)計(jì)、交互設(shè)計(jì)及程序開發(fā)
在網(wǎng)站項(xiàng)目開發(fā)過程中,這個(gè)階段也叫做構(gòu)建階段,是工作量最大、最艱苦、最難以控制的階段。
● 美工設(shè)計(jì)師在根據(jù)用戶界面原型進(jìn)行美工設(shè)計(jì),準(zhǔn)確地將系統(tǒng)的形象進(jìn)行定位;
● 交互設(shè)計(jì)師將美工的作品根據(jù)業(yè)務(wù)流程進(jìn)行網(wǎng)頁的編輯,為用戶體貼地設(shè)計(jì)著交互程序;
● 程序員根據(jù)系統(tǒng)分析員分配的模塊編寫代碼,一行行代碼將系統(tǒng)澆注起來,一個(gè)個(gè)模塊開始活起來;
● 測試工程師不斷地檢驗(yàn)著每個(gè)人的工作,單元測試、集成測試、負(fù)荷測試;
● 文檔工程師開始收集、管理各種開發(fā)文檔,每天檢查更新記錄和隨時(shí)保證重要文檔處于最新版本;
● 系統(tǒng)管理員為每個(gè)開發(fā)人員部署開發(fā)環(huán)境,并保證著最佳的工作狀態(tài)。
系統(tǒng)構(gòu)建階段,控制開發(fā)質(zhì)量,保證進(jìn)度是項(xiàng)目經(jīng)理最關(guān)注的焦點(diǎn),通過合理地分配資源和任務(wù)、建立小組成員間的有效溝通和采用相關(guān)管理軟件控制能夠有效地提高開發(fā)質(zhì)量和進(jìn)度。
● 重要角色:美工分析師、交互設(shè)計(jì)師、程序員、測試工程師、文檔工程師。
● 獲取文檔:《需求分析報(bào)告》、《項(xiàng)目模型報(bào)告》、《用戶界面原型》、《設(shè)計(jì)開發(fā)計(jì)劃書》、《系統(tǒng)分析報(bào)告》、《設(shè)計(jì)及編碼規(guī)范》、《系統(tǒng)模型工件》。
● 里 程 碑:《程序模塊》、《開發(fā)文檔》、《按客戶需求開發(fā)完成的系統(tǒng)》。
● 注意事項(xiàng):
☆項(xiàng)目管理人員要保障小組成員之間有效地溝通和協(xié)作。
☆ 測試是保證質(zhì)量最直接最有效的方式,只有不斷地測試、測試、再測試,才能使系統(tǒng)達(dá)到滿意的質(zhì)量。把BUG消除在萌芽狀態(tài)是最理想的,系統(tǒng)構(gòu)建進(jìn)度最快的時(shí)候通常就是BUG產(chǎn)生最多的時(shí)候,只有進(jìn)行反復(fù)交叉的測試才能確保質(zhì)量。
☆ 交互設(shè)計(jì)師是系統(tǒng)和用戶之間的橋梁,真正從用戶的方便和習(xí)慣上下功夫,無論是一個(gè)彈出窗口還是站點(diǎn)的導(dǎo)航設(shè)計(jì),甚至意外出錯(cuò)的提示等等,都需要精心設(shè)計(jì),反復(fù)雕琢。交互設(shè)計(jì)如果能解除新用戶對系統(tǒng)的恐懼,將會(huì)贏得意想不到的奇效。
☆ 程序員在編碼過程中需要和系統(tǒng)分析員保持密切的協(xié)作和溝通,在規(guī)范的系統(tǒng)開發(fā)過程中,隨意的個(gè)性化 ● 技巧方法:
☆ 利用項(xiàng)目管理工具對項(xiàng)目進(jìn)行管理,無論是Project還是Starteam,或是其他工具都行;
☆ 建立文檔管理規(guī)范,采用相應(yīng)的文檔管理工具對版本進(jìn)行控制,PVCS或VSS都是可選擇的工具;
☆ 創(chuàng)建團(tuán)隊(duì)的溝通環(huán)境和渠道,利用郵件或者論壇,開會(huì)或者遞紙條,一切有利于交流的方式都可以,以保證協(xié)作成員之間迅速繞過障礙,奔向目標(biāo),人力資源經(jīng)理的忠告是:溝通是提高團(tuán)隊(duì)凝聚力最有效的辦法; ☆ 建立BUG匯報(bào)及處理系統(tǒng)。只要是軟件,就一定有BUG,雖然這是個(gè)灰色笑話,但捕捉和消滅BUG是開發(fā)人員的天生義務(wù),建立BUG管理系統(tǒng)可以爭取使同樣的錯(cuò)誤不再犯第二次,當(dāng)系統(tǒng)日漸完善的時(shí)候,那長長的BUG消滅清單就像工程師們的累累戰(zhàn)果。
系統(tǒng)的全貌終于露了出來,客戶的心這時(shí)候總算踏實(shí)了些。不過這時(shí)候可不是結(jié)束的時(shí)候,在軟件開發(fā)過程中,剩下的10%工作量都可能會(huì)拖延占用項(xiàng)目的90%時(shí)間。
第五階段:系統(tǒng)測試、部署和文檔編寫
● 測試工程師根據(jù)《系統(tǒng)分析報(bào)告》和《項(xiàng)目模型報(bào)告》模擬測試環(huán)境,按照測試指標(biāo)對系統(tǒng)的功能和性能進(jìn)行全面的測試,編寫測試報(bào)告,并通知項(xiàng)目成員進(jìn)行修正。
● 部署工程師會(huì)同客戶代表進(jìn)行安排配置和調(diào)試,直至正式發(fā)布啟用。
● 文檔工程師撰寫各種文檔,包括系統(tǒng)白皮書,用戶使用手冊,管理員手冊,客戶培訓(xùn)文檔,用戶幫助等等,并總結(jié)設(shè)計(jì)和開發(fā)文檔,進(jìn)行項(xiàng)目總結(jié)。 項(xiàng)目小組協(xié)助客戶快速部署并提供相應(yīng)文檔,不但能為售后服務(wù)節(jié)省大量精力和成本,同時(shí)能夠大幅度提高客戶滿意度。
● 重要角色:測試工程師、文檔工程師、部署工程師、客戶代表。
● 獲取文檔:《需求分析報(bào)告》、《項(xiàng)目模型報(bào)告》、《用戶界面原型》、《設(shè)計(jì)開發(fā)計(jì)劃書》、《系統(tǒng)分析報(bào)告》。
● 里 程 碑:《測試報(bào)告》、《技術(shù)白皮書》、《用戶使用手冊》、《客戶培訓(xùn)文檔》、《用戶幫助》。
● 注意事項(xiàng):
☆ 測試不單包括功能測試,特別需要注意到性能測試和兼容性測試,應(yīng)盡可能創(chuàng)建不同的模擬環(huán)境,取得完整的測試數(shù)據(jù),針對測試結(jié)果對系統(tǒng)進(jìn)行改進(jìn)。
☆ 開發(fā)環(huán)境和部署環(huán)境不同造成實(shí)施過程出現(xiàn)“意外”一點(diǎn)也不意外,只有到客戶能夠良好地駕馭系統(tǒng)才算達(dá)成目標(biāo)。
☆ 對照前兩個(gè)階段所做的《需求分析報(bào)告》和《項(xiàng)目模型報(bào)告》,檢查目標(biāo)是否都已經(jīng)實(shí)現(xiàn)了?
● 技巧方法:
☆ 根據(jù)系統(tǒng)的特性,采用專用測試軟件或編寫測試工具,有助于提高測試的效率、準(zhǔn)確性和完整性。
☆ 選擇對系統(tǒng)完全陌生的典型用戶模擬操作,能夠發(fā)現(xiàn)大量系統(tǒng)缺陷。
☆ 無論是網(wǎng)頁模板還是程序模塊,養(yǎng)成在源代碼中寫注釋的良好習(xí)慣,對開發(fā)過程中任務(wù)交接、糾錯(cuò)或今后二次開發(fā)都非常重要。
☆ 交給客戶的文檔越規(guī)范詳盡,后期的成本越節(jié)省。
第六階段:客戶培訓(xùn)、技術(shù)支持和售后服務(wù)
開發(fā)一個(gè)老客戶的成本遠(yuǎn)遠(yuǎn)低于拓展一個(gè)新客戶,網(wǎng)站項(xiàng)目作為一個(gè)特殊產(chǎn)品,對客戶的培訓(xùn)及技術(shù)支持尤其重要,而對于客戶來說,一旦失去了技術(shù)保障,系統(tǒng)出現(xiàn)問題或需要擴(kuò)展和升級(jí)的時(shí)候,將面臨著怎樣的困境?! 因此,為客戶建立售后支持快速反應(yīng)體系,不但可能會(huì)贏得更多的業(yè)務(wù),也能消除客戶的后顧之憂慮。至于客服支持的費(fèi)用,總能找到雙方可接受的條件。
● 重要角色:培訓(xùn)工程師、客戶支持工程師、業(yè)務(wù)員。
● 獲取文檔:《需求分析報(bào)告》、《測試報(bào)告》、《技術(shù)白皮書》、《用戶使用手冊》、《客戶培訓(xùn)文檔》、《用戶幫助》。
● 里 程 碑:《培訓(xùn)手冊》、《客戶服務(wù)記錄》。
● 注意事項(xiàng):
☆ 客戶培訓(xùn)不僅僅是本期項(xiàng)目的一個(gè)終點(diǎn),同時(shí)也是開啟新項(xiàng)目的最好契機(jī),認(rèn)真做好培訓(xùn)文檔,把接力棒順利交接過去,今后會(huì)受益無窮。
☆ 技術(shù)支持和服務(wù)是網(wǎng)站項(xiàng)目非常重要的環(huán)節(jié),它保持雙方的聯(lián)系和業(yè)務(wù)往來,合理控制服務(wù)成本,可以增加客戶的忠誠度。
● 技巧方法:
☆ 電話、郵件、網(wǎng)站都是建立客戶支持的良好手段,將相應(yīng)文檔發(fā)布在網(wǎng)站上對客戶來說有時(shí)更加方便。
☆ 可按照客戶情況的緊急度確定客戶支持的反應(yīng)時(shí)間和方式,使客戶支持工作更有效率。
☆ 建立客戶服務(wù)紀(jì)錄,跟蹤客戶運(yùn)行狀況和變更記錄,為下次的合作建立密切的聯(lián)系。
對網(wǎng)站項(xiàng)目來說,存在著各種各樣的問題,我們可以將網(wǎng)站項(xiàng)目分階段、分角色進(jìn)行有效地組織和管理,從而完成網(wǎng)站項(xiàng)目的要求。