Как убедить компанию переключить систему управления версиями [закрыто]

StackOverflow https://stackoverflow.com/questions/44588

Вопрос

Мое нынешнее место работы в настоящее время переживает переходный период, на смену мне пришли новые собственники, все, наконец, становится стандартизированным и вводятся в действие надлежащие руководящие принципы.

Но мы все еще используем VSS, на самом деле нет никаких причин для его использования, кроме как это то, что изначально настроено.Мы не используем Visual Studio или какой-либо другой инструмент, который действительно требует этого.

Какой был бы абсолютно лучший аргумент, который я могу привести, чтобы помочь убедить их в том, что переход к чему-то вроде Subversion был бы гораздо лучшим решением в долгосрочной перспективе?

Это было полезно?

Решение

VSS полностью полагается на клиентов в управлении базой данных.Если клиент прерывает соединение во время записи по сети в неподходящее время, ваш файл на сервере будет удален.Не только чаевые, но и вся история.Надеюсь, у вас есть хорошая резервная копия.Я прошел через это.Это плохие новости.

Использование VSS через VPN или другие удаленные подключения является плачевным.Он использует SMB для передачи данных, и вам нужно извлечь файл и все его дельты, просто чтобы получить подсказку.Противный.

Я видел, как VSS начинает барахлить при 1 ГБ данных.Ошибки базы данных и т.д.MS (где-то в FAQ или KB) говорит, что 2 ГБ - это действительно максимальный безопасный предел.Хороших инструментов управления не существует (клиенты управляют убежищем), поэтому на самом деле вы не получаете никаких предупреждений по этому поводу.

Что Угодно использование серверного процесса для обеспечения определенного уровня транзакций и контроля целостности является превосходным решением.

Другие советы

Лучшим аргументом должна быть причина, по которой вы хотите, чтобы они переключились на subversion.:)

Я абсолютно ничего не знаю о VSS, но на ум приходит фраза "если она не сломана, не чините ее".Вы должны показать своим менеджерам, что VSS сломана и нуждается в исправлении.Еще лучше, если вы сможете показать руководству, как это сэкономит им деньги.

@Адам Дэвис:На самом деле, Адам, VSS - ужасная система управления версиями.Он имеет долгую историю искажения истории и потери данных.Он ужасен при объединении, плохо справляется с несколькими разработчиками и работает очень медленно.Кроме того, история бедна.Microsoft на самом деле больше не поддерживает его, вы заметите, что они никогда не использовали его для собственной внутренней разработки, и теперь они даже не продают его в пользу более современного решения (VSTS).Короче говоря, если вам нужно выбирать между VSS и любым другим типом управления версиями, выберите альтернативный вариант.

Просто перейдя к функциям, которые дает хороший контроль над версиями:

  • возможность легко просматривать журналы о том, кто что делал, когда и в каком порядке, к каким файлам
  • храните историю прошлых версий всего
  • легко вернитесь назад и воспроизведите определенную версию ваших файлов из любой предыдущей версии, чтобы легче воспроизвести ошибки, обнаруженные в более старых версиях
  • возможность получить удаленный код или удалить нежелательные изменения, не беспокоясь о потере данных в процессе

Любой документ, подтверждающий переключение, снизит затраты.В противном случае - разноцветные графики и хит-парады.Может быть, мощная презентация.

Интернет завален хорошо написанными статьями о недостатках VSS.Я бы собрал это как совокупность доказательств для того, чтобы отойти от VSS.Найдите ключевое требование, которое VSS не может поддерживать (удаленная работа, поддержка в других операционных системах, интеграция инструментов), и используйте его для решения вашей проблемы.Затем вам нужно найти систему управления версиями, которая хорошо соответствует требованиям вашей организации - вы уверены, что Subversion является такой системой?Организуйте демонстрацию выбранной вами системы и используйте это, чтобы доказать ее ценность.

Я внедрил это изменение у предыдущего работодателя (сначала в CVS, а затем в SVN), и, хотя оно было успешным, нам пришлось создавать множество деталей по периметру и полагаться на множество (иногда ненадежных) проектов с открытым исходным кодом, чтобы получить все необходимые инструменты.Оглядываясь назад, я должен был подумать о попытке оценить профессиональные инструменты, такие как Perforce, Vault или даже Team System.Оценив их, я мог бы вынести правильное оценочное суждение о том, стоят ли CVS / SVN их "бесплатной" цены.

умение справляться с ветвлением и разветвлением - это только начало.

Попробуйте некоторое время использовать subversion параллельно с vss, и вы, скорее всего, найдете много аргументов, чтобы убедить своего босса.Если вы этого не сделаете, значит, ваш босс прав, нет причин переключаться.

