作者:四川科碩互動(dòng)網(wǎng)絡(luò)科技有限公司 發(fā)布時(shí)間:2021-05-28 11:12 閱讀:2697
1. 降低外界干擾,減少打斷
被「打斷」是破壞程序員生產(chǎn)力的罪魁禍?zhǔn)?。程序員在被打斷后一般不能做到立刻重新開(kāi)始編程。被打斷之后繼續(xù)編程通常程序員需要重新看一遍代碼,才能進(jìn)入到編程的思維環(huán)境中,才能想起來(lái)被打斷之前的思維邏輯,再?gòu)谋淮驍嗟狞c(diǎn)重新開(kāi)始。這個(gè)過(guò)程大概要花 30 分鐘以上?!复驍唷乖蕉?,煩心越多,工作質(zhì)量也會(huì)降低,Bug 也會(huì)隨之增加—成為惡性循環(huán)。
如果從我剛開(kāi)始編程,就這個(gè)事那個(gè)事不斷打斷我,那次數(shù)越多,我重新進(jìn)入狀態(tài)耗時(shí)越長(zhǎng)。如果你一直打斷我,就別怪我一天沒(méi)寫(xiě)出來(lái)啥東西。
所以降低外界干擾,減少打斷能夠顯著提高程序員生產(chǎn)力。
2. 減少?zèng)]必要的會(huì)議
「會(huì)議」和「打斷」的唯一區(qū)別在于會(huì)議是計(jì)劃好的打斷。程序員無(wú)法在被打斷的時(shí)候還能專心做其他任務(wù)。比如你跟程序員開(kāi) 1-2 小時(shí)的會(huì)議,基本上不會(huì)有什么進(jìn)展,因?yàn)橐话慵夹g(shù)性的任務(wù) 1-2 小時(shí)以內(nèi)是無(wú)法完成的。一個(gè)下午如果被分成兩個(gè)小會(huì)議是最糟糕的情況,因?yàn)檫@兩個(gè)會(huì)議都太短了,什么都做不了。
那么,如何避免呢:工作會(huì)議可以安排在一天開(kāi)始的時(shí)候或者午飯前,并盡量簡(jiǎn)短,避免不必要的「打斷」。
3. 在管理上放開(kāi),程序員知道如何完成目標(biāo)
有些公司會(huì)讓你些不懂編程的人來(lái)“管理”程序員的日常工作,在旁邊指手畫(huà)腳。而一個(gè)好程序員只要知道目標(biāo)需求是什么,他會(huì)知道如何安排工作,如何達(dá)成目標(biāo)。
4. 明確編程要求,有詳細(xì)需求文檔
如果某項(xiàng)功能要求很模糊,在這個(gè)情況下,開(kāi)發(fā)人員只能靠自己的感覺(jué)來(lái)編程。最好是能夠把某項(xiàng)功能的要求細(xì)節(jié)化,再遞交給開(kāi)發(fā)人員。
5. 降低環(huán)境噪音,走動(dòng)等
這些對(duì)非程序員來(lái)說(shuō)可能比較奇怪,但對(duì)程序員工作的效率影響卻非常大。比如一些白噪音,像空調(diào)噪音,汽車卡車行駛的這些聲音,反而可以幫助他們更好的集中注意力。這就是為什么程序員總是戴著耳機(jī)。同樣,如果工作空間的設(shè)計(jì)會(huì)有很多人走來(lái)走去,這也會(huì)讓程序員無(wú)法專心?;蛘咚麄冏奈恢煤苋菀妆还芾碚呖吹降鹊龋@些因素都會(huì)讓程序員壓力增大而無(wú)法專心。
6. 降低需求變數(shù)
比如,一個(gè)簡(jiǎn)單的功能:
版本 1(發(fā)布前):功能是在地圖中顯示一個(gè)定位。
版本 2 (當(dāng)版本 1 幾乎開(kāi)發(fā)完畢時(shí)):功能變?yōu)椤冈?3D 地圖上展示一個(gè)坐標(biāo)」。
版本 3 (當(dāng)版本 2 幾乎開(kāi)發(fā)完畢時(shí)):功能又變成「在 3D 地圖上展示一個(gè)用戶能在上空飛過(guò)的坐標(biāo)」。
這種需求上的變數(shù),和需求安排的不合理,會(huì)極大降低程序員工作效率。
7. 做有意義的產(chǎn)品
如果一個(gè)產(chǎn)品團(tuán)隊(duì)在沒(méi)有仔細(xì)考察功能是否有需求就定義了產(chǎn)品優(yōu)先級(jí)(通過(guò)客戶反饋或者其他渠道),程序員很可能會(huì)開(kāi)發(fā)出很多用不到的功能。這會(huì)讓他們覺(jué)得自己做的東西沒(méi)有利用價(jià)值,開(kāi)發(fā)的熱情也會(huì)大大降低。所以我們要明確產(chǎn)品定義,做有意義的產(chǎn)品。
8. 沒(méi)有考慮技術(shù)負(fù)債
技術(shù)負(fù)債是為了更快上線產(chǎn)品而使用非最佳解決方案或編寫(xiě)不是最好的代碼。這些決定有時(shí)候是不可避免的,因?yàn)榭梢栽诙唐趦?nèi)提高軟件開(kāi)發(fā)的速度。但是,長(zhǎng)遠(yuǎn)來(lái)看,這會(huì)讓系統(tǒng)復(fù)雜程度提高,并且會(huì)降低開(kāi)發(fā)速度。
非程序員總是想盡快推進(jìn)項(xiàng)目而低估了生產(chǎn)力的浪費(fèi),這就成了一個(gè)問(wèn)題。如果代碼重構(gòu)永遠(yuǎn)排不上優(yōu)先級(jí),這不僅會(huì)影響效率,還會(huì)影響產(chǎn)品質(zhì)量。
9. 好用的工具,高性能硬件
SSD!大顯示屏!高性能電腦!好用的軟件!
在開(kāi)發(fā)人員的軟件工具和硬件上投資是肯定不會(huì)錯(cuò)的!讓你的開(kāi)發(fā)團(tuán)隊(duì)選擇他們喜歡的工具和硬件(為單人買硬件,為整個(gè)團(tuán)隊(duì)買軟件工具)。
10. 代碼注釋規(guī)范
規(guī)范的注釋可以避免很多不必要的麻煩,有些人只有被坑到的時(shí)候才感覺(jué)出規(guī)范注釋的重要性。
11. 合理的任務(wù)排期
項(xiàng)目排期很重要,需要給出合理的排期,如果你給一個(gè)完全無(wú)法完成的排期,那程序員可能就不做了,這會(huì)影響員工和諧。