. Programming errors - in some cases, developers can make mistakes.
· Time Force - preparation of application projects is difficult, at best, often require a lot of guesswork. When deadlines are given & the crisis comes, mistakes will be made.
· Changing requirements - there's chances that the finish user does not understand the effects of the changes, or may understand & request anyway to redesign, rescheduling of engineers, effects of other projects, work already done may require to repeat or expelled.