Problem: While techniques such as JAD, RAD, agile methods, etc. can reduce the disadvantages of the traditional SDLC, there are still many failures in the development of application systems using the traditional SDLC or any other technique. What are some characteristics of software development that contribute to the high failure rate under certain situations?