During the last several months our team came across 3 projects with the same issue – customers had the “almost done” project (usually customers state smth like “85%” or “95% done”) but they could not launch it, because the bug fixing process was endless or the “last crucial” feature was almost impossible to implement. Almost all of them were startups. We performed code review for them to be able to answer if we can handle it. From inside the products looked very similar. I think I even could tell all their development history by looking at these layers of code, covering each other like patches in a crazy quilt. We usually ended up with these clients arguing about one question – “Rewrite or do not rewrite all of that”. So I decided to write this post about the BIG rewriting.