Starting from scratch is often a very enticing way to shed the warts of an old code base. But the realities of trying to do this in practice, while still having to support the old code base and existing customers, often ends in disaster. However, there is usually a better way (a path less taken), especially in the computational science and engineering community.