Як заохотити прийняття контролю над версіями


21

Я нещодавно почав працювати в команді, де немає контролю над версіями. Більшість членів команди не звикли до контролю над версіями. Я використовую ртутний приват, щоб відстежувати свою роботу. Я хотів би заохотити інших прийняти його, і, принаймні, розпочати версію коду, коли вони розробляють зміни. Хтось може дати мені поради щодо того, як я можу заохотити прийняття розподіленого контролю версій, такого як mercurial. Будемо дуже вдячні за будь-які поради щодо того, як перемогти людей, включаючи менеджерів до DVCS.


4
Я би додав відповідь, але не можу. Я безмовна (точніше, безглузда). Минуло майже 40 років з моменту появи вперше SCCS. Чи є ще організації, які не використовують контроль версій ні для чого, крім найпростіших проектів? (Сьогодні це інша крайність; деякі люди мають свій домашній каталог як сховище git.)
David Hammen

11
Не заохочуйте це; вимагати цього.
Стівен Еверс

1
Компанія, з якою я зараз працюю, консультується з набагато більшими компаніями, ніж ми, і мені ще доводиться стикатися з тією, яка використовує контроль над джерелами ... Після роздуму над цією заявою я раптом можу зрозуміти, для чого їм потрібен хтось інший, щоб вирішити свою проблему. Перше, що ми робимо, як правило, - це вимагати, щоб вони його встановили, щоб ми могли використовувати його для інтеграції та управління своїми і нашими змінами. Як заявив @SnOrfus, вимагайте цього. Ви можете вказати на всю документацію, яку він також відзначив як найкращу практику.
Джошуа Дейл

7
Я зі SnOrfus. Тут є кілька хороших відповідей, але в кінцевому рахунку, якщо ви не отримаєте позитивної реакції відразу , настав час піти. Як і Девід Хаммен, я мовчу, що в 2011 році будь-який розробник опинився в ситуації, коли їм потрібно вирішити подібне питання. Відсутність контролю версій - це дисфункція, яка просто неприйнятна.
Carson63000

2
Підкрадайтеся за одну ніч і видаляйте їх жорсткі диски. Ні вибач. Тимчасовий проміжок професіоналізму є.
DJClayworth

Відповіді:


7

Вам потрібно скласти справу щодо використання версій управління і спершу спробувати продати її своїм колегам, і якщо це не вдасться, підняти ланцюжок до керівництва проектом і вище.

Для колег-програмних інженерів ваш випадок повинен бути зосереджений на тому, як це економить час і головні болі в довгостроковій перспективі. Знайдіть часи із власного минулого чи опубліковані історії (блоги, статті в журналах, доповіді) про те, як використання контролю версій полегшує ваше життя. Якщо ви згоріли, не маючи керування версіями, зробіть це особистим. Якщо ваші колеги-розробники опинилися в одній ситуації, вони повинні побачити світло і як ці інструменти можуть їм допомогти.

Це ваша найкраща ставка. Хоча зараз я не можу знайти джерела (джерела), я прочитав (в декількох місцях), що найефективніші зміни в обробці відбуваються від розробників, яким доведеться боротися зі змінами. Якщо ви можете завести розробників на борт, ви досягнете двох речей. По-перше, ви вже маєте придбання від людей, на яких впливатимуть зміни процесу. По-друге, є група людей, які переконують керівництво, що це доречне зусилля та покращить продукт та проект.

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

Щоб проектувати, програмувати та керувати організацією, справа повинна полягати у тому, як розгортання керування версіями може заощадити час та гроші організації. Люди на цьому рівні піклуються про те, скільки грошей коштує проект, де він стоїть порівняно з кошторисами тощо. Шукайте білі документи, книги, статті та інші професійні документи та публікації, які пояснюють, як розгортання контролю версій заощадило час та гроші інших організацій в довгостроковій перспективі. Тут ви також можете ввести перспективу якості, якщо ваша організація зацікавлена ​​в якості програмного забезпечення.

Ви спеціально згадали, що хочете використовувати розподілену систему управління версіями. Не змушуйте це робити в горлі команди чи організації. Познайомте їх з контролем версій та їх варіантами. Хоча ви особисто бажаєте використовувати DVCS (наприклад, Mercurial), це може не найкраще підходити для вашої команди та організації. Використання невірного інструменту погіршить ситуацію лише через молотіння.

Крім того, пам'ятайте про ризики запізнення в процес . Хоча використання керування версіями є загальноприйнятою найкращою практикою, можливо, буде занадто пізно, щоб ефективно впровадити її в поточний проект без величезного ризику для завершення проекту. Натомість я б рекомендував зосередитись на покращенні статусу для майбутніх проектів та команд.

Крім того, це загальний підхід, якого ви можете дотримуватися для здійснення будь-яких удосконалень процесу чи технологій.


5

Перше питання: що вони роблять зараз? Напевно, кожен розробник не має вихідного коду, наклеєного на власну коробку, яку він змінює за бажанням. Після того, як у вас є процес, який вони виконують в даний час, ви можете запропонувати деякі інструменти, які покращують цей процес - зазвичай, SCM ідеально допомагає їм у цьому, а не змушує їх слідувати іншим процесом.

