軟件開(kāi)發(fā)如何規(guī)避時(shí)間碎片化的坑?

    為什么討論時(shí)間的碎片化 ?


    產(chǎn)生有效成果的智力活動(dòng),總是需要連續(xù)的時(shí)間來(lái)保證。許多忘我思考的典故都證明了這一點(diǎn)。 軟件開(kāi)發(fā)是一種智力活動(dòng),因此也遵循這一道理。 打斷某人的工作,不論是智力工作還是體力工作,對(duì)工作的效率和產(chǎn)出總會(huì)產(chǎn)生負(fù)面影響。 只不過(guò)與體力勞動(dòng)不同, 智力勞動(dòng)受到這方面的負(fù)面影響要大得多。 對(duì)一名建筑工人,如果他連續(xù)工作的60分鐘被打斷成3個(gè)不連續(xù)的20分鐘, 其產(chǎn)出與連續(xù)工作60分鐘相比,是基本一致的。而對(duì)一名軟件開(kāi)發(fā)人員,3個(gè)不連續(xù)的20分鐘內(nèi)的工作成果,恐怕只能相當(dāng)連續(xù)的40分鐘的成果。有20分鐘的時(shí)間被丟失了。 為什么會(huì)這樣? 誰(shuí)偷走了他的時(shí)間?下文試圖給出解釋。



    時(shí)間如何破碎 ?


    仔細(xì)觀察我們每天的工作時(shí)間花費(fèi)就不難發(fā)現(xiàn),存在**的時(shí)間斷點(diǎn)把我們本來(lái)連續(xù)的工作時(shí)間碎片化。午休、倒咖啡、去洗手間等等。除此之外,一些偶發(fā)的事件也能打斷我們的思緒,比如一個(gè)電話(huà),一個(gè)郵件提醒,或一個(gè) MSN 消息。 我們不是古廟里的僧侶, 因此塵世中的干擾總是存在。 但這些不是本文討論的內(nèi)容。 我想討論的, 是在軟件開(kāi)發(fā)管理中不合理的做法導(dǎo)致的時(shí)間碎片化。

    我認(rèn)為以下做法是不合理的。


    • 一人多任務(wù)

    • 過(guò)分強(qiáng)調(diào)面對(duì)面溝通

    • 過(guò)多的全體會(huì)議



    一人多任務(wù)


    有些管理者喜歡讓開(kāi)發(fā)人員同時(shí)在幾個(gè)任務(wù)上展開(kāi)工作,而不是順序地完成它們。 這樣做可能基于以下理解:


    1. 任務(wù)越早展開(kāi),越能盡早暴露問(wèn)題,從而便于及時(shí)解決,降低管理上的風(fēng)險(xiǎn)。

    2. 開(kāi)發(fā)任務(wù)緊,多任務(wù)安排可以增大開(kāi)發(fā)人員的負(fù)荷,防止他們偷懶。

    3. 多個(gè)任務(wù)具有相同的**級(jí),而且彼此之間沒(méi)有依賴(là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ō)話(huà)的智能生物,開(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)?*級(jí)相同,那這些任務(wù)可以隨機(jī)地順序安排。

    *[TDM]: Time-division multiplexing,即時(shí)分多路復(fù)用。



    過(guò)分強(qiáng)調(diào)面對(duì)面溝通


    面對(duì)面溝通是敏捷開(kāi)發(fā)實(shí)踐中強(qiáng)調(diào)的一個(gè)重點(diǎn)。許多管理者據(jù)此在整個(gè)組織內(nèi)鼓勵(lì)面對(duì)面的交流。我不認(rèn)為這是一個(gè)好的做法。敏捷開(kāi)發(fā)隊(duì)伍是由 自組織 (self-organized)的小團(tuán)隊(duì)構(gòu)成。敏捷開(kāi)發(fā)中面對(duì)面溝通是指自組織團(tuán)隊(duì)內(nèi)部的溝通。這種內(nèi)部的溝通,被證明是高效的。 但是,把這種方式推廣到自組織團(tuán)隊(duì)的邊界之外,則是糟糕的做法。外部的溝通以受控的、相對(duì)正式的方式進(jìn)行,是對(duì)自組織的團(tuán)隊(duì)的保護(hù),使之免受干擾。自組織團(tuán)隊(duì)就像封裝良好的軟件組件。它應(yīng)該是內(nèi)聚的,外部只能通過(guò)定義良好的接口與之交互。


    很多時(shí)候,面對(duì)面交流,僅僅是提高了交流發(fā)起者的效率而已。(甚至這一點(diǎn)也值得懷疑,因?yàn)榻?jīng)過(guò)仔細(xì)斟酌寫(xiě)下的文字,通常要比現(xiàn)場(chǎng)發(fā)揮的言語(yǔ)表達(dá)的較清楚)。當(dāng)你禮貌地找某人談話(huà)時(shí),你已經(jīng)禮貌地打碎了他的時(shí)間。你在損害他的效率。


    說(shuō)到這里,請(qǐng)讀者不要誤解。我不是在鼓勵(lì)開(kāi)發(fā)人員成為像患有自閉癥一樣的程序怪人。我只是想強(qiáng)調(diào),過(guò)多的當(dāng)面交流會(huì)導(dǎo)致時(shí)間的碎片化,從而影響整個(gè)團(tuán)隊(duì)的效率。 有其他溝通方式(比如郵件),能把對(duì)他人的干擾降低。



    過(guò)多的全體會(huì)議


    喜歡召開(kāi)全體會(huì)議的團(tuán)隊(duì)**者,在召開(kāi)全體會(huì)議前請(qǐng)思考,會(huì)議內(nèi)容是否是每個(gè)人都必須知道的? 是否是必須口頭傳達(dá)給每個(gè)人的 ? 如果是一場(chǎng)討論會(huì),是否這些人都需要參與到討論中來(lái)? 由于全體會(huì)議打斷了每個(gè)參與者的時(shí)間,時(shí)間碎片化效果擴(kuò)展到了全體,因而影響較大。



    時(shí)間碎片化的后果


    時(shí)間碎片化有兩個(gè)主要后果,即有效工作時(shí)間的減少和發(fā)生缺陷的可能性增大。


    有效工作時(shí)間的減少


    軟件開(kāi)發(fā)工作是劇烈的腦力活動(dòng)。象引擎一樣,人的大腦在進(jìn)入高速運(yùn)轉(zhuǎn)前,需要一個(gè)預(yù)熱和啟動(dòng)過(guò)程。讓我姑且稱(chēng)這里消耗的時(shí)間為“思維引導(dǎo)時(shí)間”( Mind Bootstrap Time , MBT )。這一時(shí)間的長(zhǎng)短,取決于你面對(duì)問(wèn)題的復(fù)雜性(和昨晚的睡眠質(zhì)量?)。 比如, 某人的談話(huà)如果被打斷后,他可能會(huì)問(wèn)“我剛才講到哪里了?”。要繼續(xù)之前的談話(huà),他就需要重新思考交談的內(nèi)容并從被打斷處開(kāi)始。這里花費(fèi)的時(shí)間,就是 MBT 。 對(duì)一段談話(huà)來(lái)講, MBT 可能只需幾秒鐘。對(duì)軟件開(kāi)發(fā)活動(dòng),則可能需要好幾分鐘。


    現(xiàn)在已經(jīng)不再是一個(gè)文本編輯器解決所有問(wèn)題的軟件開(kāi)發(fā)時(shí)代了。比如對(duì)一個(gè)典型的 JEE 開(kāi)發(fā)項(xiàng)目,我們應(yīng)該很容易理解一個(gè)程序員早上寫(xiě)下**行代碼前所做的以下操作:


    1. 打開(kāi) Eclipse IDE 。在 Eclipse 歡迎界面下的滾動(dòng)條努力向前的時(shí)候,

    2. 啟動(dòng)開(kāi)發(fā)用數(shù)據(jù)庫(kù)服務(wù)(比如 HSQLDB )。在數(shù)據(jù)庫(kù)服務(wù)啟動(dòng)日志還在 DOS 窗口翻滾的時(shí)候, 他

    3. 打開(kāi)數(shù)據(jù)庫(kù) GUI 客戶(hù)端。接著,

    4. 啟動(dòng) tomcat 。

    5. 在 Eclipse中打開(kāi)昨天工作中的Java源文件,開(kāi)始編寫(xiě)今天的**行代碼。


    我把這一過(guò)程所花費(fèi)的時(shí)間,稱(chēng)作“環(huán)境準(zhǔn)備時(shí)間”,即Environment Preparation Time(EPT) 。 如果連續(xù)的開(kāi)發(fā)時(shí)間被打斷,開(kāi)發(fā)人員可能需要重復(fù)這一過(guò)程。 EPT 會(huì)因開(kāi)發(fā)環(huán)境的不同而長(zhǎng)短不同,但這部分時(shí)間總是存在的。


    讓我把 MBT 和 EPT 稱(chēng)作斷點(diǎn)時(shí)間。 斷點(diǎn)時(shí)間不是有效的工作時(shí)間,因?yàn)樗鼈儾荒軒?lái)直接的產(chǎn)出。 這里想強(qiáng)調(diào)的是, 有效工作時(shí)間是必需的消耗,而斷點(diǎn)時(shí)間總是可以通過(guò)減少時(shí)間碎片來(lái)減少或避免的。如果時(shí)間連續(xù)性已經(jīng)被打斷, 斷點(diǎn)時(shí)間還能被*嗎? 我認(rèn)為答案是否定的。


    碎片化的時(shí)間, 就像被田埂分割的土地。分割的越多,實(shí)際可種植面積就越少,不論田埂修的多狹窄。


    *[MBT]: 思維引導(dǎo)時(shí)間,即 Mind Bootstrap Time。 
    *[EPT]: 環(huán)境準(zhǔn)備時(shí)間,即Environment Preparation Time。 
    *[JEE]: Java Enterprise Edition 。 Java開(kāi)發(fā)企業(yè)應(yīng)用軟件的一套規(guī)范、工具、以及框架。 
    *[IDE]: Integrated Development Environment,即集成開(kāi)發(fā)環(huán)境。 
    *[Eclipse]: 一款流行的 Java 集成開(kāi)發(fā)工具。 
    *[tomcat]: 一款流行的java web(servlet)服務(wù)器。 
    *[HSQLDB]: 一款Java開(kāi)發(fā)的輕量的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。


    發(fā)生缺陷的可能性增大


    打碎的玻璃杯子被重新粘合后可恢復(fù)完整并繼續(xù)使用。但粘合的痕跡讓它不再美觀。較重要的是,重新粘合可能引入缺陷:接縫處未對(duì)齊的話(huà)會(huì)產(chǎn)生縫隙;粘合材料和杯子本身材質(zhì)的不同會(huì)使整個(gè)杯子的應(yīng)力不均,從而使它比以前較容易炸裂。


    通過(guò)重新進(jìn)入狀態(tài)并找到上次離開(kāi)時(shí)的工作點(diǎn),開(kāi)發(fā)人員可以接續(xù)之前被打斷的工作。但就象重新粘合的杯子一樣,這里不僅有直接的有效工作時(shí)間損失,較有可能引入后續(xù)問(wèn)題。 “我剛才寫(xiě)到哪一行了?”,重新回到代碼前的程序員可能會(huì)這樣問(wèn)自己。通過(guò)回想,他找到了離開(kāi)時(shí)正在完成的switch結(jié)構(gòu)并繼續(xù)編寫(xiě)下一個(gè)case子句。不幸的是,**個(gè)case子句遺漏了本該有的break。一個(gè)bug就這樣產(chǎn)生了。修復(fù)此bug的時(shí)間可能是撰寫(xiě)這部分代碼的數(shù)倍[1]。


    這個(gè)引入bug的例子很容易應(yīng)用到其他開(kāi)發(fā)工作上,比如需求分析、系統(tǒng)設(shè)計(jì)、測(cè)試等。簡(jiǎn)單講,時(shí)間的碎片化使得開(kāi)發(fā)過(guò)程中發(fā)生缺陷的可能性增大。人腦雖然比電腦復(fù)雜的多,但在斷點(diǎn)管理方面,可比后者差很多。


    濟(jì)南道梵網(wǎng)絡(luò)科技有限公司專(zhuān)注于軟件系統(tǒng)開(kāi)發(fā)公司等

  • 詞條

    詞條說(shuō)明

  • 企業(yè)為什么要開(kāi)發(fā)B2C商城系統(tǒng)?

    早進(jìn)軍電商領(lǐng)域的企業(yè),盈利讓無(wú)數(shù)企業(yè)看到眼紅。在電商還沒(méi)火之前,一個(gè)做B2C商城系統(tǒng)的出色,盈利是很客觀的。因?yàn)橹暗纳坛蔷W(wǎng)站是非常少,競(jìng)爭(zhēng)比較小。而現(xiàn)在電商領(lǐng)域競(jìng)爭(zhēng)已經(jīng)進(jìn)入白熱化階段,想要留住消費(fèi)者的腳步,就必須在b2c商城網(wǎng)站開(kāi)發(fā)中加入更多企業(yè)品牌思想,讓品牌得到宣傳。說(shuō)白了,企業(yè)欲做品牌,需開(kāi)發(fā)好b2c商城網(wǎng)站。1、B2C商城系統(tǒng)系統(tǒng)開(kāi)發(fā)需要以用戶(hù)為先B2C商城系統(tǒng)系統(tǒng),人性化的B2C商城系

  • 濟(jì)南二級(jí)分銷(xiāo)復(fù)購(gòu)系統(tǒng)開(kāi)發(fā)

    二級(jí)分銷(xiāo)復(fù)購(gòu)系統(tǒng)開(kāi)發(fā)1會(huì)員加入**板塊團(tuán)隊(duì)業(yè)績(jī)紅利收益一次性體驗(yàn)消費(fèi)3198元,成為公司普通會(huì)員。通過(guò)對(duì)公司推薦產(chǎn)品了解后參與市場(chǎng)推廣達(dá)到一定標(biāo)準(zhǔn),即可成為公司產(chǎn)品推廣合伙人,開(kāi)始創(chuàng)業(yè)之路。2升級(jí)模式***風(fēng)險(xiǎn)分享即可自動(dòng)升級(jí):直接分享4人一次性消費(fèi)3198元的,升級(jí)白銀直接分享6人一次性消費(fèi)3198元的,升級(jí)黃金直接分享8人一次性消費(fèi)3198元的,升級(jí)鉆石3獎(jiǎng)金模式01一、二級(jí)分銷(xiāo)直接銷(xiāo)售獎(jiǎng)1

  • 影響網(wǎng)站建設(shè)時(shí)間長(zhǎng)短的四大因素

    方式不同 建設(shè)模板網(wǎng)站需要的時(shí)間相對(duì)很低,大概只需要一兩天的時(shí)間。 因?yàn)樗目蚣芎驮O(shè)計(jì)風(fēng)格都是固定的,只要將內(nèi)容和圖片等上傳好就可以了。 而定制網(wǎng)站建設(shè)則需要相對(duì)較長(zhǎng)的時(shí)間,因?yàn)樗ㄇ捌谡{(diào)研,策劃,定制設(shè)計(jì),定制開(kāi)發(fā)及測(cè)試等多個(gè)環(huán)節(jié),而每個(gè)環(huán)節(jié)都要根據(jù)企業(yè)主的自身特點(diǎn)有針對(duì)性地進(jìn)行實(shí)施。 ? 需求不同 需求方面是定制網(wǎng)站建設(shè)才會(huì)遇到的難題,模板建站不太會(huì)涉及這方面的問(wèn)題。 因?yàn)槎ㄖ凭W(wǎng)

  • 什么是多用戶(hù)商城系統(tǒng)?為什么要開(kāi)發(fā)

    什么是多用戶(hù)商城系統(tǒng)?多用戶(hù)商城系統(tǒng)就是讓眾多商家都可以入駐網(wǎng)站,商家可以開(kāi)設(shè)自己獨(dú)立的店鋪。一般多用戶(hù)商城系統(tǒng)模式就是b2b2c商業(yè)模式,通過(guò)多用戶(hù)商城系統(tǒng),可以把供應(yīng)商,經(jīng)銷(xiāo)商,消費(fèi)者匯聚在一起。這種模式也是從B2B/B2C模式發(fā)展過(guò)來(lái)的。是互聯(lián)網(wǎng)電子商務(wù)飛速發(fā)展下創(chuàng)新出的一種新型電商模式。像我們現(xiàn)在熟悉的天貓,京東都是采用多用戶(hù)商城系統(tǒng)模式,他們的成功也見(jiàn)證了這是目前為止較為完善的商城系統(tǒng)。

