This paper describes how to reduce the burden of parallel programming by utilizing relevant parallel programs. Parallel algorithms are divided into four classes and a case base for parallel programming is developed by retrieving parallel programs in each class. Cases consist of indices, a skeleton, a program, parallelization effects and a history. Skeletons include the most important issues such as task division, synchronization, mutual exclusion, parallelization methods and threads. Parallel programs for image data storage, three dimensional spline, edge detection, thinning, knapsack problem and package wrapping algorithm are developed by retrieving the most relevant case and adapting it to the given problem. The experiment demonstrates that threads and synchronization can be reused from skeletons, and task division should be adapted by programmers.