Design an Enterprise-Grade Software Factory