Software implementations fail for variety of reasons, including lack of top management commitment, unrealistic expectations, poor requirements definition, improper package selection, gaps between ...