title: What is the optimal range for number of live branches?
body: <p>Let's say a project is:</p>
  
  <ul>
  <li><code>1</code> product</li>
  <li>built over <code>Y</code> years</li>
  <li>comprising <code>M</code> modules</li>
  <li>written in <code>L</code> [1..3] languages</li>
  <li>developed by total of <code>D</code> developers</li>
  </ul>
  
  <p>At what point does a project contain too many or too few live branches?</p>
  
  <p>I know it is a hard question, it is even harder to answer numerically, I am however looking for quantified answers, if at all possible, please make a formula.</p>
  
  <p>Background</p>
  
  <p>If there are too few branches, code is never ready, developers don't make large changes because it may be impossible to meet next deadline. Likewise product managers never feel confident enough to name something a release. Feature freeze is often established, new ideas are delayed, development slows down.</p>
  
  <p>If there are too many branches, developers are unsure where their changes should go and where they ought to be propagated, which branch will be merged to which trunk. Merging refactored code is very hard., quality goes down. Moreover, each developer has to test their changes in several setups, considerable effort is wasted, development slows down.</p>
  
  <p>What is the optimal range for number of live branches?</p>