Chain tasks (functions) together into a pipeline Provide parameters to run jobs in parallel Tracing through your new pipeline Using flowcharts Split up a large problem into smaller chunks Calculate partial solutions in parallel Re-combine the partial solutions into the final result Automatically signal the completion of each step of our pipeline