Jensen Harris' The Story of the Ribbon is a brilliant post mortem for how all the right decisions still led to a terrible outcome: https://channel9.msdn.com/Events/MIX/MIX08/UX09 I had to watch it twice. Frankly, it kind of blew me away, back when I cared about UI design.
I generally agree with "no major rewrites" for both code and user interfaces. It's better to evolve, iterate.
There are two exceptions.
"Do overs", when you can start from scratch because of a new platform, plateau, biz model. While technically possible to iterate an architecture from sendmail (monolith) to postfix (collection of simple services), for example, it's easier (for a motivated expert) to just start over.
New metaphors. A new idea, paradigm, algorithm is so disruptive, you can just replace the prior solution. I once replaced a complicated CAD/Illustrator style production planner with a wizardy parametric designer. I once replaced a complicated BizTalk style "workflow" thing with a postfix inspired group of utilities.
Source: Recovering user interface designer, before the kids rebranded it "UX".
I generally agree with "no major rewrites" for both code and user interfaces. It's better to evolve, iterate.
There are two exceptions.
"Do overs", when you can start from scratch because of a new platform, plateau, biz model. While technically possible to iterate an architecture from sendmail (monolith) to postfix (collection of simple services), for example, it's easier (for a motivated expert) to just start over.
New metaphors. A new idea, paradigm, algorithm is so disruptive, you can just replace the prior solution. I once replaced a complicated CAD/Illustrator style production planner with a wizardy parametric designer. I once replaced a complicated BizTalk style "workflow" thing with a postfix inspired group of utilities.
Source: Recovering user interface designer, before the kids rebranded it "UX".