Продолжение предыдущей записи...
Работу команды требуется организовать и формализовать. Другими словами, должны быть определенные правила игры (регламенты) которые должны соблюдаться всеми. Правдивость этого утверждения проверять не будем - примем на веру :-).
Правила игры с репозиторием кода
Регламент работы с репозиторием должен охватывать такие действия как:
- check in/out операции (когда и как делать)
- ветвление и слияние
- доступ к репозиторию
Попробую привести тезисы по пунктам:
- Доступ к репозиторию осуществляется в помощью такой-то тулзы (библиотеки) по протоколу SSH... (тарам-парам)
- Перед началом работы необходимо сделать check out для уверенности
- Перед check in надо убедиться, что код стабильный (прогнать тесты)
- Порядок создания ветки следующий... (критерии необходиости, кто отвечает...)
Регулярные сборки и прогону тестов
Согласен, что это завязано на методику работы... Допустим, что она именно такая. Что надо оговорить? Во-первых, как должны быть написаны тесты. Во-вторых, оговорить механизм прогона тестов...
Что касается первого пункта, то тут можно много чего намудрить. Из основного (по сути) надо упомянуть следующее:
- Типы тестов (unit testing, integration testing, functional testing, acceptance testing...). Какие типы тестов есть в проекте? Кто отвечает за их написание? Что нужно для их прогона? Каковы критерии успешности прогона тестов? Надо ли писать спецификации для тестов и какие?
- Прогон тестов должен быть автоматическим. Логично совместить его со сборкой всего проекта. Для этого можно взять, к примеру, Cruise Control.
Баг тракинг
Без этого нельзя. Название не совсем корректно. Я бы назвал артефактс тракингом. В общем, это система учета всего и вся: ошибок, пожеланий, идей по поддержке кода и т.п. Реглмент должен объяснять, кто и какие артефакты может/должен добавлять/изменять/удалять. Кто и как должен реагировать на артефакты и т.п.
Планировщик работ
Весьма полезная штука. Набор плана работ в ворде (экселе) и рассылка его по всей команде занятие нудное и неблагодарное. К тому же план надо регулярно обновлять... Гораздо удобнее, когда план работ доступен в сети и каждый должен обновлять свою часть графика. Например, сделал такие-то таски - отметил это на сайте. Другие видят и радуются. Плюс заказчик тоже рад - всегда может посмотреть, как идет работа.