Управлять наёмными рабочими и распределенными проектами — это просто и весело. Стоп, что за чушь? На помощь приходит хороший контроль версий — именно то, что вам нужно, чтобы правильно вести ваши проекты.
Далее — перевод статьи Collaborate and Connect with Subversion. Это мой первый перевод, поэтому был бы очень рад вашим замечаниям.
Представьте, что у вас своя веб-студия. Быть может, это лишь вы и еще пара людей. Из-за столь небольшого состава вы часто прибегаете к помощи наёмных рабочих (субподрядчиков). Благодаря этому, вы можете браться за большее количество проектов, зарабатывать больше денег и аккуратно масштабировать свой бизнес. Однако управление даже небольшим количеством наёмных рабочих требует большого напряжения и сил. На определенном этапе вы стол��нетесь с тем, что субподрядчик не выполняет свои обязанности в срок, не соблюдает ваши стандарты качества, или, что еще хуже, исчезает, так и не завершив работу. Вам могут помочь тщательные проверки данных, твердые соглашения и активный менеджмент. А технологии, в свою очередь, могут улучшить совместную деятельность для того, чтобы ваши проекты всегда были под контролем. Встречайте — Subversion.
Subversion (SVN) — это система контроля версий, которая позволяет хранить и следить за изменениями вашего кода, совместно использовать файлы проекта и предоставлять к ним доступ. Это очень просто. Вы пишете код и отправляете (commit) его в ваш SVN-репозиторий (место, в котором хранятся файлы проекта). Участники вашей команды могут скачать эти файлы, посмотреть, что вы сделали, внести свои изменения и затем, снова отправить эти изменения SVN-репозиторию. Каждый такой «commit» считается ревизией. SVN отслеживает эти ревизии и присваивает им номера, так что вы всегда можете «откатиться» к предыдущей версии вашего кода.
Благодаря Subversion, все участники вовлечены в проект: как только кто-то вносит изменения, остальные сразу могут их увидеть (см. ниже Необходимые инструменты). Если у вас надежные субподрядчики, вы не будете лишний раз волноваться. Однако, при работе с непроверенными людьми, такая видимость позволяет избежать всех разногласий, проблем в проекте и ошибок в коде до того, как настанет время принимать работу.
Если субподрядчики действительно хотят сотрудничать с вашей студией, заставьте их следовать вашему рабочему процессу и использовать те же средства. Различия могут серьезно затруднять деятельность небольших компаний, особенно компаний по работе с клиентами.
Некоторые наёмные рабочие, быть может, захотят отправить вам результаты работы. zip-файлом по почте или выложить их на удаленном сервере, чтобы вы скачали и посмотрели. Это, конечно, хороший способ, но так принадлежащий вам код находится за пределами вашей организации. Фактически, вы теряете контроль над проектом. Каково же решение? Сделайте SVN часть�� вашего рабочего процесса. Помимо обычных преимуществ, вроде версионности и одновременной работы множества людей над проектом, SVN заставляет ваших субподрядчиков быть более ответственными, а также позволяет держать код и файлы для ваших клиентов под контролем и в вашей собственности.
Поскольку вы — наниматель, вы имеете полное право оговорить правила сдачи, используемые средства, а также когда и как работа должна быть сделана. Ваши субподрядчики оценят серьезный рабочий процесс и будут более ясно осознавать, что действуют вместе с вами.
Процесс не должен быть применен только потому, что это процесс. В зависимости от уровня ответственности наёмного рабочего, вы можете решить не включать его в ваш SVN. А когда это сделать — вы увидите сами.
Каждый использует Subversion по-разному. Кто-то любит отправлять изменения проекта по несколько раз за день. Другие же предпочитают работать над проектами и отправлять изменения в конце рабочего дня. Многое зависит от типа проекта, над которым вы работаете, а также от количества людей, работающих над одним и тем же кодом. Я обнаружил, что чем ближе завершение проекта, тем больше изменений, происходящих в течение короткого периода времени. На этом этапе я отправляю изменения в SVN чаще.
Установите, насколько часто вы ожидаете обновлений от ваших наёмных работников. Я рекомендую не менее одного раза в день, пока они работают над проектом.
Мы ведь не просто получаем больше управления в свои руки? Конечно. Теперь вы можете оценивать качество и количество выполняемой субподрядчиками работы за определенное время. Вы способны быстро оценивать продуктивность ваших наёмных рабочих, и им это тоже полезно — вам не нужно приставать к ним с просьбами закончить работу, пока вы работаете вместе.
Субподрядчики могут беспокоиться, что при таком порядке им не заплатят за работу. Ведь, действительно, если у вас последняя версия их исходных кодов, что мешает вам присвоить себе работу, не заплатив при этом. Subversion, сама по себе, не разрешает данную ситуацию, хотя мошенничество мож��т иметь место при любой другой организации рабочего процесса. Убедитесь, что в вашем контракте четко описаны правила сдачи и порядок оплаты работы. В интернете полно ресурсов, где вы можете узнать, как правильно составлять контракт, чтобы полностью защитить себя. Если вы все еще работаете с субподрядчиками без контракта, вам впору задуматься о том, все ли правильно вы делаете.
Чтобы начать пользоваться SVN и понять её основы, прочтите статью «I Wonder What This Button Does» автора Mike West. Ещё один хороший и бесплатный ресурс — O’Reilly «Version Control with Subversion». Не забудьте прочитать хороший обзор по работе с SVN в главе Фундаментальные понятия.
SVN, сама по себе, может быть сложной при попытках управлять пользователями с различными правами доступа. К примеру, вы наверняка захотите, чтобы ваш субподрядчик имел доступ только к тому проекту, над которым он работает, а не ко всему репозиторию. Для упрощения работы с репозиторием и управлением пользователями я рекомендую Warehouse, веб-интерфейс к Subversion от Active Reload. Warehouse позволяет вам легко управлять репозиторием, следить за изменениями, и, самое важное, добавлять пользователей и устанавливать им права доступа. Управление пользователями в SVN может быть довольно утомительным, но, благодаря данному интерфейсу, вы можете легко добавлять и удалять их. Он также предоста��ляет RSS-ленту с изменениями репозитория, которая позволит вам и вашей команде отслеживать файлы, над которыми ведется работа в данный момент, а также все изменения, происходящие в системе. Существуют также решения, использующие свой хостинг, например, Beanstalk. Они будут располагать у себя ваш SVN-репозиторий и предоставлять пользовательский интерфейс к нему.
Хотя я настоятельно призываю людей сначала научиться пользоваться SVN из командной строки, вы также можете попробовать новое приложение под Mac OS X — Versions (в настоящее время в бета-версии). Оно предоставляет графический интерфейс к большинству команд SVN.
Добавление Subversion в ваш текущий рабочий процесс не должно происходить со скрежетом. При наличии определенных навыков, можно соединить SVN с вашими инструментами управления проектами. Существуют так называемые «события репозитория», при возникновении которых, SVN позволяет запускать любые ваши скрипты. Например, скрипт, который будет писать новое сообщение в приложение-чат Campfire от 37Signals каждый раз, когда вы отправляете изменения в SVN-репозиторий. Таким образом, вы оповещаете ваших сотрудников о сделанных вами изменениях. С помощью Google, вы найдете множество других скриптов, написанных под различные инструменты, включая интеграцию средства управления проектами Basecamp с SVN.
Существует несколько различных типов встраивания SVN, но, всё же, наиболее распространен тот, что запускает скрипт после успешной отправки изменений репозиторию. Благодаря таким скриптам, возможности по совместному использованию SVN и ваших привычных рабочих средств практически неограниченны.
Subversion — это не только отличное средство для версионности и контроля кода ваших проектов, оно также позволяет контролировать и улучшать взаимодействие между вами, вашими сотрудниками и наёмными рабочими. Пора немного улучшить жизнь себе, своей компании и своим субподрядчикам — начните применять SVN в своей работе уже сейчас.
Оригинал статьи — Collaborate and Connect with Subversion.
Translated with the permission of A List Apart Magazine and the author[s].
Далее — перевод статьи Collaborate and Connect with Subversion. Это мой первый перевод, поэтому был бы очень рад вашим замечаниям.
Представьте, что у вас своя веб-студия. Быть может, это лишь вы и еще пара людей. Из-за столь небольшого состава вы часто прибегаете к помощи наёмных рабочих (субподрядчиков). Благодаря этому, вы можете браться за большее количество проектов, зарабатывать больше денег и аккуратно масштабировать свой бизнес. Однако управление даже небольшим количеством наёмных рабочих требует большого напряжения и сил. На определенном этапе вы стол��нетесь с тем, что субподрядчик не выполняет свои обязанности в срок, не соблюдает ваши стандарты качества, или, что еще хуже, исчезает, так и не завершив работу. Вам могут помочь тщательные проверки данных, твердые соглашения и активный менеджмент. А технологии, в свою очередь, могут улучшить совместную деятельность для того, чтобы ваши проекты всегда были под контролем. Встречайте — Subversion.
Subversion создает благоприятные условия для совместной работы
Subversion (SVN) — это система контроля версий, которая позволяет хранить и следить за изменениями вашего кода, совместно использовать файлы проекта и предоставлять к ним доступ. Это очень просто. Вы пишете код и отправляете (commit) его в ваш SVN-репозиторий (место, в котором хранятся файлы проекта). Участники вашей команды могут скачать эти файлы, посмотреть, что вы сделали, внести свои изменения и затем, снова отправить эти изменения SVN-репозиторию. Каждый такой «commit» считается ревизией. SVN отслеживает эти ревизии и присваивает им номера, так что вы всегда можете «откатиться» к предыдущей версии вашего кода.
Видимость — это хорошо
Благодаря Subversion, все участники вовлечены в проект: как только кто-то вносит изменения, остальные сразу могут их увидеть (см. ниже Необходимые инструменты). Если у вас надежные субподрядчики, вы не будете лишний раз волноваться. Однако, при работе с непроверенными людьми, такая видимость позволяет избежать всех разногласий, проблем в проекте и ошибок в коде до того, как настанет время принимать работу.
Пусть SVN будет обязательным
Если субподрядчики действительно хотят сотрудничать с вашей студией, заставьте их следовать вашему рабочему процессу и использовать те же средства. Различия могут серьезно затруднять деятельность небольших компаний, особенно компаний по работе с клиентами.
Некоторые наёмные рабочие, быть может, захотят отправить вам результаты работы. zip-файлом по почте или выложить их на удаленном сервере, чтобы вы скачали и посмотрели. Это, конечно, хороший способ, но так принадлежащий вам код находится за пределами вашей организации. Фактически, вы теряете контроль над проектом. Каково же решение? Сделайте SVN часть�� вашего рабочего процесса. Помимо обычных преимуществ, вроде версионности и одновременной работы множества людей над проектом, SVN заставляет ваших субподрядчиков быть более ответственными, а также позволяет держать код и файлы для ваших клиентов под контролем и в вашей собственности.
Поскольку вы — наниматель, вы имеете полное право оговорить правила сдачи, используемые средства, а также когда и как работа должна быть сделана. Ваши субподрядчики оценят серьезный рабочий процесс и будут более ясно осознавать, что действуют вместе с вами.
Есть ли исключения из этого правила?
Процесс не должен быть применен только потому, что это процесс. В зависимости от уровня ответственности наёмного рабочего, вы можете решить не включать его в ваш SVN. А когда это сделать — вы увидите сами.
Установите ожидания
Каждый использует Subversion по-разному. Кто-то любит отправлять изменения проекта по несколько раз за день. Другие же предпочитают работать над проектами и отправлять изменения в конце рабочего дня. Многое зависит от типа проекта, над которым вы работаете, а также от количества людей, работающих над одним и тем же кодом. Я обнаружил, что чем ближе завершение проекта, тем больше изменений, происходящих в течение короткого периода времени. На этом этапе я отправляю изменения в SVN чаще.
Установите, насколько часто вы ожидаете обновлений от ваших наёмных работников. Я рекомендую не менее одного раза в день, пока они работают над проектом.
Плюсы и минусы
Мы ведь не просто получаем больше управления в свои руки? Конечно. Теперь вы можете оценивать качество и количество выполняемой субподрядчиками работы за определенное время. Вы способны быстро оценивать продуктивность ваших наёмных рабочих, и им это тоже полезно — вам не нужно приставать к ним с просьбами закончить работу, пока вы работаете вместе.
Субподрядчики могут беспокоиться, что при таком порядке им не заплатят за работу. Ведь, действительно, если у вас последняя версия их исходных кодов, что мешает вам присвоить себе работу, не заплатив при этом. Subversion, сама по себе, не разрешает данную ситуацию, хотя мошенничество мож��т иметь место при любой другой организации рабочего процесса. Убедитесь, что в вашем контракте четко описаны правила сдачи и порядок оплаты работы. В интернете полно ресурсов, где вы можете узнать, как правильно составлять контракт, чтобы полностью защитить себя. Если вы все еще работаете с субподрядчиками без контракта, вам впору задуматься о том, все ли правильно вы делаете.
Необходимые инструменты
Чтобы начать пользоваться SVN и понять её основы, прочтите статью «I Wonder What This Button Does» автора Mike West. Ещё один хороший и бесплатный ресурс — O’Reilly «Version Control with Subversion». Не забудьте прочитать хороший обзор по работе с SVN в главе Фундаментальные понятия.
SVN, сама по себе, может быть сложной при попытках управлять пользователями с различными правами доступа. К примеру, вы наверняка захотите, чтобы ваш субподрядчик имел доступ только к тому проекту, над которым он работает, а не ко всему репозиторию. Для упрощения работы с репозиторием и управлением пользователями я рекомендую Warehouse, веб-интерфейс к Subversion от Active Reload. Warehouse позволяет вам легко управлять репозиторием, следить за изменениями, и, самое важное, добавлять пользователей и устанавливать им права доступа. Управление пользователями в SVN может быть довольно утомительным, но, благодаря данному интерфейсу, вы можете легко добавлять и удалять их. Он также предоста��ляет RSS-ленту с изменениями репозитория, которая позволит вам и вашей команде отслеживать файлы, над которыми ведется работа в данный момент, а также все изменения, происходящие в системе. Существуют также решения, использующие свой хостинг, например, Beanstalk. Они будут располагать у себя ваш SVN-репозиторий и предоставлять пользовательский интерфейс к нему.
Хотя я настоятельно призываю людей сначала научиться пользоваться SVN из командной строки, вы также можете попробовать новое приложение под Mac OS X — Versions (в настоящее время в бета-версии). Оно предоставляет графический интерфейс к большинству команд SVN.
Встраивание в текущую работу
Добавление Subversion в ваш текущий рабочий процесс не должно происходить со скрежетом. При наличии определенных навыков, можно соединить SVN с вашими инструментами управления проектами. Существуют так называемые «события репозитория», при возникновении которых, SVN позволяет запускать любые ваши скрипты. Например, скрипт, который будет писать новое сообщение в приложение-чат Campfire от 37Signals каждый раз, когда вы отправляете изменения в SVN-репозиторий. Таким образом, вы оповещаете ваших сотрудников о сделанных вами изменениях. С помощью Google, вы найдете множество других скриптов, написанных под различные инструменты, включая интеграцию средства управления проектами Basecamp с SVN.
Существует несколько различных типов встраивания SVN, но, всё же, наиболее распространен тот, что запускает скрипт после успешной отправки изменений репозиторию. Благодаря таким скриптам, возможности по совместному использованию SVN и ваших привычных рабочих средств практически неограниченны.
Хватит читать, пора действовать
Subversion — это не только отличное средство для версионности и контроля кода ваших проектов, оно также позволяет контролировать и улучшать взаимодействие между вами, вашими сотрудниками и наёмными рабочими. Пора немного улучшить жизнь себе, своей компании и своим субподрядчикам — начните применять SVN в своей работе уже сейчас.
Оригинал статьи — Collaborate and Connect with Subversion.
Translated with the permission of A List Apart Magazine and the author[s].
