I think the answer lies in where the project is in its customer-adoption lifecycle.<p>- Is it a new idea with tons of growth potential, but unproven?<p>- Do you have early adopters, but still trying to find the bigger markets?<p>- Is it something that is currently growing very fast?<p>- Is it something that once grew fast, but now is more stable? Still makes a significant amount of money through new accounts?<p>- Is it something that makes most of it&#x27;s money through maintenance and not new accounts?<p>- Is it something that has a large, but shrinking code-base?<p>All projects go through life-cycles like this. At the beginning it makes sense to invest in more growth -- at the end it makes sense to lower costs (and outsource).<p>Each part of the lifecycle needs a different skillset and has different kinds of goals.<p>If there&#x27;s one part of the cycle you prefer, the trick is to move projects once the one you are on moves out of that part.  Also, don&#x27;t join teams that are past the part you want to do.