Найдите их в Google по запросу "проблема с vss", "безопасное повреждение источника" или просто посмотрите на вики-страницу для этого.Это должно убедить их в том, что для вас, вероятно, нецелесообразно делать ставку на такую жизненно важную часть вашего бизнеса в долгосрочной перспективе.

Насколько велика ваша команда?(т. е. я имею в виду количество участников, а не то, являетесь ли вы любителями салатов или нет) Как только у вас наберется более полудюжины достаточно активных пользователей, VSS вызовет у вас головную боль.

Я серьезно сомневаюсь, что Microsoft использует его (на самом деле, разве они не используют индивидуальный вариант Subversion или CVS?), и вы должны спросить себя - если компания не ест свой собственный корм для собак, зачем вам есть его?

Основной ответ заключается в том, что вы должны доказать, что переключение отвечает потребностям бизнеса.Например:

  1. более низкая стоимость разработки
  2. сокращенный график (еще один оттенок №1)
  3. более подходит для удовлетворения требований процесса (таких как отслеживаемость требований к программному обеспечению, воспроизводимость сборки и т.д.).

Аргументация в отношении этих вещей также требует чего-то количественного, а не просто "мы снизим затраты, потому что это правильно как это можно сделать!".

Одна вещь, на которую следует обратить внимание, - это то, что разработчику слишком легко убедить себя в том, что было бы выгодно внести изменения, не пройдя сначала через основные бизнес-фильтры.Как только это произойдет, вы получите разработчиков, которые недовольны своими инструментами и вдвойне расстроены, потому что они думают, что руководство их не послушает.Если вы не сможете отметить что-либо из вышеперечисленного, у вас не будет шансов убедить руководство в чем-либо (если только руководство не некомпетентно, но это к другому вопросу).

Почему Subversion поверх VSS?

  • Свободное программное обеспечение
  • Проще в управлении
  • "регистрация заезда" - это атомный!
  • Легко разветвляется и объединяется
  • Непрерывное развитие (т.е.VSS - это тупик)
  • Улучшенные инструменты для отслеживания изменений и просмотра журналов
  • Не зависит от набора инструментов и платформы, но также интегрируется со многими инструментами

Я сделал это предложение своему менеджеру, и продать его было довольно легко.Я обнаружил, что это намного проще в использовании, особенно для ветвления (нашему проекту потребовалось 5 часов, чтобы "поделиться и закрепить" в VSS, а затем выполнение каждой операции заняло дополнительное время!).

Я уже ранее написанное о том, почему VSS - не очень хорошая идея.Возможно, вы смогли бы извлечь из этого некоторую информацию.Также эта статья и этот содержать дополнительную информацию.

VSS 2005 замазала некоторые трещины в версии 6.0, но не особенно убедительным образом.Остается тот же самый безмозглый фундамент.

Даже если он не сломан, есть потенциальная выгода от перехода с VSS.Во-первых, и это самое тривиальное, вам не придется покупать новые лицензии VSS.Во-вторых, существует множество примеров недостатков в продукте VSS (некоторые также признаются MS).Кривая обучения для SVN, по крайней мере, такая же низкая, как и для VSS, и если у вас есть разработчики, которым нравится их система управления версиями, они с большей вероятностью будут использовать ее рано и часто.Это приведет к гораздо меньшему риску для вашей компании, и это хорошая выгода.

@Джейсон:VSS сломан.

Я думаю, что самый мощный метод мотивации отказа от VSS - это указать, насколько важным ресурсом является ваш исходный код.Рисковать его целостностью - не самый мудрый бизнес-выбор.

Добавьте, что ваши программисты являются создателями этого ресурса, и что упрощение их работы означает повышение ценности вашего ресурса с исходным кодом.Джоэл из отдела программного обеспечения часто говорит о том, что инвестирование в его программистов - большая победа для его компании.

Все остальные ответы здесь описывают конкретные причины, на которые вы можете указать при изложении своей аргументации.

В дополнение к техническим моментам, приведенным в других ответах, могут скрываться нетехнические причины, на которые вы должны быть готовы ответить:

Вам следует выяснить, придерживается ли ваша компания какой-либо политики в отношении программного обеспечения с открытым исходным кодом (или необоснованного страха перед ним).Если компания или ее юристы не понимают всех тонкостей того, какие лицензии “заражают” проприетарный код, а какие нет, а также того, что вы можете делать с открытым исходным кодом, который не влияет на ваш проприетарный код, вам будет трудно заставить их переключиться с проприетарного инструмента на инструмент с открытым исходным кодом.(И, возможно, у вас на руках более серьезная образовательная работа.)

Выступая за переход от проприетарного (например ,VSS) с открытым исходным кодом (например,subversion) вам также нужно быть готовым защищать качество кода и отсутствие какой-либо необходимости в гарантии или других договорных правах в отношении кода.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top