Java互聯(lián)網(wǎng)架構(gòu)-項目流程管理(總結(jié))
項目開發(fā)規(guī)范
整個項目執(zhí)行有幾個大的階段炕檩,產(chǎn)品設(shè)計階段、開發(fā)階段煤惩、測試階段、上線炼邀。產(chǎn)品設(shè)計階段的推進工作由產(chǎn)品經(jīng)理負責(zé)魄揉,開發(fā)階段和測試階段和上線階段主要由開發(fā)負責(zé)人負責(zé)推進,本文主要介紹了開發(fā)負責(zé)人(以下簡稱項目經(jīng)理)在項目執(zhí)行過程中的主要職責(zé)和執(zhí)行規(guī)范拭宁,目的是讓我們能夠高質(zhì)量高效率完成項目開發(fā)工作洛退。
產(chǎn)品設(shè)計階段的最后會進入開發(fā)階段,進入開發(fā)階段之前有兩個重要的會議"需求討論會"和"需求講解會"項目經(jīng)理從"需求討論會"開始全面接入項目執(zhí)行杰标。"需求講解會"結(jié)束后表示項目經(jīng)理已經(jīng)正式接收項目不狮,后面的工作全部由項目經(jīng)理完成。項目經(jīng)理要對項目執(zhí)行的時間在旱、質(zhì)量負責(zé)摇零。
需求討論階段
需求討論階段由產(chǎn)品經(jīng)理負責(zé)推進,但這一階段項目經(jīng)理也是主要參與者之一桶蝎,項目經(jīng)理的工作能夠有效推進需求討論進程驻仅。
明確項目經(jīng)理
各端負責(zé)人(組長)了解需求后第一時間指定一位項目經(jīng)理。
主要產(chǎn)出物:組長要發(fā)一封郵件登渣,給產(chǎn)品經(jīng)理噪服,并抄送相應(yīng)的產(chǎn)品總監(jiān)、技術(shù)總監(jiān)胜茧、測試負責(zé)人和項目主要參與者粘优。(主題:**項目負責(zé)人仇味。內(nèi)容:**項目由**負責(zé)開發(fā)跟進。)從這封郵件開始項目經(jīng)理就全面參與這個項目的推進雹顺。
需求理解
項目經(jīng)理要充分理解需求的上下文和目標(biāo)丹墨,在需求討論階段能和產(chǎn)品經(jīng)理保持密切的溝通,當(dāng)技術(shù)和需求發(fā)生沖突時也可以有效提供解決方案嬉愧。
需求分析
分析需求的可行性贩挣,以及存在的風(fēng)險,能夠幫助產(chǎn)品經(jīng)理找到考慮不周的需求點没酣,同時和相關(guān)技術(shù)討論王财,保證后期需求能順利執(zhí)行,在發(fā)現(xiàn)問題時及時組織相關(guān)人員討論裕便。下面總結(jié)一下需求分析階段的問題和解決辦法绒净。
1 產(chǎn)品對某個功能點考慮不周---產(chǎn)品經(jīng)理繼續(xù)完善需求。
2 某個功能點技術(shù)實現(xiàn)成本比較高---權(quán)衡需求的性價比和產(chǎn)品需求討論偿衰,討論無結(jié)果的可以找相應(yīng)領(lǐng)導(dǎo)確認挂疆。
3 某個功能點技術(shù)無法實現(xiàn)---和產(chǎn)品經(jīng)理討論其他解決方案。
4 因為技術(shù)改動可能牽涉到其他產(chǎn)品的---請產(chǎn)品經(jīng)理和其他端產(chǎn)品負責(zé)人協(xié)商哎垦。
需求接收
需求講解完成后表示項目經(jīng)理正式接收需求。此時主要輸出物:需求預(yù)計開發(fā)工作日∈逊瑁現(xiàn)在還不能給出具體上線日期漏设,但項目經(jīng)理可以根據(jù)項目情況給出這個項目開發(fā)大概需要多少工作日。
需求開發(fā)階段
從這個階段開始以后的工作全部由項目經(jīng)理協(xié)調(diào)完成今妄。
接收PSD
產(chǎn)品經(jīng)理將確認好的PSD郵件形式交給項目經(jīng)理郑口。
確定上線日期
項目經(jīng)理收到PSD后要根據(jù)各方面資源情況確定上線日期。并通過郵件發(fā)送給產(chǎn)品經(jīng)理并抄送相應(yīng)的產(chǎn)品和技術(shù)總監(jiān)以及所有參與者盾鳞。個別項目PSD較多犬性,可能會分批提供,項目經(jīng)理可以根據(jù)情況決定是否確定上線日期腾仅,通常只要第一批PSD已經(jīng)提供能夠保證開發(fā)開始工作乒裆,同事后面幾批的PSD時間也確定就可以確定上線日期。但在后面執(zhí)行過程中如果PSD沒有按時提供推励,或者PSD發(fā)生變更鹤耍,項目經(jīng)理可以根據(jù)情況變更上線日期。因技術(shù)內(nèi)部原因引起的上線日期變更視為延期验辞。
主要產(chǎn)出物:上線日期的郵件(主題:**項目上線日期稿黄。內(nèi)容如:*項目暫定于**日上線)
需求設(shè)計
需求設(shè)計階段要做大量細致工作包括:
需求充分理解,把握跌造,提前將需求的合理性和完整性討論清楚杆怕,減少設(shè)計評審討論需求的時間。
詳細查看PRD文檔分析細節(jié)。
功能實現(xiàn)寫入思維導(dǎo)圖陵珍。
和相關(guān)負責(zé)人討論數(shù)據(jù)設(shè)計寝杖。
和其他端確定功能實現(xiàn)思路。
有疑問的點也寫在思維導(dǎo)圖中撑教,供設(shè)計評審時討論朝墩。
和其他端討論接口
明確和其他端的接口輸入輸出參數(shù),包括平臺伟姐、前端收苏。
設(shè)計評審
輸入內(nèi)容:
數(shù)據(jù)庫設(shè)計,包括表名愤兵、字段(類型鹿霸、長度)、索引(唯一索引秆乳、聯(lián)合索引)以及所有涉及到的SQL語句。
思維套圖(推薦XMind)屹堰,包括改動和涉及的所有功能點肛冶,改動方案,疑問扯键。通過思維導(dǎo)圖要實現(xiàn)偽代碼編寫睦袖,因此思維導(dǎo)圖要盡量全面。
接口說明和輸入輸出參數(shù)荣刑。
輸出內(nèi)容:修改后的思維導(dǎo)圖和數(shù)據(jù)庫sql和接口功能描述馅笙。
思維導(dǎo)圖例子:
偽代碼評審
偽代碼評審主要查看代碼結(jié)構(gòu)和具體的實現(xiàn)思路是否合理。評審內(nèi)容主要有:
包路徑厉亏、類路徑及命名董习、URL命名及路徑、方法的參數(shù)返回值及命名爱只、方法拆分及實現(xiàn)思路皿淋、緩存結(jié)構(gòu)內(nèi)容和Key的命名。
準(zhǔn)備工作
開發(fā)負責(zé)人安排編寫偽代碼恬试,根據(jù)實際情況可以由一人或多人編寫沥匈。
開發(fā)負責(zé)人審核并匯總偽代碼。在這過程中開發(fā)負責(zé)人要和TU負責(zé)人確認代碼是否合理忘渔,并根據(jù)業(yè)務(wù)情況分析實現(xiàn)思路是否合理高帖。
評審步驟
查看思維導(dǎo)圖中的功能點或功能模塊,配合原型做簡單介紹畦粮。
按以下順序介紹偽代碼:web端controler -> web端service -> client -> 平臺端controler -> 平臺端service(重點)
偽代碼編寫規(guī)范及樣例
規(guī)范:
偽代碼中要明確所有類路徑散址、方法備注乖阵、方法返回值、方法名稱预麸。(重點)
盡量保證偽代碼沒有編譯錯誤
簡單方法的方法體可以為空或者直接return null瞪浸;
偽代碼中的方法個數(shù)和方法聲明和開發(fā)運行階段的一樣。
調(diào)用其他方法或平臺時參數(shù)要寫正確
除反映調(diào)用關(guān)系的代碼吏祸,不用寫任何具體實現(xiàn)代碼对蒲。
如下:
Client樣例:
組織開發(fā)
協(xié)調(diào)各方資源組織開發(fā),開發(fā)過程中遇到任何影響質(zhì)量或者時間的問題及時解決贡翘,無法解決的及時找相關(guān)負責(zé)人開會討論蹈矮。
數(shù)據(jù)移植
開發(fā)結(jié)尾如果有數(shù)據(jù)移植操作要在code review之前寫數(shù)據(jù)移植程序,這樣可以在codereview 的時候也review數(shù)據(jù)移植程序鸣驱,同時測試階段也可以測試數(shù)據(jù)移植的正確性泛鸟。數(shù)據(jù)移植注意事項:
數(shù)據(jù)移植程序盡量保證可重復(fù)運行,不能重復(fù)執(zhí)行的移植程序一定要和數(shù)據(jù)庫管理員踊东、其他負責(zé)人討論北滥。
字段刪除、變更都用加字段闸翅、去entity屬性的方式實現(xiàn)再芋。線上運行穩(wěn)定后再進行刪字段操作。
保證移植程序的執(zhí)行效率坚冀,在線上應(yīng)該在1小時以內(nèi)完成济赎,數(shù)據(jù)量非常大的移植要選擇可重復(fù)執(zhí)行的增量方式。
對于不可逆的數(shù)據(jù)移植要做好備份操作遗菠,特殊情況一定要討論联喘。
在線下做好數(shù)據(jù)移植程序的測試工作华蜒,盡量使用真實數(shù)據(jù)進行測試辙纬。
所有數(shù)據(jù)移植程序都要經(jīng)過組長review,執(zhí)行過程由組長發(fā)給數(shù)據(jù)庫管理員叭喜,數(shù)據(jù)庫管理員暫不接收除組長外其他任何人的數(shù)據(jù)移植程序贺拣。
code review
此時所有編碼工作都應(yīng)該完成,功能也是完整的捂蕴,review 代碼是否符合規(guī)范譬涡,是否有明顯的性能問題,是否有邏輯考慮不全的地方啥辨。如果此時有大的代碼結(jié)構(gòu)調(diào)整(增加涡匀、拆分、合并很多方法或者類)就說明偽代碼評審的力度不夠溉知。
功能review
項目經(jīng)理一定在提測之前自己將功能運行一遍陨瘩,保證沒有明顯的bug腕够。同時也可以請產(chǎn)品經(jīng)理試用開發(fā)完成的需求。發(fā)現(xiàn)問題及時修正舌劳。
性能壓力測試
項目經(jīng)理根據(jù)項目可以選擇性進行性能或者壓力測試帚湘。根據(jù)情況可以選擇以下方式:
使用功能,看響應(yīng)時間是否有問題(這種情況通常發(fā)生在我們調(diào)用單個接口很快甚淡,但一個操作同時調(diào)用了多個接口)大诸,查看開發(fā)階段是否有數(shù)據(jù)庫慢日志。
通過QA部門提供的壓力測試工具對特殊功能進行壓力測試贯卦,看是否符合標(biāo)準(zhǔn)资柔。接口響應(yīng)標(biāo)準(zhǔn):
100<QPS <=N, Time:<5ms
20 <QPS <=100脸侥,Time:<10ms
10 <QPS <=20建邓, Time:<20ms
5 <QPS <=10, Time:<50ms
0 <QPS <=5睁枕, Time:<100ms
特殊接口:不要超過1s
項目執(zhí)行中期碰頭會
對于歷時比較長的項目項目經(jīng)理可以考慮在項目執(zhí)行中期召開項目碰頭會官边,將項目參與者所有問題匯總,評估風(fēng)險外遇。
測試階段
測試階段主要由測試負責(zé)人安排測試注簿,但這階段項目經(jīng)理也要負責(zé)主要推進工作,項目經(jīng)理應(yīng)該和測試負責(zé)人保持密切溝通跳仿,發(fā)現(xiàn)問題解釋解決诡渴。主要關(guān)注:
影響測試進度的問題。
主要業(yè)務(wù)功能菲语、流程是否能順利測試妄辩。
根據(jù)測試bug情況評估風(fēng)險。
邀請產(chǎn)品經(jīng)理確認
我們可以在開發(fā)階段山上、測試階段和上58階段邀請產(chǎn)品經(jīng)理對功能進行確認眼耀。這三個階段中最重要的產(chǎn)品需求確認是測試階段,項目經(jīng)理可以選擇第一輪測試結(jié)束后找產(chǎn)品經(jīng)理確認佩憾,這樣能保證產(chǎn)品經(jīng)理看到所有的功能哮伟。一定要注意:
產(chǎn)品經(jīng)理必須對所有功能進行全面確認。
項目經(jīng)理要保證所有的功能都能正常運行妄帘,保證產(chǎn)品經(jīng)理體驗到最真實連貫的效果楞黄。
提醒產(chǎn)品經(jīng)理體驗時盡量多錄入數(shù)據(jù),更貼近線上數(shù)據(jù)抡驼,避免因數(shù)據(jù)量大引起的樣式或者美觀問題鬼廓。
確認過程中,項目經(jīng)理對小的調(diào)整可以直接處理致盟,影響項目上線的調(diào)整要組織相關(guān)人員討論碎税。
測試環(huán)境確認后柏副,在58或者線上仍需調(diào)整的需求,需要記錄并整理到項目總結(jié)中蚣录。
通知BI數(shù)據(jù)庫變動
對于一些數(shù)據(jù)庫結(jié)構(gòu)的變更一定要郵件形式通知BI割择。
主要輸出物:郵件.發(fā)送給xxoo@xxoo.com 主題:數(shù)據(jù)庫變動---**項目。內(nèi)容:*庫變動sql 萎河。
預(yù)計上線日期:*月*日
推進測試進度
及時發(fā)現(xiàn)測試中的問題荔泳,保證測試工作順利執(zhí)行。
觀察日志
通過觀察日志可以發(fā)現(xiàn)一些隱藏的bug或者慢查詢虐杯,而QA通常不能及時發(fā)現(xiàn)這些問題玛歌,因此項目經(jīng)理要在測試環(huán)境觀察日志,避免潛在風(fēng)險擎椰。
58測試
58測試過程最重要一點是要保證數(shù)據(jù)移植程序的正確性支子。參見數(shù)據(jù)移植節(jié)點。
上線階段
觀察線上日志
查看線上日志达舒、cat值朋、opm、意見反饋中是否有問題巩搏,發(fā)現(xiàn)問題及時解決昨登。
主要產(chǎn)出物:郵件。主題:****項目 線上日志贯底。內(nèi)容:將問題和解決日期描述清楚丰辣。
項目總結(jié)
根據(jù)情況可以選擇兩種方式對項目進行總結(jié)。
主要輸出物品:
項目總結(jié)會:對于項目問題較多禽捆、比較大的情況笙什。輸出會議紀要發(fā)給項目所有參與者和產(chǎn)品、技術(shù)總監(jiān)胚想。
項目總結(jié)郵件:主題:***項目總結(jié) 內(nèi)容:將問題和對問題的分析和解決辦法描述清楚琐凭。也可以寫未發(fā)現(xiàn)明顯問題。
總結(jié)
以上是對項目流程管理總結(jié)顿仇,分享給大家淘正,希望大家可以了解什么是項目流程管理摆马。覺得收獲的話可以點個關(guān)注收藏轉(zhuǎn)發(fā)一波喔臼闻,謝謝大佬們支持。(吹一波囤采,233~~)