I am going to have to disagree with this one, even though I am not a game programmer. Sloppy coding without prior preparation via UML and other modelling techniques results in a mess that is hard to understand, hard to modfiy, and hard to debug. Modeling in UML , however, is not a programmer's job. Such tasks should be handled by the software architects, lead designers, and, possibly, lead programmers.