First of all, see the Wikipedia page: https://en.wikipedia.org/wiki/Greedy_algorithm
From the first section of the article:
A greedy algorithm is an algorithm that follows the problem solving heuristic of making the locally optimal choice at each stage with the hope of finding a global optimum. In many problems, a greedy strategy does not in general produce an optimal solution...
There are 2 important points to highlight here:
A greedy algorithm in not necessarily going to find an optimal solution.
There are often many different greedy approaches for a single problem.
Using your problem as an example, both of these approaches are greedy:
Greedy Approach #1: As each process becomes available, assign the longest task to the process. This could give the following results:
Process 1: 20 + 10 + 3 = 33
Process 2: 18 + 11 + 6 = 35
Process 3: 15 + 14 + 5 = 34
Total time: 35
Greedy Approach #2: As each process becomes available, assign the shortest task to the process. This would give the following results:
Process 1: 3 + 10 + 15 = 28
Process 2: 5 + 11 + 18 = 34
Process 3: 6 + 14 + 20 = 40
Total time: 40
Both these approaches are greedy algorithms. The one big assumption here is that the problem is simply to process all the tasks. If the problem is to process all the tasks in the shortest time possible, then (as has been stated already in the comments) there is no greedy algorithm that can solve this problem.