Распределенная команда разработчиков - Необходимые инструменты [закрыто]

У меня есть команда разработчиков, распределенная по всему миру по разным часовым поясам.

Каковы лучшие инструменты для достижения максимальной производительности в такой команде?

Я ищу:

  • Управления источником
  • Отслеживание ошибок
  • Управление сборкой
  • Любая другая вещь, которая может помочь

Спасибо

13.12.2008 08:55:36
Вы используете Visual Studio? Затмение? Это может повлиять на выбор инструментов.
Ola Eldøy 13.12.2008 21:39:34
9 ОТВЕТОВ
РЕШЕНИЕ

Когда вы говорите «с открытым исходным кодом», вы имеете в виду свободное программное обеспечение или «я хочу / предпочитаю иметь возможность видеть источник»?

Обратите внимание, что ваше решение будет зависеть от характера вашего проекта. Существует много бесплатных сайтов для разработки / размещения проектов, которые требуют, чтобы ваш проект был проектом с открытым исходным кодом и был бесплатным / открытым для общественности.

Вы также можете выбрать конкретную хостинговую платформу, основанную на языке, который вы используете для разработки проекта. Например, CodePlex (http://www.codeplex.com/) - это сайт, на котором размещены проекты на основе .Net с открытым исходным кодом, а Java.Net (http://community.java.net/projects/) - проекты Java.

Другие ответы на ваш вопрос являются твердыми, вот что я сейчас использую или использовал в прошлом:

Отличный инструмент для непрерывной сборки JetBrains TeamCity. (http://www.jetbrains.com/teamcity/) Инструмент имеет встроенную поддержку для многих инструментов сборки, а также для создания решений Visual Studio из коробки. Это бесплатно для команд из 20 или менее разработчиков. Он также имеет множество функциональных возможностей и может быть запущен для вас в считанные минуты - удивительно низкая кривая обучения без сокращения функций.

Полезный SVN-репозиторий, который бесплатен для двух разработчиков и сэкономит вам время на настройку и администрирование вашего собственного SVN-репозитория, называется Unfuddle. (http://www.unfuddle.com) Unfuddle также имеет дополнительные платные функции и отслеживание основных задач.

Еще одним платным репозиторием исходного кода является ProjectLocker ( http://www.projectlocker.com ), который имеет недорогие SVN-репозитории и интеграцию Trac для управления задачами.

Полезный инструмент отслеживания задач - Remember The Milk ( http://www.rememberthemilk.com ) - он не работает с «билетами», такими как Trac, он не только для отслеживания проектов, но и позволяет отправлять друг другу задачи по электронной почте. и иметь общие списки задач. Я также указываю на них, потому что сам продукт разрабатывается распределенной командой разработчиков, и вы можете попробовать отправить их по почте за советом. :-)

Всего наилучшего вашей команде!

1
13.12.2008 13:16:31

Для первых двух:

  • Распределенный источник контроля, как Git
  • Хороший инструмент отслеживания проблем, например, Jira
3
13.12.2008 09:07:15

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

Поэтому я могу дать рекомендацию, основываясь на инструментах с открытым исходным кодом, которые работали для меня в прошлом. У вас могут быть особые потребности, которые требуют более конкретных решений, но вы их не упомянули. Кроме того, для повышения производительности полезно, если люди могут продолжать использовать инструменты, с которыми они знакомы, а вы не объяснили, какие инструменты ваши люди уже знают.

В любом случае, вот моя рекомендация:

  1. использовать Subversion для контроля версий
  2. использовать Roundup в качестве трекера ошибок
  3. используйте make для управления сборкой, используйте Buildbot для автоматизированных распределенных сборок
  4. использовать списки рассылки, основанные на Mailman
3
13.12.2008 09:08:23

Для среды .NET:

Я очень доволен Assembla - они содержат сервер SVN и Trac для ваших проектов по очень разумным ценам (или бесплатно, если проект является публичным).

3
13.12.2008 09:28:22

В качестве источника контроля: почему не распределенная система, такая как git (если вы не используете Windows), Mercurial или Bazaar?
Для отслеживания ошибок я бы пошел на Trac - у него также есть интегрированный Wiki, который всегда полезен для проектной документации.
Что касается управления сборкой, вы можете пойти на круиз-контроль, или муравей - я не очень опытный в этой области.

Тем не менее, есть кое-что, что вы должны принять во внимание: главная проблема для распределенных команд - это не набор инструментов, а общение .
Это еще более важно в «гибкой» настройке, как подсказывает ваш тег.

Лучшее смягчение, которое я когда-либо видел для этой проблемы, является видеоконференцсвязью. Это очень эффективно для увеличения пропускной способности связи в распределенных командах, а с GTalk и Skype теперь действительно недорого.

2
13.12.2008 21:36:52

Рассмотрим Fogbugz для отслеживания ошибок. Это полезно

2
13.12.2008 09:54:46

Вики является обязательным.

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

Существует несколько миллиардов вики , выбирайте один в зависимости от того, что вы планируете с ним делать.

1
13.12.2008 14:34:28

Я думаю, что вам понадобится еще несколько вещей, чтобы помочь с этим проектом, чем то, что вы просили.

Сначала я дам свои рекомендации для вашего списка:

  • Управление исходным кодом: git или svn, если вы используете любой из них, вам нужен способ, чтобы ваши разработчики знали, кто проверял, что и когда, Trac хорош для svn
  • Отслеживание ошибок: Trac (не Bugzilla), Mantis, FogBuz
  • Управление сборкой: CruiseControl отлично подходит для непрерывной интеграции; если вам нужны сценарии сборки, попробуйте Ant или Maven

Другие вещи, которые вам, вероятно, понадобятся:

  • Инструмент для совместной работы: у Trac есть вики или выберите вики на ваш выбор
  • Инструменты чата: даже если они находятся в разных часовых поясах, потребуется мгновенное общение. IRC, Jabber, Skype, который отлично подходит для видео или аудио звонков через Интернет.
  • Управление проектами: вам понадобится способ настроить ваши выпуски (спринты, если вы используете Scrum) и ваше отставание. Мой любимый инструмент для этого - Acunote: ( http://www.acunote.com ). Есть и другие, но они дороже, и вы получаете все функции, которые вам, вероятно, не нужны.

Надеюсь, это поможет.

0
13.12.2008 18:59:34

Да, я твердо верю, что в распределенных командах инструмент важен. Общение достаточно сложно, если вы не работаете вместе на месте. Такой инструмент, как, например, Agilo for Scrum , основанный на trac, предлагает вам вики, доску для планирования (онлайн-доску) и таким образом помогает вам улучшить общение с коллегами.

0
22.09.2009 16:55:10