Software engineering is the discipline of computer science concerned with developing small and large applications. There are different phases of Software Development Life Cycle (SDLC) model. The different phases of SDLC model include requirement analysis, design, coding, testing, implementation and maintenance. Each phase in the model has some risks involved in it. Mainly there are two things involved in the risk i.e. uncertainty and loss. Due to these risks software can face various problems that can lead to some negative outcomes and in some extreme cases can lead to a great loss. This paper explores different risks involved in various phases of software development life cycle along with their mitigation steps.