April 2014
I tend to take it all with a big pinch of salt. Any argument that starts with "if we could get it right first time" is entirely theoretical. Evolutionary design is intrinsically wasteful. I'll take "effective" over "efficient" any day :)
1 reply
April 2014
How much time should one spend thinking, planning, and designing before "Getting it right first time"? :-/
April 2014
April 2014
I think (I hope!) we all agree that we should spend some time thinking and that once we start writing code, we learn things that contradict the ideas we had when thinking. Now we come down to the question of how much time to think before writing code, which I genuinely believe amounts to a matter of style, and I don't dictate style.
Programmers will always make some design decisions before writing the first line of code. If you put two programmers together, one will want to start writing code before the other. It becomes a negotiation.
I teach TDD and evolutionary design through refactoring in order to show programmers that they don't have to do it all in their heads. How much they subsequently choose to do in their heads and through code becomes their choice.
April 2014
▶ disqus_3ATP4AuCoo
I don't mind reminding programmers to treat evolutionary design as a tool, rather than as a ritual. Sometimes, even I spend time thinking about code before I write it.