請記住 - 沒有這樣的事情可以應用於所有情況下的「理想」通用開發環境。通常,技術限制阻止了這些想法的全面採用。作爲多年的知名承包商,我發現與我共事的最糟糕的系統沒有本地管理員權限,每一次安裝都需要致電技術支持,他們總是詛咒我們開發人員要求太多。
我擁有的最佳場景是:如果您要刪除本地管理員權限,請爲他們提供強大的本地託管虛擬機。他們應該在網絡上有一個DMZ,這樣他們就可以在虛擬機上做。如果他們搞砸了,你可以簡單地從文件中恢復虛擬機。在這種情況下,重要的是使用一個好的源代碼倉庫,比如GIT,Team Foundation Server,SVN等。這是開發應該完成的方式 - 除了實際輸入代碼之外,不需要依賴開發人員工作站。
這一方面和其它提示的列表:
允許開發人員人數及其虛擬機(互聯網接入,應用程序安裝等)
使用一個很好的源代碼控制庫,每個開發人員可以隨意分支內的自由從。強制執行常規簽入(例如每小時一次)並擁有構建服務器(持續集成或「CI」),以檢查構建是否損壞。當構建中斷時,CI服務器應該向團隊中的每個人發送電子郵件。
爲每臺本地計算機提供可支付的最佳資源。我聽到這樣的說法,即4GB足夠用於Visual Studio。沒有什麼比真相更深。你可能決定堅持這一點,但請相信我 - 當你的開發者機器一遍又一遍地分頁到磁盤時,因爲每個版本都佔用大量內存,你每個小時每小時會損失幾分鐘 - 生產力的損失,慢機器。
儘量不要讓你的開發人員看不起你 - 他們會聞到它一英里遠,並對你感到憤恨(想要對不滿的開發人員負責刪除源代碼或引入錯誤?)。有可能他們之所以是「草率的開發者」,是因爲公司中沒有人能夠管理人員。最好的團隊由聰明,開放,受過教育的項目經理領導。他們在需要時得到他們所需要的東西。與開發人員的工資成本相比,軟件的成本是沒有的 - 但我仍然聽說這個或那個經理拒絕某個產品,因爲它的成本很高。上次它是XML Spy--因爲「記事本就足夠了」。當然會 - 只要腿足夠,而不是汽車,但我不想走到哪裏都該死!
爲了不利於穀物 - 我實際上認爲從所有開發人員中刪除管理員能力是一件好事,如果您可以創建具有最高能力的高級用戶。我從團隊中發現的最大問題是人們應用補丁程序或安裝未通過管理清理的其他軟件。上次有人安裝ReSharper,然後抱怨機器運行緩慢。他們有一臺2GB的機器,而ReSharper 5需要4GB的最低配置才能在Visual Studio 2010上運行。
Addtionally - 學會不使用鼠標進行開發。這是我知道的一個激進的概念,但鼠標比鍵盤快捷鍵慢。除非圖標位於頁面的角落,否則平均需要一兩秒才能找到圖標並單擊。記住一條捷徑更快。
感謝您的洞察力。我真的只想要程序員和IT部門的最佳選擇。我現在正在考慮給每個程序員開發他/她自己的虛擬機以進行開發,同時在他們的機器上刪除本地管理員權限將是最好的方式。是否有什麼我們可以用來自動化每晚從SVN構建.NET代碼到測試服務器? – zewsk 2010-05-26 18:22:48
曾聽說過CruiseControl.Net?我認爲它可以爲你自動構建。 – 2010-05-26 22:37:03