Помните - нет такой вещи, как "идеальная" общая среда разработки, которая могла бы применяться во всех случаях. Часто технические ограничения препятствуют полному принятию этих идей. Как подрядчик с известными годами, я обнаружил, что самая плохая система, с которой я работал, не имела прав локального администратора, каждая маленькая установка требовала обращения в службу технической поддержки, и они всегда ругали нас, разработчиков, за то, что они слишком много просили у них.
Лучший сценарий, который у меня был, заключается в следующем: если вы собираетесь удалить права локального администратора, предоставьте им мощную локальную виртуальную машину. У них должна быть DMZ в сети, чтобы они могли делать что угодно с виртуальной машиной. Если они что-то испортили, вы можете просто восстановить виртуальную машину из файла. В этом сценарии важно то, чтобы использовать хороший исходный репозиторий, такой как GIT, Team Foundation Server, SVN и т. Д. Таким образом, предполагается, что разработка должна осуществляться - без какой-либо зависимости от рабочих станций разработчика, помимо фактического ввода кода. .
Список этого и других советов:
Предоставить разработчикам полную свободу в их виртуальных машинах (доступ в Интернет, установка приложений и т. Д.)
Используйте хороший репозиторий управления исходным кодом, который каждый разработчик может разветвлять по своему усмотрению. Осуществляйте постоянные проверки (например, один раз в час) и используйте сервер сборки (непрерывная интеграция или «CI»), который проверяет наличие поврежденных сборок. Сервер CI должен отправить электронное письмо всем членам команды, когда сборка не работает.
Дайте каждому локальному компьютеру лучшие ресурсы, которые вы можете себе позволить. Я слышу этот аргумент, что 4 ГБ достаточно для Visual Studio. Нет ничего дальше от истины. Вы можете решить придерживаться этого, но, поверьте мне, - когда ваша машина разработчиков разматывает страницы на диск снова и снова, потому что каждая сборка занимает много памяти, вы теряете минуты каждый час - часы каждую неделю - из-за потери производительности, потому что медленных машин.
Постарайтесь не смотреть свысока на ваших разработчиков - они чувствуют запах этого за милю и обижаются на вас (хотите нести ответственность за недовольных разработчиков, удаляющих исходный код или представляющих ошибки?). Скорее всего, причина в том, что они «небрежные разработчики», потому что никто в компании не может управлять людьми. Лучшие команды возглавляют умные, открытые, образованные менеджеры проектов. Они получают то, что им нужно, когда им это нужно. Стоимость программного обеспечения НИЧЕГО по сравнению со стоимостью заработной платы разработчика - все же я все еще слышу о том или ином менеджере, отказывающемся от продукта, потому что он стоит очень дорого. В прошлый раз это был XML Spy - потому что «Блокнота хватит». Конечно, это будет так же, как хватит ног, а не машин, но я не хочу ходить везде, черт побери!
Идти против структуры - я на самом деле думаю, что удаление способности администратора у всех разработчиков - это хорошая вещь, ЕСЛИ вы можете создать poweruser с большинством способностей. Самая большая проблема, которую я нахожу в команде, это люди, которые применяют исправления или устанавливают дополнительное программное обеспечение, которое они не прояснили с помощью управления. В прошлый раз кто-то установил ReSharper, а затем пожаловался, что машина движется медленно. У них был компьютер объемом 2 ГБ, а для работы ReSharper 5 требуется минимум 4 ГБ, чтобы работать поверх Visual Studio 2010.
Дополнительно - учиться развиваться без использования мышки. Это радикальная концепция, которую я знаю, но мышь работает медленнее, чем сочетания клавиш. Если значок не находится в самом углу страницы, поиск значка и его нажатие занимает в среднем одну или две секунды. Запоминание ярлыка происходит быстрее.