We introduce a method for approximating a given surface by a developable surface. It will be either a G_1 surface consisting of pieces of cones or cylinders of revolution or a G_r NURBS developable surface. Our algorithm will also deal properly with the problems of reverse engineering and produce robust approximation of given scattered data. The presented technique can be applied in computer aided manufacturing, e.g. in shipbuilding.