治疗开发拖延症-任务拆分和执行
有人總結,從外部來看,拖延癥引起的原因有幾個:
- 需要做到事情(以下簡稱為任務)不夠明確。
- 任務太難,超出能力范圍。
- 任務太枯燥,沒有樂趣。
從這幾個原因可以反映出,人們討厭不確定性,討厭無聊。
在開發任務中,也會出現拖延問題,造成拖延的原因,我自己遇到的有幾種:
- 開發任務不夠明確,大家不知道具體要做什么,代碼要怎么寫。
- 開發任務涉及到的系統比較多,前期準備工作量大。
- 調研任務,無法預估具體耗時。
- 不著急上線的需求。
- 枯燥的需求,體會不了樂趣的開發任務。
如果這些原因是準確的,那么就能使用一種方法來解決,核心目的是把開發任務變成可控,確定性高,且有趣的任務。
這里介紹一種方法,就是把一個整體的開發任務,拆解成足夠小的任務,這些小的任務就可以做到非常具體和明確,再給這些小任務設定完成它們需要的時間,這些任務就會變成確定性任務。而且拆解任務的過程中,如果能加入一些有趣的學習類,挑戰類,優化類任務,會讓這些小任務做起來充滿樂趣。
拆解任務的目標是:
- 讓任務變的可控,充滿確定性。
- 把枯燥的任務變成有趣的任務。
- 給每個任務設置完成時間,增加確定性的同時,訓練自己的能力。
為了讓拆解任務的目標能順利達成,我們需要把任務拆分的足夠小,就像做微分一樣,小到足夠簡單,簡單到2個小時以內就完成。
但是拆分任務的過程,往往會低估一些開發任務,導致任務實際開發的時間過長。
又或者高估一些開發任務,導致實際開發時間非常短。
而且一些任務可能自己沒有做過,根本不知道如何做,需要進行一些調研和學習,在這之前,沒法預估需要花多少時間。
對于低估和高估,我們可以采用協作的方式解決,就是多人對同一個拆分任務進行評估,得出一個平均值,或者大家都滿意的值,往往會得到一個比較平衡的耗時。
對于自己沒做過的任務,除了自己去實踐一次得出一個基準值以外,就需要團隊里有比較厲害的人,或者有前瞻性的人之前做過,給到一些經驗性的評估,這樣能幫助自己在一開始能設定一個比較合理的耗時和任務拆分。
但是實際任務拆分過程中,大家往往會忽略了拆分的目標,只是簡單羅列任務涉及的幾個模塊,把模塊的實現當作子任務,把拆解任務當作了todo list來使用,在開發過程中,一些工作可能不會出現在拆解的任務里,因為總有意外發生。
為了能讓拆分任務完成自己的目的,我們應該時刻提醒自己拆分任務的目標,并且每天更新自己的任務拆分,因為總有意外會發生,任務實際開發可能是在變動中完成的。
更新需要數據,這就需要我們記錄好自己開發每個功能,每個函數,每個接口,每個頁面所花費的時間,有一些工具可以幫忙,當真的去記錄才是最重要的。
記得電影《伸冤人》里,主角每次行動都給自己設置一個倒計時,以此來檢查自己是否退步,或者是否有提高的空間。在行動之前,就在腦海里播放了一遍所有的行動細節,這就像是在做需求之前,就已經把所有的業務邏輯都在腦海里實現了一遍,下一步只是設定時間打印出來而已。
可軍事行動會進行非常多的演練和模擬,做需求卻沒有那么多時間進行演練和模擬,可能接到的需求任務是做過的,或者沒做過,或者要邊做邊填補以前的坑。
如果我們足夠了解業務,熟悉業務,或許我們能做到把每一次迭代,都拆分和演練的非常好,實現代碼如同打印文件那么簡單。
最后復習一下,拆分任務和執行的目標:
- 把開發任務變成確定性,可控的任務
- 每個子任務都有明確的時間,這樣才能可控和確定性
- 拆分的任務要有趣,如何有趣,可能需要因人而異
- 每天根據實際情況,更新任務拆分,記錄每項任務的真實耗時
而為什么是這樣的目標,是為了避免拖延癥。
拖延癥會讓我們焦慮,心情不好,會讓我們趕工,偷工減料,讓我們的開發的應用搖搖欲墜,會挫敗我們自信心。
總結
以上是生活随笔為你收集整理的治疗开发拖延症-任务拆分和执行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: uniapp实现聊天|uniapp聊天源
- 下一篇: 如何高效迅速的进行CodeReview