Over the years I have picked up a list of practices that I think are essential to a professional developer - these are of course my opinions - other may disagree.
We don't expect our customers or managers to ask for these things - but rather as professionals we do this because - well we are professionals. When estimating a task at hand we don't add "unit testing" tasks 'cause these are just things we do
Just like at doctor does not expect his patients to ask him to wash his hands - neither do we expect customers or managers to ask us to do unit testing etc.
Big books are written about each of these subjects, hence I don't go into much detail about each - I just list them.
Either research on the internet or find a good book if you don't understand an item.
I am mostly a web developer, so these practices apply to that space - but most also apply to other spaces.
##Development, Integration, Test and Live environment As web developers we are not satisfied with the ["it works on my machine" mantra](http:/