请记住 - 没有这样的事情可以应用于所有情况下的“理想”通用开发环境。通常,技术限制阻止了这些想法的全面采用。作为多年的知名承包商,我发现与我共事的最糟糕的系统没有本地管理员权限,每一次安装都需要致电技术支持,他们总是诅咒我们开发人员要求太多。
我拥有的最佳场景是:如果您要删除本地管理员权限,请为他们提供强大的本地托管虚拟机。他们应该在网络上有一个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