Sometimes it goes smoothly, more often it doesn't, so changes are necessary, injecting designer guidance to resolve conflicts (though some software is pretty smart about many types of optimization problems, no program is yet fully automatic, if only because some requirements and esthetic judgments may remain in the designer's head and not in the error function).