聯(lián)系方式 聯(lián)系我時(shí),請(qǐng)告知來(lái)自八方資源網(wǎng)!

公司名: 濟(jì)南道梵網(wǎng)絡(luò)科技有限公司

聯(lián)系人: 陳蘇

電 話(huà):

手 機(jī): 13156105921

微 信: 13156105921

地 址: 山東濟(jì)南槐蔭區(qū)濟(jì)南市槐蔭區(qū)發(fā)祥1號(hào)公館

郵 編: 254000

網(wǎng) 址: daofan.b2b168.com

八方資源網(wǎng)提醒您:
1、本信息由八方資源網(wǎng)用戶(hù)發(fā)布,八方資源網(wǎng)不介入任何交易過(guò)程,請(qǐng)自行甄別其真實(shí)性及合法性;
2、跟進(jìn)信息之前,請(qǐng)仔細(xì)核驗(yàn)對(duì)方資質(zhì),所有預(yù)付定金或付款至個(gè)人賬戶(hù)的行為,均存在詐騙風(fēng)險(xiǎn),請(qǐng)?zhí)岣呔瑁?
    聯(lián)系方式

公司名: 濟(jì)南道梵網(wǎng)絡(luò)科技有限公司

聯(lián)系人: 陳蘇

手 機(jī): 13156105921

電 話(huà):

地 址: 山東濟(jì)南槐蔭區(qū)濟(jì)南市槐蔭區(qū)發(fā)祥1號(hào)公館

郵 編: 254000

網(wǎng) 址: daofan.b2b168.com

    相關(guān)企業(yè)
    商家產(chǎn)品系列
    • 產(chǎn)品推薦
    • 資訊推薦
    關(guān)于八方 | 八方幣 | 招商合作 | 網(wǎng)站地圖 | 免費(fèi)注冊(cè) | 一元廣告 | 友情鏈接 | 聯(lián)系我們 | 八方業(yè)務(wù)| 匯款方式 | 商務(wù)洽談室 | 投訴舉報(bào)
    粵ICP備10089450號(hào)-8 - 經(jīng)營(yíng)許可證編號(hào):粵B2-20130562 軟件企業(yè)認(rèn)定:深R-2013-2017 軟件產(chǎn)品登記:深DGY-2013-3594
    著作權(quán)登記:2013SR134025
    Copyright ? 2004 - 2025 b2b168.com All Rights Reserved