As is my habit when looking for inspiration for a new blog entry, I recently came across a question on Programmers.SE which seemed at first to be asking one question, but was really about something else. In this case the poster seemed to be asking about trying to understand something about the SCRUM methodology, but was really asking about how to convince his company to abandon development on a failing project, and redesigning the product as a new green field project. Naturally I weighed into the debate with my own lengthy answer about this, but it has since had me thinking about the question of when - if ever - it might be appropriate to actually push for a redesign.
I've now worked with my present employer for 9½ years. In that time, I have redesigned a flagship product twice. For my previous employer, I worked there for only 1½ years and I convinced the company to redesign their flagship product. Did I make the right decisions, and were these decisions made for the right reasons?