《軟體隨想錄》, 作者 joel spolsky,他是「joel on software」部落格的作者。他從2023年到2023年間擔任microsoft excel團隊的專案經理。在2023年,他創立了fog creek軟體並開啟了「joel on software」部落格。2023年,他和jeff atwood一起啟動了如今極為成功的stack overflow程式設計師問答**。他們用stack exchange軟體產品作為stack overflow的引擎。現如今stack exchange網路已經包含了91個站點.
書中講到了喬爾測試,例舉了12個簡單的問題來衡量開發團隊的優劣,
1.你們用源**管理系統嗎?
源**管理系統,
1)可以使程式設計師協同工作;
2)如果出錯,可以很快恢復到原來狀態;
3)每個程式設計師機器上都有電腦,不會丟失**;
目前流行的源**管理系統有github, git, svn
2.你們能一鍵編譯嗎?
1)好的團隊從最新版本的源**開始,到打包成乙個可以交付的軟體為止,只用乙個指令碼就能從頭開始完全簽出**;
2)如果每次編譯**,構建安裝包都要經過20個步驟,開發者不僅會被逼瘋,還會犯低階的錯誤;
3.你們做每日編譯嗎?
破壞編譯是非常有害的,可以每天在固定的時候編譯,比如午飯時間;
4.你們有bug資料庫嗎?
如果沒有乙個列出所有已知bug的資料庫,那麼團隊交付的**質量一定不高;
5.你們在寫新**前修改以前的bug嗎?
在寫新**之前都要優先消滅現有bug, 因為:
1)乙個bug在修復之前拖得越久,修復它的成本(時間和金錢)就越高。
2)你首次嘗試執行某段**時發現bug, 可以很快將其修復,因為你還清晰地記得所有**;
3)當你在前幾天寫的**中發現乙個bug時,就得花一點時間才能找到出錯原因;
6.你們的進度表是最新的嗎?
1)如果你的進度表裡充斥著各種需要修復的bug,那麼這份進度表完全不可靠。
2)如果你已經修復了所有已知的bug, 剩下的工作都是寫新的**,那麼進度表會是驚人地精確;
7.你們有軟體規格書嗎?
1)對於開發人員,他們更傾向於一頭紮進**中解決實際問題,而不願事先撰寫乙份軟體規格書;
2)在設計階段發現了問題,可以通過修改幾行文本來改正;而一旦寫成了**,修復問題的成本就急劇公升高,其中有情緒因素,所以修復問題會遇到很大阻力;
3)可以讓程式設計師學習寫作強化訓練,來減少他們對寫作的牴觸。
4)聘用有能力的專案經理來寫軟體規格書;
8.程式設計師的工作環境安靜嗎?
腦力勞動者在心流狀態時做得最好。
進入心流狀態,需要大概15分鐘才能達到有效率的狀態;
當疲勞,或者當天已經做了許多有創造力的工作時,就再也無法進入狀態;
進入狀態的人很容易被打擾,噪音,**,外出午餐,等。
某個同事問你乙個問題,可能只花了1分鐘時間,而這件事的影響會讓你再之後長達半個小時的時間裡,都難以回到原來的效率,從而使你的工作效率大打折扣。
打擾乙個程式設計師1分鐘,實際上破壞了15分鐘的生產力
9.你們使用了能買到的最好工具嗎?
如果每次編譯所花的時間超過了幾秒鐘,請考慮換一台最好的電腦,這會節省不少時間。
2)如果編譯時間超過15秒,程式設計師就會在等待的無聊中抽空去看新聞,繼而不能自拔,幾個小時的生產力就這麼沒了;
3)頂尖的開發團隊是不會虧待程式設計師的。不好用的工具造成的挫敗感即使很小,但是累加起來也會讓程式設計師感到鬱悶,鬱悶的程式設計師就是沒有效率的程式設計師;
10.你們有測試人員嗎?
兩三個程式設計師配備乙個測試人員
11.你們面試時會要求應聘人員寫**嗎?
1)面試官要考察的不是面試者能否記住成千上萬有關程式設計的技術細節,而是他們寫**的能力;
12.你們做過走廊可用性測試嗎?
1)走廊可用性測試,就是在走廊隨便拉住乙個人,然後強迫他(她)使用你剛寫的程式;
2) 如果你讓5個人做過這個測試,你們95%的程式可用性問題都會暴露出來;
3)使用者介面方面的問題有乙個突出的特點:如果你把程式展示給一群人(其實五六個就夠了),你很快就會總結出最不令人滿意的地方。
根據經驗,補充一項很重要的決定**質量優劣的問題:
13.你們有軟體編寫規範並進行code review嗎?
1) 軟體編寫規範,可以避免程式設計師犯一些低階錯誤,如果能有自動規範檢測工具就更好了,開發人員在寫好**後,可以自行檢測**是否符合規範。
2)code review,是團隊整體提高**質量的很重要的一環,**通過相互審核會及時發現結構或邏輯錯誤,從而慢慢提高團隊整體編碼水平,並加深對專案框架的理解。
開發團隊可以用這13個問題來自測,每個問題1分,10分或更低就說明其中的問題很大了。通過這13個問題,可以了解團隊的優點和不足,為團隊的發展制定乙個方向。
評估敏捷團隊的4個平衡指標
概要 無論你對度量標準有什麼看法,公司都會期望以此來評估你的團隊。你不想只衡量乙個方面而忽略其他資訊,但你也不希望評估太多的東西,以至於分散了團隊的焦點。以下四個指標可以均衡地評估敏捷團隊的生產力,工作質量,可 性和健康狀況。評估專案的指標數量與構建專案的指標數量一樣多。不幸的是,這些指標中的很多都...
評估敏捷團隊的4個平衡指標
概要 無論你對度量標準有什麼看法,公司都會期望以此來評估你的團隊。你不想只衡量乙個方面而忽略其他資訊,但你也不希望評估太多的東西,以至於分散了團隊的焦點。以下四個指標可以均衡地評估敏捷團隊的生產力,工作質量,可 性和健康狀況。評估專案的指標數量與構建專案的指標數量一樣多。不幸的是,這些指標中的很多都...
13 個有助於遠端團隊工作的工具
近年來,遠端工作已成為勞動力市場上最具影響力的趨勢。它使雇主能夠降低運營成本,同時員工有機會實現工作與生活之間的平衡並避免通勤。這就是為什麼去年自由經濟增長到5500萬美國人,佔美國勞動力總數的三分之一以上。這也是為什麼注意可以使您的遠端團隊更快地工作的工具的重要性。雇用一組遠端工作人員並不能保證成...