Экстремальное программирование для распределенных команд Инструменты и советы - PullRequest
2 голосов
/ 27 августа 2009

Группа из нас начинает новый проект и работает в распределенном режиме. Мы намерены использовать методологии гибкой разработки и, в частности, экстремальное программирование (XP). Это задумано как опыт обучения, но хотя некоторые из нас имеют опыт работы с XP в «традиционной» команде, ни у кого из нас нет опыта работы с XP с удаленной группой. И Agile Development в распределенной команде и Распределенная группа разработки - необходимые инструменты предлагают некоторые отличные предложения, но не относятся к XP.

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

Отредактировано, чтобы включить технологический стек в соответствии с рекомендацией Феликса

Мы пишем Ruby on Rails для Windows-машин. Нас интересуют, какие инструменты можно использовать для адаптации основных методов экстремального программирования для удаленной команды.

Ответы [ 8 ]

2 голосов
/ 27 октября 2009

Я работал над проектом распределенного экстремального программирования. Разработчики из Сиэтла, Борнмута, Великобритании и Сингапура имели общую базу кода.

Проект работал очень хорошо.

Вот отчет о проекте:

http://www.keithbraithwaite.demon.co.uk/professional/papers/2005/xp/distributed_extreme_programming.pdf

В этом документе описывается, как мы сотрудничали, и какие инструменты и методы мы использовали:

http://www.keithbraithwaite.demon.co.uk/professional/papers/2005/europlop/patterns_distributed_xp.pdf

Часть этой работы была сделана на Java, а другая на Ruby on Rails.

2 голосов
/ 27 августа 2009

Шаблон проектирования - контроллер представления модели (MVC) или Page Front Controller для предоставления приложений для тонких клиентов (возможно, ASp.NET MVC Framework 1.0)

Методология - Agile вместе с TDD (разработка через тестирование). как ты работаешь удаленно.

Поток данных - Следуйте шаблону репозитория и внедрению зависимостей ( Martin ) для облегчения слабой связи и модульного тестирования

Инструменты

для тестирования - NUNIT 2.0

для насмешек насмешки-носороги, мох каркас.

для оптимизации и рефакторинга кода - resharper 4.0

для сопоставления объектных отношений - Спящий режим.

для проверки представлений (в MVC) - используйте Firebug в FF и Fiddler в IE.

для построения объектов бизнеса (из объектов данных) - AutoMapper

1 голос
/ 04 сентября 2009

Мы используем SCRUM для командной системы и любим ее. Мы перепробовали много инструментов, но подойдем к ним:

Basecamp для планирования проекта (с помощью списков задач и этапов).

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

Долгое время мы использовали CruiseControl.rb в качестве системы непрерывной интеграции, но недавно перешли на Целостность , что проще и приятнее.

1 голос
/ 28 августа 2009

Нам действительно нравится yammer.com , это частный твиттер компании с некоторыми дополнительными дополнениями. Довольно удобно, также ведет полный учет.

1 голос
/ 28 августа 2009

Для связи:
Мы делаем 9:00 Scrum через Skype, где у каждого есть 2 минуты, чтобы ответить на 3 вопроса:

  1. Что вы сделали со вчерашнего звонка?
  2. Что вы будете делать до завтрашнего звонка?
  3. Что-то блокирует вас или замедляет?

Иногда мы задаем четвертый вопрос: какие-нибудь интересные новости, которыми можно поделиться?

Для того, чтобы оставаться на связи в течение дня, многие люди клянутся 37Signals « campfire », хотя я лично использую « Present.ly », что является своего рода щебет-для-команд.

Для однорангового программирования:
SubEthaEdit для Mac позволит вам совместно разрабатывать в режиме реального времени, как и новый проект Mozilla Labs " Bespin ". Однако оба они - прославленные текстовые редакторы, а не IDE.

Вы также можете воспользоваться бесплатной услугой « DimDim.com » для общего доступа к экрану и VOIP или бесплатным общим доступом к экрану Skype .

1 голос
/ 28 августа 2009

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

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

1 голос
/ 27 августа 2009

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

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

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

0 голосов
/ 24 октября 2009

Пожалуйста, ознакомьтесь с Особенности сборки .

Вы получите множество других функций: svn, git, чат, вики, сообщения, scrum, тикеты с гибким планировщиком drag & drop.

Assembla идеально подходит для гибкой распределенной разработки.

...