How extensibility maximizes agility