Grid computing makes large-scale computations easier to handle. In heterogeneous systems like grid computing, failure is inevitable. Because of the volume and diversity of the resources, scheduling algorithm is among the most difficult challenges to overcome in grid computing. To reduce the make-span of the job to be executed a thorough understanding of scheduling in grid is important. Say there are two computing nodes that aren't being used right now. The scheduler may choose the node that has higher computing strength (for example, higher CPU speed, higher free memory), even though this node may also have high potential of failure. High potential of failure refers to the possibility of the failure occurring at execution time, resulting in the decrease of system performance. Therefore, awareness of failure is also very important in scheduling. This work proposes and implements a failure-aware scheduling method to schedule the tasks which uses both performance factors and failure factors of resources while making scheduling decision. The proposed algorithm is analyzed over various performance matrices and it shows considerably improved performance over existing algorithm