Скажем, проект:
-
1
продукт - построено более
Y
лет - содержащий
M
модули - написанный на языках
L
[1..3] - разработано в общей сложности
D
разработчиков
В какой момент проект содержит слишком много или слишком мало живых ветвей?
Я знаю, что это сложный вопрос, еще труднее ответить численно, но я ищу количественные ответы, если это вообще возможно, сделайте формулу.
Фон
Если слишком мало веток, код никогда не готов, разработчики не вносят больших изменений, потому что может быть невозможно выполнить следующий срок. Точно так же менеджеры по продуктам никогда не чувствуют себя достаточно уверенно, чтобы назвать что-то выпуском. Частота замораживания функций часто устанавливается, новые идеи задерживаются, развитие замедляется.
Если слишком много веток, разработчики не уверены, куда должны идти их изменения, и где они должны быть распространены, какая ветка будет объединена, к какой магистрали. Слияние реорганизованного кода очень сложно. Качество снижается. Более того, каждый разработчик должен проверять свои изменения в нескольких настройках, значительные усилия тратятся, развитие замедляется.
Каков оптимальный диапазон для числа активных ветвей?