High Performance Computing applications are complex by definition. For their development two main types of knowledge are required. The first is related to HPC itself and the second to the field of the application. In any case, research is necessary. The user requirements generate the specifications which drive the design and the implementation provided that technical and scientific problems have already been answered. The existence of code of an already implemented sequential program can help.