I am a fresh grad and just entered the career world as a programmer. What I’d like to know is how do real software development is done. I’ve learnt about UML but where and how does it fit in into practise. It’d be great if anybody could give an overview yet complete process of a real software development and where and how problem arises before, during and after development.