Короче, не стесняйтесь задавать глупые вопросы. Главное — понимать, что делаешь и что происходит. Есть, к примеру, работающий отчет по продажам товара. Но он не показывает инфо о текущих остатках. А эта информация нужна закупщику, чтобы понять, требуется ли поставка. В этом случае пользователям проще сформулировать, что им требуется. А разработчикам проще это понять. А в случае с разработкой новых инструментов и отчетов ситуация сложнее. Нужно понять, что хотят видеть пользователи. И тут начинается самое веселое для разработчика, т.к. пользователи никогда не знают, что они хотят. Точнее, они знают. Но не могут это нормально описать. Точнее, не могут описать так, как хочет это видеть разработчик. Программисту нужно четкое тех. задание. Или хотя бы функциональное. Без него он не сможет ничего разработать. Или разработает, но это окажется не тем, что нужно было пользователям.