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