Функционал, потом верстка, или наоборот?
Вариант 1. 
Верстальщику проще сверстать чистый html-код, чем потом разбираться в коде backend-разработчика. Не говоря о наличии сложных ветвлений, которое добавит путаницы и может привести к упущению некоторых веток
3 вариант. Вы пишите тз, в котором ясно описано что должно быть. Отдаете верстальщику и прогеру. Они вместе начинают работать, один верстает, другой подготавливает функционал. После того, как верстка готова, программист легко и непринужденно её натягивает на свой фунционал