Hey Timo
Overall this contains a lot of solid advice that correlates well with my own experiences.
My first point of feedback is a very minor point really but, since my wife is an English teacher, grammatical pedantry is my stock trade ;)
There is at least one case of misuse of apostrophes - specifically you have "it's" where you should have "its"; "it's" is a contraction of "it is", the word "its" is a 'possessive pronoun' - e.g. "A bird flaps its wings whilst it's flying".
Please accept my humble apologies for over-labouring this point :)
Secondly, like Oliver & Shawn, I'd love to see the question of how to clean up & live with prototype code addressed.
On the majority of occasions where I have been involved with the development of a game prototype we have ended up being forced to take some or all of the prototype code on into the production code base (e.g. by time / budgetary constraints / bad management decisions ).
My personal take on mitigating this is to define a "minimum acceptable level" of software engineering principle that should be applied even when writing prototype code. I've found the best question to ask of any architectural decision taken during prototyping is "can we live with this code if we need to?".
I was going to write down a load of rules of thumb for this, but I stopped because it started to get out of hand - am happy to share what I typed if you want it, but was worried this reply was getting a bit too wall of text-y :)
I've also found that the majority of genuinely far reaching architectural decisions can be cleanly isolated into either engine or framework code which should be game agnostic. This makes a massive difference to the issues & risks of living with prototype code, but is also contingent on the maturity of the technology you have access to.
Personally, I'd be inclined to emphasise early peer review a little more - in my experience early peer review is the most valuable, ideally before writing any significant amount of code for any given task, because it's likely to pick up big problems before they happen rather than after a peer has implemented a system that has serious issues.
Hope some of this is helpful :)
Alex
p.s. Another typo I spotted is "wise versa" instead of "vice versa".