To accelerate the implementation of network functions/middle boxes and reduce the deployment cost, recently, the concept of Network Function Virtualization (NFV) has emerged and became a topic of much interest attracting the attention of researchers from both industry and academia. Unlike the traditional implementation of network functions, a softwareoriented approach for Virtual Network Functions (VNFs) creates more flexible and dynamic network services to meet a more diversified demand. Software-oriented network functions bring along a series of research challenges, such as, VNF management and orchestration, service chaining, VNF scheduling for low latency and efficient virtual network resource allocation with Network Function Virtualization Infrastructure (NFVI), among others. In this paper, we study the VNF scheduling problem and the corresponding resource optimization solutions. Here, the VNF scheduling problem is defined as a series of scheduling decisions for network network services on network functions and activating the various VNFs to process the arriving traffic. We consider VNF transmission and processing delays, and formulate the joint problem of VNF scheduling and traffic steering as a Mixed Integer Linear Program (MILP). Our objective is to minimize the makespan/latency of the overall VNFs' schedule. Reducing the scheduling latency enables cloud operators to service (and admit) more customers, and cater to services with stringent delay requirements, thereby increasing operators' revenues. Owing to the complexity of the problem, we develop a Genetic Algorithm (GA) based method for solving the problem efficiently. Finally, the effectiveness of our heuristic algorithm is verified through numerical evaluation. We show that dynamically adjusting the bandwidths on virtual links connecting virtual machines, hosting the network functions, reduces the schedule makespan by 15%-20% in the simulated scenarios.