When to rewrite Jim Keller says an architecture of a microprocessor should be re-written every five years. That is if you care about the long-term prosperity of a product. Incremental improvement saves money, lowers risk and provides predictable output. However, as a product matures, you start to get diminishing returns from incremental improvements. When that happens, rewrite the architecture. The new starting point would be lower than the existing system’s optimal point, but you will quickly surpass it.