Как ваша команда работает вместе в удаленной настройке?
мы распределенная команда, работающая над объектной базой данных db4o.
Как мы работаем:
- Мы пытаемся программировать только парами.
- Мы используем Skype и VNC или SharedView для подключения и совместной работы.
- В нашем онлайн-заседании во вторник каждую неделю (обычно около 1 часа)
- мы говорим о задачах, выполненных на прошлой неделе
- мы создаем новые пары на следующей неделе со случайным генератором, чтобы знания и дружба распределялись равномерно
- мы устанавливаем приоритет для любых новых задач или ошибок, которые появились в
- каждая команда выбирает задачи, которые она любит делать с самого высокого
приоритетные.
- С вторника по среду мы оцениваем задачи. У нас есть часть работы, которую мы называем "Идеальная сессия разработчика" (IDS), возможно, 2 или 3 часа совместной работы в качестве пары. Он не совсем четко определен (потому что мы знаем, что оценка всегда неточна), но из нашего прошлого общего опыта мы имеем общее представление о том, что такое IDS. Если мы не сможем оценить задачу, потому что она слишком долго на неделю, мы разбиваем ее на более мелкие задачи.
- Во время короткой встречи в среду мы обязуемся выполнять рабочую нагрузку, которую, как мы считаем, хорошо выполняются через неделю. Мы обязуемся закончить.
- Если в течение недели у команды заканчиваются целенаправленные задачи, она может выбрать новые из приоритетной очереди, которую мы имеем в Jira.
Когда мы начали работать таким образом, некоторые из нас обнаружили, что дистанционное программирование пары требует много энергии, потому что вы так сосредоточены. Если вы спариваете программу более 5 или 6 часов в день, вы получаете дренирование. С другой стороны, работа, подобная этому, оказалась очень эффективной. Знания о нашей кодовой базе распределены равномерно, и мы действительно многому научились друг от друга.
Мне было бы очень интересно услышать об опыте других команд, работающих аналогичным образом. Такие вещи, как:
Как часто вы встречаетесь?
Вы пробовали разные длины спринта (одна неделя, две недели, дольше)?
Какие инструменты вы используете?
Какой трекер вы используете?
Что вы делаете с различиями в часовых поясах?
Как это работает для вас, чтобы интегрировать новых людей в команду?
Сколько часов вы обычно работаете в неделю?
Как ваше управление взаимодействует с тем, как вы работаете?
Вы попадаете в водопад с жесткими сроками?
Какая ваша единица работы?
Какова ваша нормальная скорость? (единицы работы, выполненные в неделю)
Работа по программированию должна быть интересной, и для нас это обычно весело.
Я был бы рад любым новым идеям, как сделать его еще более увлекательным и/или более эффективным.
Ответы
Ответ 1
@Carl: Я не могу ответить на все ваши вопросы, но я могу поставить в свои два цента WRT несколько вопросов.
- Использование Skype имеет важное значение. Помещение лиц к алиасам в Интернете делает более дружественной (следовательно, продуктивной) рабочую среду. Когда я работал с командой вне офиса, было много оффлайновых жалоб на внеочередную команду.
- Ежедневные встречи, даже в течение 15 минут, очень полезны. Посвятите пять-десять минут, чтобы люди просто говорили о том, что они хотят поговорить, будь то их выходные, дети и т.д. В любом случае люди будут говорить об этом, и возможность сделать это на открытом форуме позволяет добиться большей сплоченности команды, что означает меньше жаловаться на других членов команды (см. выше). (ПРИМЕЧАНИЕ: Это не моя идея. Я получил это от Лилиана книги Джулиани).
- О парном программировании: если членам команды понравится, то отлично! Иногда людям это не нравится, но они не говорят из-за страха командного возмездия или кого-то кого-то обижают. Безмолвно недовольные члены команды ужасны для морального духа.
P.S. Отличная работа на db4o!
Ответ 2
Мы используем сервер Microsoft Sharepoint как центральное информационное пространство. У нас есть все проектные документы, заметки о встречах, планирование работы, почти вся бизнес-сторона дома на этом сервере. У нас также есть камеры на наших настольных компьютерах, и мы призываем видео звонить друг другу, когда нам нужно. Это не запланированная вещь, это просто быстрый видеочат, никаких формальностей, просто быстрое текстовое сообщение: "Эй, вы можете видеочат?"
Мы обычно используем много разных чат-программ от AOL до MSN, поэтому я использую Trillian, чтобы я мог поговорить со всеми. У нас также есть учетные записи компании Skype, которые мы используем много. Это действительно проще, чем телефон, так как наши телефоны проходят через наши компьютеры, так что наши гарнитуры подключены к ним.
Ответ 3
Как часто вы встречаетесь?
Ежедневно (обычно сначала утром), и когда это необходимо, удалить контрольно-пропускные пункты. Сопряжение только при необходимости для решения сложных проблемы - или в начале разработки теста.
Вы пробовали разные длины спринта (одна неделя, две недели, дольше)?
Да, но это всегда зависит от приоритетов клиента и расписание доставки. Мы отвечаем на их требования, а не делаем наши собственные. Иногда шипы играют в это, поскольку невозможно предотвращать циклы зависимостей.
Какие инструменты вы используете?
Основной трекер и ралли. Были вынуждены использовать TeamForge, который отстой. Мне очень нравится Campfire, и, похоже, это трюк для моего команды.
Какой трекер вы используете?
Зависит от проекта, но обычно это то, что работает в Интернете на минимум.
Чем вы занимаетесь в отношении часовых поясов?
С этим справитесь. Большинство моих проектов распространены по всему миру, кто-то будет ввернут - обычно это я.
Как это работает для вас, чтобы интегрировать новых людей в команду?
Зависит от команды и новичка. Некоторые команды принимают больше чем другие, и некоторые новички лучше интегрируются. Там должно быть всегда быть уважением, периодом.
Сколько часов вы обычно работаете в неделю?
40+ - плюс обычно связан с несколькими проектами - профессиональными и личными.
Как ваше управление взаимодействует с тем, как вы работаете?
Руки прочь. Но иногда вещи становятся напряженными. Просто хорошо общение и прозрачность всегда лучше.
Вы попадаете в водопад с жесткими сроками?
Конечно! Даже в рамках Agile-проектов. Клиенты требуют.
Какая ваша единица работы?
Зависит от проекта, конечно. Обычно время для меня и моих команд. Конечные результаты идут со всем, но у нас обычно есть up-stream проекты для поддержки.
Какова ваша нормальная скорость? (единицы работы, выполненные в неделю)
Нет нормального. Сложность, команда, клиент все играют как грубые переменные. Самая большая проблема - обычно зрелость команды.
Ответ 4
Наш гибкий инструмент управления проектами - это Greenhopper поверх Jira. Для совместного использования рабочего стола мы используем Shared View, но для показа и расчёта целей, а не для парного программирования. Skype является основным инструментом связи, но с gtalk для IM. Skype немного шелушатся, когда дело доходит до отправки сообщений IM. Я написал сообщение о всех инструментах, которые мы используем для распределенной разработки в нашей компании
Наши спринты длится неделю, у нас были большие спринты, но это хорошо работает. В понедельник мы оглядываемся на то, что было достигнуто в предыдущем спринте, и переносим любую выдающуюся работу. Затем мы добавляем истории отставания (с оценками), чтобы выложить около недели работы для текущего спринта. Там есть отставание для текущей второстепенной версии и общее отставание.
Истории довольно минималистичны, а оценки быстрые и грязные (хотя и довольно точные). Они прогрессируют через "Тодо" → "Выполняется" → "Разрешено" → "Готово". Истории переносятся в состояние "Готово", когда обсуждаются на еженедельных заседаниях в понедельник.
Ответ 5
Я также участвовал в проекте, и мы практиковали XP. Я нашел Pivotal Tracker очень хорошо подходит для планирования и пользовательских историй. Я также советую вам посмотреть BitBucket. Мы обнаружили, что полезно использовать его вместе с меркуриальным распределенным контролем версий, поскольку я считаю, что он очень подходит для распределенной команды.
Я также заметил, что XP не работает хорошо в академической среде (студенты). Практика, такая как 40 часов в неделю и парное программирование, не работает. Я был экспертом по проектам в командах, которые использовали методологию XP.
В целом, гибкая разработка хороша, и я думаю, что она очень подходит для небольших проектов. Может работать и для больших проектов, но вам нужно будет использовать разделение и завоевание с помощью небольших команд.
Интеграция новых людей достаточно проста, если они начинаются с итерации или соединяются с кем-то, кто имеет справедливую идею по уже разработанным функциям.
Другие вещи, такие как TDD, оказались полезными.
Ответ 6
Как часто вы встречаетесь?
Каждые два дня, и в зависимости от срочности, увеличивайте ежедневные короткие встречи
Вы пробовали разные длины спринта (одна неделя, две недели, дольше)?
Придерживайтесь двухнедельной длины спринта
Какие инструменты вы используете?
Необходимы инструменты совместной работы. Связь: мобильный телефон. Обмен документами/обмен идеями/обмен знаниями: вики или форум. Существует множество платформ: IGLOO, JiveSoftware, Leverage Software довольно просты в использовании.
Какой трекер вы используете?
Обычно это встроено в программное обеспечение для совместной работы
Чем вы занимаетесь в отношении часовых поясов?
Календари и обратные отсчеты заставляют людей работать в своем блоке времени, собрания настраиваются таким образом, что даже если мы не сможем заставить всех встретиться в одно и то же время, собрания проводятся таким образом, чтобы встречающие B, B встречали C (сообщает C о встрече AB), C встретить A (рассказывает A о встрече BC), продолжить и следить за письмами. Это работает плавно среди небольших команд в разных часовых поясах.
Как это работает для вас, чтобы интегрировать новых людей в команду?
Начните их с чего-то малого, чтобы привыкнуть к системе, и бросить им вызов, чтобы узнать как можно больше.
Сколько часов вы обычно работаете в неделю?
40+ обычно
Как ваше управление взаимодействует с тем, как вы работаете?
Используется плоская иерархия - руководство работает с сотрудниками, действуя скорее на руководство, чем на босса. Это предотвратило бы удушение творчества и вообще улучшало бы счастье
Вы попадаете в водопад с жесткими сроками?
Нет. Методология водопада встречается редко и происходит только с небольшими проектами, которые длится максимум 3 или 4 дня.