Since such attempts seem to end in failure more often than not, how did you and your team manage this? What were the key points that made it possible? How long did it take?<p>PS: Lets just say successful means that it replaced the old software without negative impact to users of said software.
PPS: Inspired by this other thread: https://news.ycombinator.com/item?id=18554272
Yes. We did a phased rewrite of our product, replacing the underlying data structure and networking code, and then working our way up to the UI.<p>It took 8 months, lots of pain and arguments over architecture, lost some employees, and the result was a solid product of beautiful code that sold no better than the old version.<p>We abandoned it 2 years later after our new product launched.<p>tl;dr: even when it succeeds, it's a colossal waste of time.