A CRITICAL ANALYSIS OF SOFTWARE FAILURE CAUSES FROM PROJECT MANAGEMENT PERSPECTIVES