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