Платформа Nethouse работает на IT-рынке почти 10 лет. Мы создали целый ряд популярных сервисов (конструктор сайтов, сервисы для создания мультиссылок, продажи билетов и онлайн-обучения, регистратор доменов) и имеем большой опыт в области разработки продуктов. Техническое задание — важная составляющая наших рабочих процессов. Без правильно сформулированной задачи нельзя ожидать от разработчиков ее идеального выполнения.
Между разработчиками и реальным клиентом стоят и другие люди, например, продакт-менеджер или техническая поддержка сервиса. Все пожелания и цели от клиента изначально обрабатываются ими — и только потом отдаются на реализацию.
Когда человека просят соблюдать определенные правила, он сначала придерживается их, но зачастую постепенно перестает. А зачем? Исполнители те же, сервис знают, понимают с полуслова. Но если появляется новый человек? Если кто-то не знает именно этот функционал? И еще много других "если".
Делимся с вами нашими правилами составления хорошего техзадания.
Все должно быть прописано
Сразу прописывайте все пункты задачи текстом. И вы, и исполнитель всегда можете вернуться к нему, ознакомиться еще раз, сделать выводы или даже переписать. Если задача обсуждается голосом, все изменения также необходимо письменно зафиксировать.
В своей работе мы используем следующую структуру:
- Backlog — файл в Google Docs, в который мы "складываем" пожелания пользователей и свои идеи по развитию проекта.
- GitLab — сюда добавляем подробные техзадания, здесь же ведется обсуждение задач, трекинг и отчет о тестировании.
Опишите, как функция работает сейчас
Допустим, уже есть функционал/дизайн, который используется на данный момент. В таком случае, необходимо подробно описать его работу, концепцию и указать важные детали. Все дело в том, что вам и исполнителю нужно заговорить на одном языке: использовать одну терминологию, прийти к одной предметной области и понять, в чем будет состоять задача. Иначе дальше вы рискуете пойти в неправильном направлении.
Опишите, что нужно изменить
Вот этот пункт самый сложный. Здесь четко, по пунктам необходимо прописать для исполнителя каждую мелочь и деталь изменения или создания продукта. Важно помнить, что "очевидных" вещей нет. Все, что вы подразумеваете, живет только в вашей голове, а исполнитель не может прочитать ваши мысли. Например, если вы хотите, чтобы в дизайне использовались только теплые оттенки красного — пропишите это. Или если вы не хотите использовать точку в предложениях, продемонстрируйте это в тексте и отдельным пунктом вынесите требования к знакам препинания.
Если вы хотите, чтобы при наведении курсора на кнопку она подсвечивалась — укажите это! Делите пункты на подпункты, нумеруйте и разбивайте на подзадачи, если проект большой. Каждое ваше "А может сделаем так?" также должно фиксироваться в техническом задании письменно. Помните, вы получите тот результат, который хотите, только тогда, когда исполнитель будет читать ваше ТЗ и идти четко по нему.
Опишите, как все должно работать после изменений
Отдельным пунктом необходимо указать, как будет работать нужный вам функционал, каким задачам он будет отвечать, как должен выглядеть дизайн. По факту, вы прописываете алгоритм проверки работы для себя же как заказчика. Ведь как принять и согласовать продукт, если вы даже не определились с тем, как именно он должен выглядеть и работать?
Пример техзадания и ход реализации
На примере нашего сервиса для организации, проведения и продажи онлайн-обучения
Nethouse.Академия.
Заголовок: Добавить предпросмотр курса в панели организатора
Что плохо сейчас: Пользователь не видит, как выглядит курс в личном кабинете ученика. Единственный способ — опубликовать курс и зарегистрироваться бесплатно/купить курс с промокодом на 100% скидку. Это неудобно.
Что нужно изменить: Добавить кнопку предпросмотра, чтобы пользователь в один клик мыши мог зайти в личный кабинет ученика.
Как нужно изменить: Добавить кнопку согласно макету (ссылка на макет в Figma). Реализовать переход с кнопки в личный кабинет ученика, где все уроки будут доступны сразу.
Ход работы: после выгрузки кода на тестовый сервер специалисты сервиса проверяют работу новой функции, ставят галочки (что работает, что не работает) и при необходимости возвращают задачу на доработку. После внесения корректив код выгружается на боевой сервер.
Почему же так важно техзадание?
Рынок IT очень динамичен. Каждый день появляются новые решения и сервисы. Единственный вариант развиваться и привлекать пользователей — быстро запускать новые фичи и устранять биги. А правильная и детальная постановка задач — очень важный этап в этом процессе.