It makes a nice story, but I think a black triangle moment is something programmers should strive to avoid. Progress should be incremental and visible as much as possible and the system as a whole should always be in a working and testable state.<p>Working on something for weeks before getting it into a testable state is a surefire recipe for an over-designed system with superfluous features and long debugging sessions.