BUILDING ADAPTABLE SYSTEMS: A FUNCTIONAL AGILE ARCHITECTURE APPROACH