DEVELOPING ADAPTIVE SYSTEMS: A FUNCTIONAL AGILE ARCHITECTURE APPROACH