Каковы ключевые концепции эффективных команд разработки?[закрыто]

StackOverflow https://stackoverflow.com/questions/808191

  •  03-07-2019
  •  | 
  •  

Вопрос

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

У нас есть таблица вопросов, которые мы ранжировали и собираемся начать решать сверху вниз.У нас есть такие вещи, как лучший контроль исходного кода (в настоящее время на SourceSafe), реализация системы отслеживания ошибок (например, Mantis из FogBugz), одноранговая проверка кода, переход на .Net 3.5, возможно, переход на какую-либо форму Agile, работа над более реальной командой. разработка, а не один разработчик для каждого типа проекта, и некоторые другие вещи...

Как вы думаете, какие ключевые вещи могут создать или разрушить команду разработчиков?Что нам стоит добавить в этот список?

Некоторая дополнительная информация:В нашей команде по Windows около 12 человек и около пятидесяти в разработке, если учесть все платформы.Мы хотим улучшить как можно больше для всех, но больше всего мы уделяем внимание команде Windows.Все мы здесь уже как минимум пару лет, поэтому большинство из нас знают друг друга и довольно хорошо сотрудничают.

Это было полезно?

Решение

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

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

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

Другие советы

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

Возможно, статический анализ кода, например, встроенный в Visual Studio.

Непрерывная интеграция, например Круиз-контроль

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

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

Своего рода непрерывная интеграция и регулярные, проверенные, работающие «релизы» творят чудеса с качеством.

как лучший контроль версий (в настоящее время на SourceSafe)

Если это Visual SourceSafe, вам нужно немедленно это изменить.Попробуйте cvs, svn или даже что-нибудь платное, например Perforce.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top