軟件開(kāi)發(fā)有些管理者喜歡讓開(kāi)發(fā)人員同時(shí)在幾個(gè)任務(wù)上展開(kāi)工作,而不是順序地完成它們。 這樣做可能基于以下理解:
任務(wù)越早展開(kāi),越能盡早暴露問(wèn)題,從而便于及時(shí)解決,降低管理上的風(fēng)險(xiǎn)。
開(kāi)發(fā)任務(wù)緊,多任務(wù)安排可以增大開(kāi)發(fā)人員的負(fù)荷,防止他們偷懶。
多個(gè)任務(wù)具有相同的優(yōu)先級(jí),而且彼此之間沒(méi)有依賴關(guān)系,因而應(yīng)該同時(shí)展開(kāi)。
任務(wù)啟動(dòng)的早,并不能消除問(wèn)題,只是把問(wèn)題提前了。從這個(gè)角度講,問(wèn)題的總量并不會(huì)減少。既然這樣,過(guò)早地暴露出問(wèn)題有什么好處呢? 在項(xiàng)目的可用資源(人力、時(shí)間)一定的情況下, 我看不到這樣做的好處。 如果項(xiàng)目資源可以增加, 一人多任務(wù)的情況就不會(huì)出現(xiàn),也就沒(méi)必要討論了。
通過(guò)多任務(wù)來(lái)提高開(kāi)發(fā)人員的工作強(qiáng)度并防止他們偷懶的做法,我認(rèn)為是幼稚的。管理者應(yīng)努力和開(kāi)發(fā)人員建立起信任關(guān)系,并通過(guò)其他方式激發(fā)他們的干勁。 當(dāng)他們像負(fù)重的駱駝一樣被對(duì)待時(shí),作為會(huì)說(shuō)話的智能生物,開(kāi)發(fā)人員知道如何把超額的重物放在原地,而令管理者覺(jué)得他們?cè)谪?fù)重前行一樣。
一人多任務(wù)的安排的問(wèn)題在于,人不是多核系統(tǒng)。 他只能采用交替工作的方式來(lái)“同時(shí)”展開(kāi)多項(xiàng)任務(wù)。當(dāng)他在不同任務(wù)間切換時(shí),特定任務(wù)上的工作時(shí)間就不再連續(xù)了。就像單核CPU執(zhí)行多任務(wù)一樣,這是讓開(kāi)發(fā)人員的大腦應(yīng)用 TDM 技術(shù)。不幸,人腦不是高效的 TDM 設(shè)備。
無(wú)論如何,一人多任務(wù)的安排都應(yīng)該努力避免。 如果僅僅因?yàn)閮?yōu)先級(jí)相同,那這些任務(wù)可以隨機(jī)地順序安排。
*[TDM]: Time-division multiplexing,即時(shí)分多路復(fù)用。