A scientific workflow is modeled as a Directed Acyclic Graph where the nodes represent individual tasks and the directed edges represent the dependency relationship between two tasks. Scheduling a workflow to achieve certain goal(s) (e.g.; minimize makespan, cost, penalty, and energy; maximize reliability, processor utilization, etc.) remains an active area of research. In this paper, we propose an efficient scheduling algorithm for workflows in heterogeneous multi-processor systems that takes into account makespan, energy consumption, and reliability. We name our methodology as Wait Aware Normalized Metric Scheduling (henceforth mentioned as WANMS). The proposed approach is a list scheduling algorithm consisting of two phases namely, Task Ordering and Allocation. In the task ordering phase, it tries to find out an optimal ordering of the tasks based on the maximum execution cost starting from the current node. In the allocation phase, a task is assigned to a processor based on a normalized linear combination of finish time of the tasks and reliability or based on energy depending on the wait time of the task. Additionally, WANMS is designed in such a way so that it can satisfy any given reliability constraint while minimizing makespan and energy. The proposed algorithm has been analyzed to understand its time and space requirements. Experimental evaluations on the real-world and randomly generated workflows show that WANMS dominates state-of-the-art algorithms in terms of both makespan and energy in most cases and at least one objective in the rest of the cases. In particular, we observe that for high reliability constraints the schedule produced by WANMS Algorithm leads to up to 18% improvement in makespan and 13% improvement in energy on an average compared to the existing algorithms.