Computing environments are becoming more open, distributed and pervasive. The software we build for these dynamic environments will need to become more adaptable and adaptive. This paper introduces a methodology based on ontogenic adaptation – the ability of a system to alter its structure while maintaining its organisational viability. This approach extends existing work on the separation of roles from objects, by defining an organisational layer of abstraction based on the separation of operational-management roles from functional roles. Dynamic role-object bindings and role-role associations are created to form a flexible organisation that can be adapted by an organisational management role. The methodology is illustrated with an example to contrast it with a traditional object-oriented approach.