uml maybe quite useful for some cases. i mean not to use it for code generation or other purposes but use it for planning your program (or parts of it) before starting coding
in general i find drawing diagrams (not necessarily uml) of ideas extremely useful as it forces one to think in depth and find possible errors, mis-thoughts earlier. as the old preverb suggests 'one diagram worths a thousand words'
in karga, i dont use any uml software but try to take my notes as diagrams on paper
another point i think very important is to make as much tasks done automatically as i can. for instance i use
ant not only as a build tool but for copying files, zipping them etc. as humans make errors on these kind of tasks and easily forgot the procedure. and of course it's a real pain and source of discouragement to do the same boring things over and over again
this may be considered as a matter of taste but i also find it very useful and important to throw exceptions from methods (as opposed to returning nulls etc) and make things as much type-safe as possible. this way errors can be detected earlier. i love the idea of using the compiler to its limits to find errors
at a glance these are what i think about software development cycle
i wish you luck with your game :wink:
r a f t