1、制定技術計劃
在著手開始工作前,你應該已經有了一份技術規劃或設計文件,可以為任何重要的項目提供幫助 。可以用這個讓別人知道你在做什么,并獲得反饋 。制定技術計劃是啟動時間估算的理想階段 。當完成技術細節設計時,會發現未知問題,你將會神奇地修改估算時間 。也許你會意識到,可能需要把一個正在使用的庫升級到新版本,這可能會增加一天的時間 。甚至可能意識到計劃使用的庫實際上并不存在,需要自己寫 。
顆粒度在這里很重要 。如果任何一步感到模糊或者不清楚,或許你會跳過這個步驟(應該學習更多),或者需要將其分解成更小的步驟 。同時如果某個步驟粒度太細,那么在實踐中可能會不堪一擊使整個計劃無效 。
有關技術計劃里應該考慮哪些方面,請參閱 Alicia Chen 的這篇文章《What do you mean ‘we need more time’?》 。其中一個關鍵點是消除與 PM 或其他利益相關方之間的任何潛在歧義,這樣最終你就不會因做錯了某些事而不得不重新開始 。
2、為每個步驟增加時間預算
估算一下技術方案中的每一步將執行多長時間 。這通常會涉及對細節的研究(“有沒有已經有人實現了這個庫的功能?”) 。根據項目的性質,羅列一個簡單原型,可能會有助于暴露出許多未來潛在的痛點 。
3、添加大量的額外時間
現在你已經有一個初步的估計,但是我們之前提到的所有的點還需要考慮 。隨時調試:總是會有Bug 。調試很大程度上取決于你對特定代碼庫的經驗和代碼庫的成熟度 。會議、訪談、假期等:可能你不會在工位一直編碼 。你真正會有多少個小時進行編碼?估算時應該至少看看你的日歷 。
最終測試和bug清理:通常你在編碼的同時應該也在寫測試,但是很多團隊在發布前,需要進行一輪潤色工作或集成測試 。在估算中要給予這些工作足夠的預算 。如果分階段進行推出,最初推出的1%內容,可能會暴露需要修復的bug,需要考慮到這一點 。
代碼審查:項目需要做幾輪代碼審查?通常需要多長時間?一定要確保有充足的評審人員(也可以確認一下他們的日程安排) 。如果這是只有一個評審人員的項目,應該提前征求他們同意,要求他們安排一名候補人員,以防評審人員會休假或者在關鍵節點太忙 。
一旦開始將所有這些時間開銷添加到項目中,就會開始看到自己的時間估算值與項目實際啟動時匹配地多了 。是的,實際情況可能會比估計的更長,你可能會倍感壓力去縮短工期 。但是當大家知道他們可以依靠你時,他們會欣賞你的估算 。
4、項目發布后,對時間估算做回顧總結
在項目完成之后回顧一下所做的工作,這聽起來很痛苦 。但是這種審查回顧會讓你從中學到很多,下次做的更好 。哪個過程結果與預期的時間不同?如果集成測試花費了比預期兩倍的時間,記下來,下次給測試留下更多的時間 。或者嘗試改進集成測試系統 。
猜你喜歡
- 3月份可以種芍藥花嗎? 芍藥花的種植時間講解
- 如何填寫檢查表
- 美國股市的開市時間是幾點至幾點? 一起來了解一下
- 計劃表怎么做 怎樣制定時間計劃表
- 什么時間是深圳特區40周年 是怎么介紹的
- 我國第一顆氫彈爆炸成功的時間是?
- 瑪格麗特花什么時候開花?這個時間的瑪格麗特花可一定不能錯過喲!
- 面包蟹要蒸多長時間 面包蟹要蒸多久
- 2021年高考的具體時間是什么時候 2021年的高考具體時間是什么時候
- 用鍋蒸米飯多長時間 用鍋蒸米飯多久
