Судя по вашей постановки вопроса - лично для вашего случая нужно простым человеческим языком объяснить что хотите получить в итоге.
И разработчик с которым вы работаете должен быть опытным. Он сам переведет ваши хотелки на свой технический язык.
В случае, если бы у вас был бы опыт - система была бы другой: нужно было бы ставить задачи очень конкретно и разработчик мог бы быть менее квалифицированным.
Важный момент:
Не считать, что что-то само собой разумеется, что так обычно делают и пр.: неоговоренные вопросы разработчик может трактовать как хочет на свое усмотрение. Если у вас не почасовая оплата а фиксированная, то разумеется, неоговоренные вопросы он сделает по самому простому вариант, с чем потом будете получать кучу проблем.