Инфраструктура для программного проекта - PullRequest
4 голосов
/ 18 сентября 2008

Я бы возглавил новый проект в ближайшее время. И я размышлял над тем, что является базовой инфраструктурой для программного проекта. Вот те вещи, которые, я думаю, должен иметь каждый проект:

- Соглашения о стиле кодирования

- Соглашения об именах

-Стандартная структура каталогов проекта (например, макет стандартного каталога maven и т. Д.)

- Управление проектами и отслеживание проблем (например, trac, redmine и т. Д.)

- Сервер непрерывной интеграции (например, Hudson, круиз-контроль и т. Д.)

Я не уверен, что что-то упустил. Кто-нибудь хотел бы добавить?

Ответы [ 8 ]

5 голосов
/ 18 сентября 2008

В качестве предварительного ответа, проверьте тест Джоэля: http://www.joelonsoftware.com/articles/fog0000000043.html

Просто закуска:

  1. Используете ли вы контроль источника?
  2. Можете ли вы сделать сборку за один шаг?
  3. Вы делаете ежедневные сборки?
  4. У вас есть база данных ошибок?
  5. Исправляете ли вы ошибки перед написанием нового кода?
  6. У вас есть актуальное расписание?
  7. У вас есть спецификация?
  8. Есть ли у программистов тихие условия работы?
  9. Используете ли вы лучшие инструменты, которые можно купить за деньги?
  10. У вас есть тестеры?
  11. Пишут ли новые кандидаты код во время собеседования?
  12. Проводите ли вы тестирование удобства использования в коридоре?
3 голосов
/ 18 сентября 2008
  • система контроля версий (например, Subversion, CVS, GIT)
2 голосов
/ 18 сентября 2008

В дополнение к вашему я поставлю:

  • Стратегия юнит-теста
  • Стратегия интеграционных испытаний
  • Определенный процесс
  • Стратегия выпуска (доставки) (например, этапы, рабочие пакеты и т. Д.)
  • Стратегия ветвления управления источником
1 голос
/ 18 сентября 2008
  • Как насчет документации - как (комментарии в коде, спецификации высокого уровня), когда, количество, кто
  • Как вы будете тестировать - юнит / приемка / пользовательское тестирование
  • версия кода, некоторые SVN / Git (или они включены в trac?)
  • командные роли и обязанности - должны быть выполнены в тексте вашего проекта
0 голосов
/ 07 октября 2008

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

0 голосов
/ 18 сентября 2008

Я бы тоже добавил сервер обмена файлами. Я думал, что управление версиями было настолько простым, что я даже не удосужился поместить его в список. Но это хорошая точка контроля версий.

0 голосов
/ 18 сентября 2008

Функциональное тестирование является обязательной частью любого проекта. Модульное тестирование отлично, и оно хорошо работает для Agile проектов, но функциональное тестирование все еще необходимо. Вам нужен как минимум базовый план тестирования. Если вы планируете иметь несколько проектов или подпроектов, подойдет документ «Стратегия тестирования» или страница «Вики». Тестовые случаи, приемочные тестовые случаи и т. Д. Могут быть вызваны вашими пользовательскими историями или их эквивалентами, но они все равно должны существовать в той или иной форме.

0 голосов
/ 18 сентября 2008

Управление знаниями имеет решающее значение. Поскольку вы уже планируете использовать вики (например, Trac или Redmine ), вы можете использовать его и для КМ.

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