項目管理的要旨:假設(shè)每個環(huán)節(jié)一定會出問題,提前準(zhǔn)備,慎重行動。
所以,你需要知道:
1、軟件開發(fā)項目的整個流程有哪些環(huán)節(jié) ?
2、這些環(huán)節(jié)可能會出什么樣的問題?
3、有哪些可選的預(yù)案?
4、這些預(yù)案應(yīng)該在什么時候啟動?
產(chǎn)品開發(fā)項目管理4個階段:出需求→啟動→開發(fā)→上線。下面將按照這4個階段來梳理各階段的項目管理要點。
出需求
可能出現(xiàn)的問題:
1、花很多時間做的需求,在需求評審會上唄開發(fā)團隊拍回來
2、開發(fā)團隊沒有參與過整個需求的思考過程,無法跟上你的思路。對場景和目標(biāo)理解有誤,導(dǎo)致你認為是理所當(dāng)然的事情,但是開發(fā)團隊不理解
3、需求中含有大量的按規(guī)則和前導(dǎo)知識,給開發(fā)團隊埋下無數(shù)的坑
4、你深知需求中有很多不確定、不統(tǒng)一的意見,但是沒有告知項目關(guān)鍵人。沒有提前考慮任何可能的變化
要
1、提前溝通:出原型之前找項目負責(zé)人或架構(gòu)師聊一聊你的想法和粗略的需求
2、告訴項目負責(zé)人或架構(gòu)師,你的問題是什么,讓他們來提供解決方案
3、講述業(yè)務(wù)價值,明確項目或需求的意義。一定要講解典型的業(yè)務(wù)場景
4、把不統(tǒng)一的意見也告訴項目負責(zé)人或架構(gòu)師,提前打預(yù)防針
不要
1、需求評審之前沒有人知道你要做什么、大概想怎么做
2、只告訴項目負責(zé)人或架構(gòu)師你的解決方案是什么
3、項目開始之后,告訴大家,這個功能其實在XXX那邊還有分歧
警惕
1、你完全不知道項目的關(guān)鍵角色是哪些人(項目負責(zé)人/架構(gòu)師/QA)
2、項目負責(zé)人只關(guān)心你要的feature,不關(guān)心問題和場景
3、開發(fā)團隊告訴你,以前就這么做過/考慮過,后來沒有做,但原因現(xiàn)在未知
項目啟動
可能出現(xiàn)的問題:
1、業(yè)務(wù)分析做的不夠好,導(dǎo)致無法估算工作量或者需求做漏
2、拆卡不合理,對測試不友好。導(dǎo)致大家都說不清楚一張卡是否開發(fā)完成了
3、拆卡不合理,項目帶寬太小,加人加不進去
4、技術(shù)架構(gòu)沒有經(jīng)過review,導(dǎo)致后期上線不順利
5、開發(fā)環(huán)境和測試環(huán)境沒有提前準(zhǔn)備好,導(dǎo)致后期不斷花時間搞環(huán)境
6、與設(shè)計師銜接出現(xiàn)問題,常見表現(xiàn)在:RD等設(shè)計圖、設(shè)計圖與產(chǎn)品原型不一致
7、集成店準(zhǔn)備不足,導(dǎo)致團隊要等其他項目(或其他團隊)準(zhǔn)備聯(lián)調(diào)的接口
8、沒有引入QA,QA對業(yè)務(wù)、拆卡、開發(fā)進度了解太少,或者來不及給出測試用例,開發(fā)不知道怎么算是達到質(zhì)量標(biāo)準(zhǔn)
9、為評估人員風(fēng)險,項目啟動后才發(fā)現(xiàn)有人需要休假,或者有人員還需要培訓(xùn)
10、沒有交互計劃,QA不知道什么時候應(yīng)該測試什么。導(dǎo)致QA工作無法與RD并行,項目開發(fā)完成后花大量的時間測試
要
1、第一時間引入BA、QA、架構(gòu)師、設(shè)計師。要求BA參與拆卡、QA準(zhǔn)備測試用例、架構(gòu)師負責(zé)出技術(shù)方案(架構(gòu)方案+部署方案)
2、檢查拆卡是否完成、是否合理、是否充分
3、與BA、QA共同制定開發(fā)的優(yōu)先級和順序,需要設(shè)計師按照時間點出圖、QA按照時間點測試
4、要求QA開始準(zhǔn)備測試用并告知開發(fā),保證卡片+測試用例就是完整的完成標(biāo)準(zhǔn)
5、要求架構(gòu)師列出系統(tǒng)集成點,提前預(yù)約集成測試
6、明確團隊的休假計劃
7、問問項目中的每個人:你是否已經(jīng)非常清楚地知道你的職責(zé)、目標(biāo)和接下來兩天要做什么?
8、建立項目看板(worktile+物理墻),明確完成時間
不要
1、對著太大、太模糊的需求評估時間。一定不準(zhǔn)確
2、只列舉要開發(fā)的功能,為明確列出具體的時間和完成標(biāo)準(zhǔn)
3、人員角色重疊,但并不完全明確每個人的職責(zé)
警惕
1、完全不了解團隊成員,不知道誰偏樂觀、誰偏謹慎。需要向可信任的同事求證
2、團隊告訴你這個項目很簡單,不用太考慮架構(gòu)和部署
3、團隊沒有明確的技術(shù)責(zé)任人,環(huán)境和技術(shù)上出了問題不知道該找誰
4、項目的關(guān)鍵人員有太多項目外的并行任務(wù),對此保持謹慎且開放的態(tài)度
5、團隊告訴你,某個工作有誰+誰+誰共同負責(zé)。這將意味著沒有人負責(zé)
6、出現(xiàn)一些任務(wù),你根本無法認定它是否被完成了
開發(fā)
可能出現(xiàn)的問題
1、開卡太草率,沒有明確完成標(biāo)準(zhǔn)。不停返工
2、完成質(zhì)量太低,提測的功能完全不達標(biāo),導(dǎo)致團隊辛苦但是沒有成效
3、不停調(diào)整架構(gòu)和技術(shù),不停倒騰代碼,但是沒有產(chǎn)出
4、沒有人知道現(xiàn)在的進度是提前還是落后,沒有人能判斷局面
5、前期QA沒有事情做,后期QA忙成狗
6、測試環(huán)境不斷被干擾,大量時間用來搞環(huán)境
7、士氣低落、相互抱怨,對目標(biāo)失去信心
8、項目帶寬不足,即使家人都無法加速
9、項目出現(xiàn)單點,少部分人忙成狗,大部分人在等待依賴項
要
1、迭代!迭代!迭代!要求大家按照順序來做卡,盡量保證每張卡片做完了都能驗證,做完一張測一張,把QA的工作攤開,避免開發(fā)完成后一次性提交測試
2、每天早上晨會,每個人都參與發(fā)言。講一講昨天的任務(wù)是否完成,遇到什么問題,需要什么協(xié)助。項目經(jīng)理要告訴大家現(xiàn)在的進度如何,是否延遲。一定要表揚按時完成任務(wù)的同事,給沒有按時完成的人足夠的壓力
3、利用榮譽新和羞恥心來驅(qū)動團隊
4、每隔幾天找架構(gòu)師聊一聊,問他是否清楚地知道項目目前的架構(gòu)、部署存在哪些問題和風(fēng)險
5、每隔幾天找需求方聊一聊,告訴他們目前的進展和系統(tǒng)功能,詢問是否存在需求變更的可能
6、項目過程保持透明,出了問題不要捂著,第一時間暴露、第一時間求助
7、在執(zhí)行過程中不斷了解每個同事的風(fēng)格,哪些人偏樂觀、哪些人偏保守
8、對內(nèi)嚴(yán)格、公證、透明,對外要給團隊足夠的保護,讓大家有尊嚴(yán)地工作。搞好氣氛,讓大家high
9、可以為項目考慮一定的buffer,但是一定要有合理的理由,并且讓團隊知道
不要
1、晨會的時候一個人在那說
2、對于按時完成任務(wù)的同事和未按時完成任務(wù)的同事,你的態(tài)度沒有太大的差別
3、用錢驅(qū)動團隊
4、出了問題不求助、不報警,總是試圖自己解決
5、只考慮自己項目的成敗,不看產(chǎn)品和研發(fā)的大局
警惕
1、項目初期的幾天很輕松,這會導(dǎo)致項目后期忙成狗
2、RD告訴你,雖然出了問題,但是問題不大,很快能夠解決。一定要要求對方承諾解決時間并按時檢查,同時問問可能了解類似情況的同事,是否真的很簡單
3、希望你抽資源來支援其他工作的時候,要保持謹慎且開放的態(tài)度
4、團隊人員自行為自己的工作預(yù)留buffer,buffer可以留在明處,不能留在暗處
5、如果項目時間過半,你還非常忙,說明項目即將失敗。成功的項目一定是前期非常忙,后期越來越閑
上線
對于項目經(jīng)理來說,如果上線階段還非常忙,說明項目已經(jīng)失敗
可能出現(xiàn)的問題
1、Bug很多,越修越多
2、上線時發(fā)現(xiàn)部署環(huán)境和你計劃的完全是兩回事
3、性能和體驗查到無法忍受
4、代碼合并導(dǎo)致計劃外的bug
5、項目雖然成功了,團隊散了
要
1、遵循QA制定的上線流程
2、明確上線后系統(tǒng)應(yīng)該如何被監(jiān)控,并保證監(jiān)控措施已經(jīng)實施
3、系統(tǒng)上線后通知需求方
4、安排項目總結(jié)工作,列出好的、不好的、需要改進的和后續(xù)行動項,落實到責(zé)任人
項目管理,服務(wù)而不是管理。