Тут головне: якщо у них є псевдо-SCM спосіб роботи, можливо, зберігання поточної версії десь на сервері, то вам потрібно визначити, чи DVCS або CVS є більш підходящим, не намагайтеся продати їх Mercurial якщо SVN краще підходить.


3

Найшвидший спосіб - переконати керівництво в необхідності.

Зробіть кілька розрахунків:

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

Вартість не впровадження контролю версій:

Найкращий випадок - дні, втрачені через відсутність правок, перезапис змін інших та ін., Помилки, що повторюються тощо.
Найгірший випадок - однак за скільки часу багато років зусиль ваша команда витратила.

Цей останній показник - найгірший випадок, коли ви втрачаєте всю свою роботу через збій сервера і т. Д., Але навіть сценарії «найкращого випадку» повинні донести додому, чому це потрібно. Вартість повторюваних помилок може бути більшою, оскільки це може призвести до втрати клієнтів.

Команда розробників також повинна розуміти ці витрати і враховуючи, що більшість (якщо не всі) програмного забезпечення для управління версіями безперебійно інтегрується з IDE в ці дні, і вони навіть не помітять, що вони там є більшу частину часу.


Вартість програмного забезпечення для управління версіями не безкоштовна. Саме програмне забезпечення може бути безкоштовним (залежно від вашого вибору), але в організації, яка нічого не потребує, вам потрібна підготовка інженерів, можливо, вам знадобиться обладнання для зберігання сховищ, і якщо організація розкаже їх усім, збільшення фінансування ІТ для підтримки нових вимог до апаратного та програмного забезпечення. Не кажучи вже про високий ризик розгортання процесу в кінці проекту.
Томас Оуенс

@Thomas - звідси мій рядок щодо вартості його реалізації (що, мабуть, недооцінка)
ChrisF

Редагування робить це значно краще.
Томас Оуенс

1

Зазвичай управління найбільше піклується про економію грошей. Підкресліть, як контроль версій може фінансово принести користь команді, і ви одразу привернете їх увагу!


Управління є, але завжди легше привернути увагу керівництва, якщо у вас є група людей, яка щось говорить, а не людина.
Томас Оуенс

@Thomas дійсно, більше голосів створює більше шуму і, таким чином, більше шансів отримати увагу керівництва
rrazd

1

Є один аспект, якого інші люди тут не торкнулися, я думаю, що ви потрапили у свій кут - ви говорите про розподілене управління версіями - за своєю суттю ви можете перенести його в фактичну практику, один розробник зараз. Завдяки більш пустому контролю версій, як, наприклад, те, що ми використовуємо в моєму кабінеті (MS Visual SourceSafe), вам не складе труднощів підійти до хлопця в кубіку навпроти мого і продати його, один на один, по суті контроль версій. Однак за допомогою (будь-якого) DVCS ви можете просто сказати: "Ей, спробуйте це, і подивіться, чи сподобалось вам. Я покажу вам мотузки, і я з радістю відповім на будь-які запитання, пройду вас, бла-бла. бла ". Таким чином, вам не потрібен "процес" знизу вгору, ви можете будувати низовий мандат, по одній людині.


0

Спираючись на відповідь gbjbaanb.

Тут головне - ви повинні адаптувати процес контролю версій до будь-якого існуючого процесу та показати, як це економить решту зусиль команди.

Я особисто віддаю перевагу Mercurial, але я не обов'язково хотів би придумати його людям, не звичним до контролю версій, оскільки це трохи складніше зрозуміти, ніж старомодна система управління блокуванням версій на основі сервера. Це сказало, що якщо це справжній сайт із зелених полів, можливо, найкраще буде пройти цілу свиню, пропустити 80-ті та 90-ті і піти з Меркуріалом. Я також роздивився б деякі речі життєвого циклу третьої сторони програмного забезпечення, побудовані навколо Mercurial - я впевнений, що існує одне, але його ім'я уникає мене;)

Я здогадуюсь, що ви працюєте в невеликій компанії і що ви відносно новачок в команді, тому це може бути важким продажем, особливо якщо решта команди закріпилася і має довіру керівництва. Найкраще, нехай вони щось погано набивають, а потім приходять на допомогу. Це не означає саботаж, просто чекайте неминучого.


Дякую за всі ваші відповіді, чи може це питання стати питанням спільноти? Повноваження, які є, дозволяють мені коротко поговорити / демонструвати 15 хвилин про те, як я ним користуюся. Одна перешкода - хто її використовує? Це деякі умовно-безкоштовні програми з Інтернету? Я хотів би вгамувати страхи, вказуючи на деякі відомі компанії, які використовують / підтримують Mercurial (будь-який DCVS) комерційно. Може хтось допоможе мені навести деякі компанії, які використовують Hg? Або інший добре відомий продукт, що використовує його. Існує опір (невимушене оглядання) відкритим кодом, деякі менеджери здаються підозрілими щодо програмного забезпечення, за яке вони не платять.
Man Wa kileleshwa
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.