>>I wonder about this style of thinking. In particular, the distinction between making it work and making it right.
The reason for this style of thinking applies to projects that you don't really have a clear path on how to implement them. A good example would be building a humanoid robot. Along the way you learn what works and what doesn't and you end up with a project that works, sort of. Now that you have a better understanding of the problem you re-architect the entire project, if needed, to make it easier to maintain long term.
Of course, this is just a rule of thumb. You don't have to wait till the end to re-architect a project. You could treat each major sub-module as a project of its own and apply this same thinking.
The reason for this style of thinking applies to projects that you don't really have a clear path on how to implement them. A good example would be building a humanoid robot. Along the way you learn what works and what doesn't and you end up with a project that works, sort of. Now that you have a better understanding of the problem you re-architect the entire project, if needed, to make it easier to maintain long term.
Of course, this is just a rule of thumb. You don't have to wait till the end to re-architect a project. You could treat each major sub-module as a project of its own and apply this same thinking.