Памятка составления заявок и технических заданий

Что такое ТЗ и для чего оно нужно

Коллеги, в большинстве случаев для выполнения той или иной задачи отдел программинга требует от вас корректное полное ТЗ.

На первый взгляд это может показаться элементом бюрократии, желанием отсрочить начало своей работы программистом, затянуть и усложнить весь процесс. Бывали случаи (в начале сентября) даже такого плана: вы пока делайте сайт, а ТЗ мы напишем и пришлем позже.

Тем более, не видя ТЗ ни мы, никто-то другой не сможет оценить стоимость и сроки решения вашей задачи. (Вы можете точно сказать сколько стоит телефон Самсунг? 500р? 10000р? 30000р? Зависит от модели, его функционала и дизайна).

Подробное ТЗ - это необходимость конструктивной работы!

А зачем вообще нужно ТЗ? Заказчик говорит: «Нужен следующий сайт: каталог товаров, корзина, форма заказа, доставка, мы на карте, о нас, обратная связь». Что не ясно? Ничего необычного, всё обыденно и рутинно. Разработчик отчетливо представляет, что нужно сделать, а сделать, в его понимании нужно вот так:

Под конец работы приходит дизайн от заказчика, и при его просмотре становится ясно, что заказчик понимает задачу несколько иначе. А именно так:

И тут выясняется, что первоначальная оценка объема работ (и соответственно, сроков выполнения и стоимости проекта), которую сделал разработчик на основании своих умозаключений и озвучил заказчику, отличается от того, что, собственно, хочет заказчик.

Если «вычесть» одну картинку из другой, сделать, так сказать, diff, то мы получим разницу в ожиданиях заказчика и планах разработчика. И разница эта может быть весьма существенной:

Так вот, задача технического задания — это свести к минимуму разницу между представлениями двух строн: заказчика и исполнителя. Хорошее ТЗ дает маленький diff, плохое ТЗ — большой. Однако, есть очень важный момент: тех. задание не должно и не может свести diff к нулю! 

И diff и ТЗ имеют свою стоимость, причем стоимость нужно понимать более широко, чем просто деньги. Это деньги, время, потраченные нервы, испорченные отношения и т.д. Стоимость diff — это стоимость изначально неоговоренных доработок, стоимость ТЗ — это, собственно, стоимость ТЗ. Чем более подробное и детализированное техническое задание, тем выше его стоимость, но тем меньше величина и стоимость diff-а, и наоборот. 

Предлагаемый формат ТЗ

Напомню: цель ТЗ - донести ваши мысли и пожелания в деталях до исполнителя.

1) Что требуется сделать

Цель создания этого модуля (изменения, дополнения, сайта, странички).

Пример:

Требуется сделать на сайте страничку приема объявлений от читателей. Цель: организовать прием объявлений от жителей города через эту страничку, для последующей публикации их в газете. Так же организовать возможность оплаты этих объявлений картами или через смс.

2) Как должно выглядеть

Если идет взаимодействие с другими страницами сайта, то нужно прорисовать и их). От руки на листочке - нормально, главное чтобы было понятно.

  • Общая схема. Приложить пример.
  • Все участвующие страницы. Приложить пример. Каждый страницу и блок нужно пронумеровать или назвать, чтобы потом было возможно понять о чем идет речь. В формате стр1 блок4.

Если требуются логотипы, элементы оформления и тд, которые нужно использовать - нужно об этом написать на листочках и прикрепить исходники к ТЗ.

3) Описание функционала - как это должно работать.

Мы не можем сделать просто "поиск" или "Форму обратной связи". Т.к. не понятно что искать и где, с кем связываться и в каком виде это должно работать, тут важно прописать все блоки.

Пример:

1. Общий вид: что откуда переходит и как работает:

2. Описание всех элементов и страниц отдельно:

1 страница 1 блок: логотип (приложен к ТЗ), описана "точка входа" с остальными элементамип дизайна

1 страница 2 блок: надпись: "подать объявление в газету Pro Город". Сделать фон красным цветом, шрифт черный. Эта ссылка ведет на страницу 2 (страницу приема объявлений)

2 страница 1 блок: Форма подачи объявления:

  • Содержит поля: ФИО, Текст объявления
  • Под текстом объявления должен стоять счетчик символов этого объявления и при наборе текста он должен добавляться с ростом количества символов.
  • Должна высчитываться и стоимость этого объявления по формуле: Если количество символов меньше 200, то стоимость=количество введенных символов*10. Если количество символов больше 200, то стоимость=количество введенных символов*8).
  • Выбор даты публикации. Отображен календарь, в котором галочками нужно выбрать ту неделю выхода объявления.
  • Кнопка "Оплатить", при нажатии на кнопку открывается окно оплаты, куда вводятся данные карты или смс для оплаты.

Взаимодействие с администраторами (если оно есть)

Администратор сайта имеет доступ к таблице, в которой видит столбцы: дата подачи объявления, дата выхода объявления, текст объявления, ФИО оплатившего. Список отсортирован по дате - вверху, последние. Перечислить функционал администраторского интерфейса (что он может делать с данными).

Как сделать так, чтобы задачи решались быстро и эффективно?

Для того, чтобы не упустить ни одной задачи, поставленной вами, создан специальный файл в Гугл Докс - он тут: https://docs.google.com. Просьба вписывать в него все обращения - чтобы программист все учел. После добавления задачи в Гугл Докс, просьба известить об этом Вадима по скайпу - ник: diskzn

Формат поставновки задач

Чтобы съэкономить время и стоимость работы, просим формулировать задачи в понятной форме.

"Вадим, у нас не работает поиск" - сложная для понимания задача. Особенно, если после проверки (ввода произвольного текста поиск выдает результаты).

Нормальная формулировка строится по формуле: "Что не работает (конкретно), при каких условиях (как вы это поняли - то, что не работает), что должно стать итогом работы программиста".

Пример: На сайте ProKazan.ru не корректно работает поиск. При вводе ключевых слов, не находит материалы из раздела авто (http://prokazan.ru/news/view/104470 - его не находит). Прошу сделать так, чтобы материалы из раздела "авто" можно было найти через поиск на сайте.

  • Скайп программиста: diskzn
  • Телефон для экстренных случаев: 8917-232-56-64
  • Время работы: 9.00-18.00 по Москве (перерыв на обед в произвольное время)
  • Почта для больших файлов (шаблоны дизайна и т.п.): disweb@mail.ru