The most important part of re-roofing over existing shingles is deciding whether the job should even be attempted. For example, a roof should never have more than two layers of asphalt shingles, or the asphalt gets too heavy for the support structure. If your roof has already been re-roofed, you should not do it a third time. In addition, a roof with any sort of significant damage or leak problems is a bad candidate for adding a shingle layer.
Check the condition of the flashing on the roof. If the flashing is old and worn, the entire roof should be torn off and a new layer put on. Any moisture in the home also indicates that the roof should be completely re-done from scratch. Finally, make sure there are no soft spots on the roof, or there could be a problem with the decking. Re-roofing over existing shingles is fairly easy, but often, there is a reason that indicates this is a bad idea.
If there are only small problems in the old roof, you can still get away with re-roofing. However, you should take care to correct those problems before you go ahead with putting on the next layer. For instance, any shingles that are curling up need to be nailed down properly before you put the next layer on. Otherwise, the curl will stress the top layer and possibly eventually make the new shingle curl as well.
Optimum placement of the new layer of shingles helps to reduce leaks. Line up the upper edge of each new shingle with the bottom edge of the old shingle. This is only possible with shingles that are the same height. You should make this a priority when selecting what type of shingles to use for the second layer of roofing.