Попробуйте вначале описать то, что вы хотите видеть в итоге, а уже потом распишите подробно, по пунктам. Важно, чтобы взяаимосвязанные элементы стояли друг за другом, так, чтобы впервые увидевший текс задания человек, смог связать эти части у себя в голове.
Правильно описать сложное задание может далеко не каждый, поэтому стоит прибегать к небольшим хитростям. То, как будет функционировать скрипт - это дело программиста, ваша задача описать конечный результат. Для упрощения задачи можно прибегнуть к описанию действий "какого-то посетителя". Для этого используйте фразовые конструкции типа: "Зайдя в раздел, пользователь должен иметь возможность загрузить свой файл или создать альбом, используя ссылки "загрузить файл" и "создать альбом"". Подобное техзадание максимально дистанцирует вас от работы программиста, а соответсвенно избавит от лишних притензий.
Если вам трудно выразить словами желаемый результат, то попробуйте его нарисовать (можно даже в Paint). Если же вам требуются доработки уже существующего скрипта, то можно сделать скриншот страницы и уже поверх него дорисовать нехватающие элементы. Наглядный пример всегда упрощает понимание.
P.S. Если программист часто говорит "Это слишком сложно" или "Такой результат невозможен", прекращайте с ним работать!
Антон Тишков