Я встречала разработчиков, которым можно сумбурно накидать идей off top of my head - и они сделают четко то, что ожидалось… пару раз за всю мою карьеру.
Так что, чтобы впоследствии не плясать с бубном, объясняя клиентам/инвесторам/маме как работает ваш продукт, готовьте ТЗ. Рассказываю как.
❤️Дайте контекст - почему возникла потребность в этом приложении, какие боли пользователей вы решаете. Упомяните похожие решения и что вы хотите сделать иначе.
❤️Определите пользователей - кто они, сколько их и где они обитают 🔎 какие паттерны взаимодействия с приложением: его открывают раз в неделю в рабочие часы или юзают дненощно? Нужна ли ролевая модель?
❤️Опишите сценарии использования - так называемые user flow, они и составят основу функциональных требований. Здесь всегда хочется впихнуть невпихуемое, но вместо этого лучше определите базовые сценарии - без которых продукт попросту не имеет смысла, и желаемые - их хорошо бы иметь, но можно доработать уже после rollout-а.
❤️Не забудьте о нефункциональных требованиях - на каких устройствах / с каким разрешением UI должен корректно отображаться? В каких браузерах? Какой трафик сервис должен выдерживать и как быстро отвечать пользователю? Какие данные хранить и в течение какого срока?…
❤️Зафиксируйте основной стек - языки программирования, фреймворки, тулзы и движок сайта, проверьте, нужны ли вам на что-то корпоративные лицензии.
❤️Опишите зависимости - круто, если вы планируете запускать приложение в вакууме, но куда вероятнее, что данные нужно будет тянуть из корпоративной базы, отчеты складывать в хранилище, да и вообще интегрироваться со сторонними сервисами. Чтобы не страшиться интеграционных тестов, приложите нужные API и схемы к ТЗ.
❤️Если нужны макеты - то дайте их, вместе с палитрой, шрифтами и указанием, насколько разработчик от них может отходить. Достаньте брендбук из закромов.
❤️Проясните Definition of Done - какие будут критерии «сделанной работы». Разработчик вам отправит сборку? Или развернет приложение на вашей среде, прогонит все тесты, а еще будет рулить rollout-ом на всех юзеров?
❤️Сделайте чеклист для приема работ - какие сценарии вы прогоните прежде чем сказать «да, сделал, хорош!»
Теперь вы знаете как делать мощное ТЗ 🚀
А если вам не терпится применить навыки на практике, делюсь контактом Димы.
Дима - fullstack программист с широким стеком и таким же обширным опытом разработки проектов разного формата. Сейчас он запустил предложение по разработке MVP за 7 дней по очень хорошему прайсу. Так что если у вас давно есть идеи, но некому их воплотить в жизнь, напишите Диме - он подскажет, что можно сделать.
А как вы взаимодействуете с разработчиками? Формулируете требования в ТЗ?