The danger is that you leave the solution at too early a stage, and other things start relying on your flimsy rope bridge. It gets really difficult to go back and do things better.
You should try test driven development :)
For me, "TTD" in the context of a discussion about bridges just means Transport Tycoon Deluxe o_O I assume that's not it?
and if you're already developing in a style that is amenable to TDD, you should totally try it!
for (int i = 0; i < alpha; ++i) {
for (int j = 0; j < beta; ++j) {
for (int k = 0; k < gamma; ++k) {
...Often you overcomplicate implementation by thinking about the right way from the start, and while this is a good thing to do in general, sometimes it gets in your way. I like to think of the simplest possible way to write it (not necessarily the "worst" but just the simplest). Then you have something, anything at all, and you can go from there.
My ex-coworker always said "Make it work, then make it good, then make it fast." Good rule of thumb that has taken me pretty far in code productivity.
As opposed to TTD, which is test to destruction.
Or DDT, which is development driven testing.
Or DMD, which is don't mean diddly.
http://c2.com/xp/DoTheSimplestThingThatCouldPossiblyWork.htm...