Let X be a separable Banach space. We give an almost characterization of the existence of a Finite Dimensional Decomposition (FDD for short) for X in terms of Lipschitz retractions onto generating compact subsets K of X. In one direction, if X admits an FDD then we construct a Lipschitz retraction onto a small generating convex and compact set K. On the other hand, we prove that if X admits a "small" generating compact Lipschitz retract then X has the p-property. It is still unknown if the p-property is isomorphically equivalent to the existence of an FDD. For dual Banach spaces this is true, so our results give a characterization of the FDD property for dual Banach spaces X. We give an example of a small generating convex compact set which is not a Lipschitz retract of C[0, 1], although it is contained in a small convex Lipschitz retract and contains another one. We characterize isomorphically Hilbertian spaces as those Banach spaces X for which every convex and compact subset is a Lipschitz retract of X. Finally, we prove that a convex and compact set K in any Banach space with a Uniformly Rotund in Every Direction norm is a uniform retract, of every bounded set containing it, via the nearest point map.