I think it just takes discipline to not change too much at once.  I worked with two companies that tried to port from 16bit-32bit code.  One did a rewrite.  The other did it in sections.  Neither survived the transition.  Technology wasn't the problem.  The world just didn't need their products anymore.<p>Though my father had a rotten little shed that needed attention.  He tore down and rebuilt sections.  Besides a split level roof lines, it really seems like a complete redesign.  I think the key is that few things were up for discussion.  Also, having a sturdy base to work from made things easier.  (and it stayed in operation the whole time.)<p>With code, I see similar ideas.  You probably shouldn't tear down and rewrite more than half at a time...and you should probably decide whether the world still needs the original product.