Different Types of Risk In Software And Programming