1. 程式人生 > >【專案管理】專案開發管理

【專案管理】專案開發管理

結合實際工作中,專案管理大致分為:
1、需求評審
產品、技術(包括前段、後端、APP、UI、UE)、測試相關人員以及相關專案負責人一起進行詳細的需求評審,
作為程式設計師會首先從產品的角度分析設計的合理性,邏輯是否有問題,
然後從技術的角度分析實現的可行性和難度,這個環節如果發現設計問題很多或很嚴重的話我會讓產品重新設計再次評審,
評審通過後會讓產品和老大和客戶反饋最終設計,直到這些完成後,
我會把產品上的一些細節用文件記錄(目前公司採用的是confluence工具管理專案文件,同時也記錄了各次會議的記錄和問題點。都在confluence上進行落實)下來郵件給每個人,
這樣做的目的就是為了防止不合理的設計造成返工。同時也形成了會議紀要。
2、需求分析
接下來負責技術的會進行需求分析拆解,這個階段會拆解的特別細,怎麼實現,怎麼儲存,哪個有風險我會列清楚。中間會涉及到從資料庫表結構及其欄位和型別的設計。
還有涉及到專案的概要設計文件,詳細設計文件輸出。系統與外部系統之間的資料互動方式,網路是否能通,視訊,音訊,圖片等檔案怎麼存放。伺服器等硬體資源需求。
這個過程很燒腦但是很有必要,只有這樣做個才能產出合理的排期。
3、專案排期
接下來就是定排期了,這時候會針對每個要實現的功能點定工作量,任務劃分,任務安排。結合專案中人員的特點(包括寫程式碼的風格,做事的方式)合理分配專案。
要注意的是工作量評估要包括程式碼開發時間+單元(自測)測試時間,然後根據任務依賴關係和人員情況產出具體排期,
然後郵件發出。
4、程式碼開發
後面就是編碼實現功能的時間了,這時候一般會有雜事插入(特別是有些產品動不動就要加個小需求,看似小需求,實則很影響專案進度),
這時就要根據工作量判斷是接受還是拒絕做。在專案強度比較大,比較緊的情況,一定要說出 NO。但是也分情況,具體情況具體定。
這個時候產品如果說要加功能的話,如果複雜我會要求發郵件說明情況並且加排期。
如果這樣還不能在排期內完成coding的話就是個人能力問題了。
對於一些按照deadline倒排很容易出現的問題是,整個專案工期就一個月,本來給產品設計的時間是一週,
結果十天了產品設計還在改,造成後期程式設計師們天天加班趕工期,這種就是典型的研發時間被產品壓榨了,
原因一般是研發負責人太窩囊了,一般產品設計是一週的話需要提前兩天完成設計,然後評審,如果產品不能按時交付設計,
研發負責人就必須要求產品背延期的鍋,發郵件,找老大,手段多的很。
以後還想表達一點就是程式設計師可以加班但是不能加冤枉班。
一定要從頭到尾意識到一個問題:專案如果延期了,後果會很嚴重,很嚴重。所有排期很重要。
以個人經驗來看排期容易出現兩個問題:
一是排期不合理;
二是不能按照排期穩步推進。
好的排期就要儘量避免這兩個問題。
所以一個好的排期,必須充分的考慮到專案開發過程中的種種情況。最好的做法就是,系統功能點細分,任務時間點具體到每個功能上去,做到那個時間點該完成了什麼功能。
這樣逐一做好每個時間段該做的功能。
當然這個過程也離不開專案管理工具的使用,目前公司使用的jira進行專案的管理。jira配合confluence使用。
我們的使用方式是:產品需求PRD中所有的新功能需求點一一落實到confluence上面,confluence上面連結到jira上,形成jira故事(這樣至少能保證專案不會遺漏需求),
開發人員(APP,前段,後端等),再在jira故事下面,建立自己負責的專案功能子任務(新建子任務時,也可以寫明任務的開發時間,完成時間,這樣
就能很好的關注到那些功能模組可能存在延期的現象,提早發現問題,及時趕上進度)。然後,開發人員就按照自己新建的子任務,一個一個從待辦,到處理中,最後完成
的流程完成自己的子任務。作為專案管理人員也能很好的通過confluence+jira的方式,進行很好的管理,專案進度的跟蹤。
說到專案管理,目前我們公司早上有幾分鐘的站立會,這個站立會目的在於處理通過confluence+jira解決不了的時間,比如說,專案中遇到了什麼瓶頸和困難,
專案上需要第三方系統的支援。或者各個專案成員在開發專案的過程中,存在什麼問題。站立會不一定每天有,目前我們公司是每週一三五,花的時間不長,但是有效果。
5、提測
程式碼從開發分支上merge到測試分支上進行測試。

6、上線

7、專案上線之後,記得打tag。

8、一個專案上線之後,專案各成員(產品需求,UI/UE,APP,前端,後端,測試)開討論會,總結專案開發過程中存在的問題,總結。



名稱解釋:
PRD:Product Requirements Document  產品需求文件
PM(projiect mananger)
PD(project designer)
UE(User Experience 使用者體驗):
使用者體驗指使用者在使用產品過程中的個人主觀感受。關注使用者使用前、使用過程中、使用後的整體感受,包括行為、情感、成就等各個方面。使用者體驗是整體感受,所以不僅僅來自於使用者介面,那只是其中的一部分。
UI(User Interface 使用者介面):
現在一般所說的UI設計師,也就是圖形介面設計師。主要是負責產品或是網站的圖形圖示色彩搭配,總之是負責網站看起來是一個什麼風格什麼氣質。
UCD(User-Centered Design 以使用者為中心的設計)
UED (User-Experience Design 使用者體驗設計)
PM、PD、UE與UI,分別是產品經理、產品設計師、使用者體驗師、視覺設計師四個角色。一般來說,這個順序就是一個產品從規劃到最終成型的任務流方向,是一個從抽象到具體、商業到技術的過程。


網上看見一個有趣的劃分:
PPT的是PM,他在想這怎麼跟高層確認產品戰略; 
Word的是PD,他在寫文件; 
Dreamweaver的是UE,他在做網頁; 
PhotoShop的是UI,他在做圖 
另:整天Project的是PM(專案經理);整天Excel的是財務

http://www.sohu.com/a/201170164_114819

https://www.zhihu.com/question/21325644