Software engineering is a profession to provide high quality software to the customers. It is a systematic approach to analysis, design, implementation, maintenance and re engineering of software. But there are many risks involved in creating high quality software like imprecise requirement gathering, poor management, gold plating, lack of proper communication within the team etc. Risks have no exact values. They are based upon uncertainties. A major contributor to project failure is the failure to spend the time at the beginning of the project to clearly define the product requirements before beginning product development i.e. gathering imprecise requirements.