We consider the problem of scheduling n jobs on m >= 1 parallel and identical machines, where the jobs are processed in batches and the processing time of each job is a step function of its waiting time; i.e., the time between the start of the processing of the batch to which the job belongs and the start of the processing of the job. For each job i, if its waiting time is less than a given threshold D, then it requires a basic processing time p(i) = a(i); otherwise, it requires an extended processing time p(i) = a(i) + b(i). The objective is to minimize the sum of completion times; i.e., Sigma(n)(i=1) C-i, where C-i is the completion time of job i. We first show that the problem is NP-hard in the strong sense even if there is a single machine and b(i) = b for all 1 <= i <= n. We then show that the problem is solvable in polynomial time if a(i) = a for all 1 <= i <= n. Our algorithm runs in O(n(2)) time. Finally, we give an approximation algorithm for the special case where b(i) <= D for all 1 <= i <= n, and show that it has a performance guarantee of 2. (C) 2006 Elsevier B.V. All rights reserved.