2009-10-07 4 views
0

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

  1. Client конкретного
  2. Характеристика конкретных

Обработка кросс-функциональных вопросов, назначая эту задачу конкретному человеку.

Хотелось бы узнать, как другие руководители проектов/руководители групп?

+0

Возможно, было бы лучше, если бы вы могли проинформировать ответственность каждой группы, чтобы другие могли узнать, являются ли они резонансными или нет? – pierrotlefou

+0

Этот вопрос не соответствует теме, потому что речь идет о рабочей среде. – animuson

ответ

0

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

Напиши много модулей многократного использования. Это ключ.

Моя организация также работает с клиентами только для крупных клиентов.

0

Я твердо убежден в том, что программирование пары, я бы командовал таким образом, чтобы одна пара управляла и записывала тестовые примеры (tdd), в то время как другие могли бы закодировать его. Я бы создал команду, основанную на той же теме.

0
  1. Если ваш продукт включает в себя больше, чем одна технологии тогда, Вы можете группировать команды техно мудрые
  2. наборов навыков
2

Это не так важно, как вы делаете свой раскол, но есть подводные камни при разбиении которую вы должны знать.

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

Наихудшая возможная ситуация, в которой вы можете найти себя, - это зависимость между командами для предоставления функции, но без ясного владения. Например, команда A ждет в команде B для «back end service», но команда B утверждает, что услуга завершена. Команда A говорит, что служба не отвечает всем требованиям. Но команда B перешла к новым функциям. И так далее ....

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

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

0

Ключ должен позволить каждой команде следовать тем же стандартам, но иметь возможность работать как можно независимым (развязанным).

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

Если функции пересекают функциональные системы (AR, безопасность, отчетность и т. Д.), Которые вы, вероятно, захотите разделить по функциональным областям.

Другие способов разделить команды:

  1. переднего конца (реализация дизайна) и бизнес-логику и базы данных/datastorage
  2. новых разработки и обслуживание (новых/более JR людей по техническому обслуживанию)
  3. функциональность ядра и модулей аддона (если они основаны на компонентах)
Смежные вопросы