SVN отдельно является хорошим началом, и некоторые из других плакатов предложили некоторые большие предложения на лучших практиках.
единственная вещь, которую я добавил бы, состоит в том, что необходимо быть присоединением SVN с CruiseControl или TeamCity для управления Непрерывным Процессом интеграции. Это пошлет электронные письма сборки и сообщит всем, когда кто-то повредил сборку.
Это будет говорить о многом вначале, кто следует за Вашим процессом и кто не. Мог бы привести к некоторому трению, но Ваша команда будет более обеспечена в конечном счете.
Объявите необходимый делегат действия, в этом нет ничего волшебного:
public delegate void Action<T1, T2, T3, T4, T5>(T1 p1, T2 p2, T3 p3, T4 p4, T5 p5);