Що має містити в собі технічне завдання?

Добре технічне завдання тримається на трьох речах: мета, опис і спосіб реалізації. Без жодної з них програміст або гадатиме, або поставить вам десяток запитань ще до старту. Розберемо кожну.

  • мета - завдання, яке ми вирішимо, реалізувавши це ТЗ;
  • опис - короткий виклад того, що саме доробляємо;
  • спосіб реалізації - докладний опис того, як ми досягаємо мети. Тут треба розкласти все мовою програміста: які поля яких документів створюємо чи редагуємо, як має виглядати інтерфейс і так далі. Формулюйте однозначно, щоб після прочитання не лишалося запитань. Якщо подібне рішення вже десь працювало - в іншій сфері, в іншому проєкті - наведіть його як приклад, це сильно економить час.

Що означає «однозначно, без запитань»? Найкраще видно на прикладі.

Уявіть побажання клієнта: «хочу, щоб замовлення з сайту синхронізувалися з CRM і ставилася задача». Звучить зрозуміло. Але для програміста це майже нічого не означає. Ось як те саме виглядає в нормальному ТЗ (цифри й назви - просто приклад):

При створенні замовлення клієнтом на сайті www.testsite.com (сайт на WordPress, для магазину використовується модуль WooCommerce) потрібно, щоб у CRM автоматично створювалася Угода + Контакт у воронці «Головна» на етапі «Вхідна заявка». Одразу при створенні в угоді ставиться задача на відповідального менеджера: дата постановки - 12.10.2020 (або дата створення угоди), термін виконання того ж дня через 15 хвилин, тобто 12.10.2020 о 15:00, тип «Зв'язатися», текст задачі «Розібрати нову заявку з сайту».

Назва угоди - «Нова заявка з сайту за замовленням №…», де замість №… підставляється внутрішній номер замовлення з сайту.

Дані про товар - назва, кількість, артикул і ціна кожного артикулу - записуються в поле «Перелік товарів» типу «текстова область» у картці Угоди.

Загальна вартість замовлення йде в поле «Бюджет» картки Угоди.

Адреса з поля «Адреса замовлення» на сайті записується в поле «Адреса доставки» картки Угоди. Це поле треба попередньо створити, тип - «текстова область».

Тобто по суті потрібно розписати:

що, звідки, куди, в якому вигляді, за яких умов і в який момент має записуватися, копіюватися, створюватися або видалятися. Шість запитань - і коли на кожне є чітка відповідь, ТЗ готове.

І ще одне: пишіть лексикою тієї програми, з якою працюємо. У Kommo CRM є Контакт, Компанія, Угода, Покупець, Задача, воронка, етап воронки, поля та їхні типи (текстовий, списковий тощо). Слів «Клієнт» чи «Лід» там немає - тому в ТЗ їх краще не вживати, інакше виникає плутанина: незрозуміло, що саме ви маєте на увазі.

Навіщо така деталізація? Щоб точно порахувати вартість робіт. Кожна додаткова фраза реально додає ціни. Наприклад, невинне «хочу, щоб через 5 хвилин…» означає, що програмісту треба написати окремий алгоритм, який відраховує ці 5 хвилин від потрібного моменту. Дрібниця в тексті - окрема задача в роботі.

Якщо самотужки скласти таке ТЗ складно - допоможемо привести його «в потрібну форму». Від вас лише одне: напишіть чернетку максимально близько до прикладу вище, складіть її в гугл-документі на гугл-диску і розшарте нам на пошту chisla.com.ua@gmail.com з правом редагування.

Ми прочитаємо, прямо в тому ж документі поставимо уточнюючі запитання, а отримавши ваші відповіді - доведемо ТЗ до робочого вигляду. Готове завдання оцінимо протягом одного-двох днів і озвучимо термін виконання та суму.

Будемо раді співпраці.