做者:暖暖程序員
項目管理通常是從技術負責人、項目產品負責人的角度去看的,程序員雖然碼代碼很重要,但對項目的領悟能力也一樣重要。咱們常常會遇到各類困惑:手上的項目需求愈來愈多,BUG列表只增不減,該採起怎樣的措施,保證本身的生產力?但願如下的講述帶給你莫名的認同感,或多或少讓你磨刀霍霍一試。架構
下圖描述的是程序員從接到需求到開發環節的過程: 函數
通常咱們首先會收到產品的PRD或交互稿,被詢問今天什麼時間點是否有空,進行需求評審。時光匆匆,回想起剛畢業那時,我望着冗長的PRD,直接跳過背景、目的等看似與開發無關的內容描述。時光冉冉,我明白了一個道理:知道了爲何而作,才能砍需求啊!!工具
咱們要作一個有思考的程序員,不是別人說什麼咱們就作什麼,咱們能夠引導產品經理,給出提醒並提供建設性的意見,讓他們向着咱們但願的那個點去思考去改進。 嗯,牛逼~性能
固然,祈求PRD完美,是不可能的,可是它又是咱們排期、開發的依據,這二者存在這不可避免的矛盾。所以,力求在分析評審階段,把不清晰不完整的部分暴露出來,是咱們的目標之一。測試
特別警戒一句話需求,好比在頁面添加一個連接,包含的功能可能有:優化
第二個目標,就是砍需求了。「沒時間了,這個需求放在二期吧」 這個金句,不知道你們感悟深不深,哈哈。首先要清楚本身在某個時間段的工做重點,而後根據需求與工做重點的相關係數去評估,有意識地拒絕一些無心義的工做。固然,工做重點應該是與業務息息相關的,最好是和上級商量後的結果。插件
因而,給本身定個todo list,在需求評審前本身過一遍相關文件內容,列出有疑問的地方,作好砍需求的準備...設計
確認需求後,首先確認需求的優先級,而後進行排期。 若是咱們手上有許多需求,確認需求的優先級是十分有必要的。3d
排期一直是歷史難題,有如下「名言名句」供參考:
需求進入開發後,特別是大項目,得利用需求管理平臺,這有利於需求的進度追蹤,且方便咱們彙報工做。不要把彙報工做當作負擔,應化被動爲主動。不然,週五下午某個時刻,你會收到產品經理的盤問:「作得怎麼樣了?進度如何?」;彙報工做,也有利於讓你們看到本身的努力成果,成就感增倍,造成良好的工做循環;或者是瞭解身邊的小夥伴在作什麼,有利於交流。
咱們如今每週五會開項目例會,彙報內容以下:
需求變動有時不可避免,咱們還得拿出快速響應需求變動的本事,記錄反饋全部的變動,拒毫不合理的需求。最好和產品經理達成一個共識,若因PRD的需求變更,則會根據實際狀況從新排期。有代價,有反思,有利於督促雙方在編寫PRD、評審的階段就開始認真對待,且定義好完成需求的標準。
打開昨天沒關機的電腦屏幕,找到本身喜歡的姿式,或穿着格子襯衫、棉拖鞋,或套着護頸枕,或帶着耳機聽音樂,而後就開始搬磚了~~
爲了規範代碼倉庫,使得版本的演進保持簡潔,主幹清晰,所以得遵循一些規則,避免因爲維護困難形成的錯誤版本發佈等問題。
分支要求:
提交commit要求:
<type>(<scope>): <subject>
,且利用commitlint工具約束一些格式,同時避免使用-n強制提交。有分支就有合併,合理選擇適當的時機、適當的方式進行合併,好比merge --no-ff
、merge --squash
、rebase
仍是cherry-pick
。你們都知道,變基有風險,且要遵循變基原則:只對還沒有推送或分享給別人的本地修改執行變基操做清理歷史,從不對已推送至別處的提交執行變基操做。
有合併就可能有衝突。若是一直存在大量的衝突,說明是分工、組織架構不對,須要減小多人同時改動同一份代碼的概率。如遇到衝突,可採起如下措施:
即便當心再當心,意外老是會在某一刻發生。因此咱們要時刻控制,下降需求變動、項目延期的風險,應用積累的經驗和專業知識來預測什麼時候會出現風險,以及如何採起有效的應對措施。
風險管理就是如何預防風險:
下面挑幾個重點講講:
一個優秀的程序員和一個普通程序員的差異,可能在於理解問題的深度。 「試試重啓一下電腦」,當電腦出現問題的時候,咱們常常會想到這句話。可是有沒有想過,可能失去了一個挖掘問題本質的機會,致使之後問題該出現的時候仍是會出現。 再者,咱們碼程序,修BUG,有時候忽略了質量,而去趕進度,這是得不償失的,最後坑的仍是本身啊。
以上從需求管理、研發管理、風險管理三個大方向,又細分了小方向去講述如何管理好手上的項目。人自己就是一個產品,多個項目的集合。項目就要好心經營,精心管理,由於正是這一件一件的執行的過程,構成了咱們豐富多彩的程序員生活。
經驗有限,或許以上內容有瑕疵,歡迎交流與更正。謝謝你們~
歡迎關注凹凸實驗室公衆號(AOTULabs),不定時推送文章: