Given a strong deformation retraction (SDR) of chain complexes, r:B->A, classical homological perturbation theory (HPT) states that a "small" change in the differential on B may be transfered to a new differential on A, and a new SDR written down, via some extremely simple formulas. The new contracting homotopy on B, for example, is (1+He+HeHe+...)H, where H is the original contracting homotopy. The theory has many applications and refinements, eg the twisted Eilenberg-Zilber theorem which gives a retraction of the chains on a twisted cartesian product to a twisted tensor product of chain complexes. Though we cannot yet give a clearly positive answer to the question of generalising HPT to complexes of non-abelian groups, we have found some interesting and optimistic preliminary results which we will present in this talk, including a certain rigidity unexpected even in the classical abelian case. (joint work with Kathryn Hess, EPF Lausanne)