Тех задание для web-разработчика

Интернет-маркетинг | 1 февраля 2011 10 793

тз, план работ, управление

Написание хорошего ТЗ для разработки сайта еще та проблема, и я поделюсь своим опытом по созданию "человеко-понятного" описания для заказчика для разработчика.

Начну из далека, не судите строго (все картинки кликабельны)...

Шаг ноль. Заказчик.
Манипулирование.


Начнем с первой встречи с заказчиком. Произвести впечатление серьезного человека, с которым можно и нужно работать - вот Ваша основная задача - так что отложите Ваш любимый костюм цвета хаки - джинсы и рубашечка - будет самое оно.

Место встречи тоже очень важно - MacDonalds - не лучший выбор - лично я выбираю кофейни - тихая спокойная обстановка распологает к продуктивной беседе. Кстати - тут Вам и первый звоночек - если заказчик угощает - это хорошо, иначе - работайте по предоплате.

На этой первой встречи Вы должны убедить заказчика в том, что из Вас двоих именно Вы профессионал, и именно Вы знаете чего он хочет. Берите инициативу на себя во время деловых встреч и переговоров. Не стесняйтесь давать подсказки заказчику, приводите примеры, но только такие какие Вам нравятся, и Вам они выгодны (к примеру лежит у Вас в заначке готовый сайтец). Не дело если заказчик сядет Вам на голову - может он где-то и директор, но только не с Вами - для Вас он просто один из многих.

Аналоги.

Добейтесь от заказчика аналогов его детища (я сильно сомневаюсь в уникальности идеи, такие встречаются крайне редко), так вы быстрее поймете суть того чего от вас добиваются. Очень хорошо если у Вас есть ноут с доступом в и-нет, и Вы сможете все сразу посмотреть. (раскошельтесь на PCMCIA GSM модем - это производит впечатление).

Деньги.

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

ТЗ.
Во время разговора записывайте важные моменты - не надейтесь на память - обязательно проколитесь. Если у Вас возникают вопросы - задавайте их, ответы опять же стоит записывать. По окончанию беседы перед Вами должен лежать черновик ТЗ.
А теперь наступает самый трудный момент - Вы должны убедить заказчика в том, что именно Вы пишите ТЗ, и он за него должен заплатить. Если таковое не получилось - пришлите ему образец - пусть помучается, в итоге, если он ценит своё время - он таки согласиться на Ваши услуги.

Шаг первый. ТЗ.
Писательство.


Перед началом работы над ТЗ Вы должны твердо уяснить для себя - данный документ должен трактоваться однозначно не только Вами и заказчиком, но и любым другим разработчиком, и это достаточно сложная задача.
Небольшое лирическое отступление в начали пути - имхо, считаю что одно из самых правильных способов подачи информации есть графический, т.е. лучше один раз увидеть, чем сто раз услышать. Так что будем рисовать макеты (mock-up'ы) страниц - для этого подойдет даже MS Word (хотя конечно лучше воспользоваться чем-то вроде Axure RP Pro):
В качестве подопытного возьмем сайт представляющий собой доску объявлений по купле-продаже автомобилей.

Тех задание для web-разработчика


Как Вы видите - это главная страница сайта, на ее "рисование" у меня ушло чуть меньше 5-ти минут, теперь можно попробовать описать словами:
Сверху должен располагаться логотип, правее форма для авторизации пользователей, чуть ниже логотипа - ссылки сайта, под ссылками - топ комментируемых новостей, и еще ниже блок рекламы. По центру должна находиться форма поиска, под ней - последние добавленные объявления, затем блок рекламы, и последние новости. Под формой авторизации должен располагаться блок с последними комментариями на форуме, и ниже блок рекламы. В самом низу страницы будут находиться счетчики-пузомерки, а так же копирайты


Ух, описание конечно - много буков, и много вопросов, макетик более однозначный. Ладно поехали дальше, ближе к сути.
Для начала необходимо выделить сущности, роли пользователей и определить уровни доступа (буду краток - приведу таблицу):

Тех задание для web-разработчика


Где:
R - чтение
W - создание
E - редактирование
X - полный доступ (создание/редактирование/удаление)
M - модерирование (редактирование/удаление)
* - особенности реализации отображены в документации

Теперь перед нами стоит следующая задача:
Для всех R - создать макеты страниц
Для всех W, E - описать полностью формы - т.е. какие поля редактируемы, и по каким правилам
Для всех X, M - mock up'ы страниц с навигацией + формы создания/редактирования

Начнем с простого - R - для объявлений:

Тех задание для web-разработчика


И для новостей:

Тех задание для web-разработчика


Далее приведу пример описание формы для комментариев (W):
Имя – буквы кирилицы и латиницы, цифры, символ подчеркивания и дефис, обязательное
E-mail - в соответствии со стандартом RFC-2822, обязательное
Ссылка на Сайт - в соответствии со стандартом RFC-2616
Текст – непустое поле больше 3-х не пробельных символов
CAPTCHA - тест Тьюринга для защиты от спама, обязательное

И соответствующий mock up:

Тех задание для web-разработчика


Как видите - подобные макеты достаточно информативны, а так же подготавливают заказчика к будущему продукту.
Так же не забудьте приготовить шаблоны писем (вот вам примерчик):

Тех задание для web-разработчика


Еще пригодится диаграмма прецедентов (вполне вероятно, Вы могли её нарисовать еще на этапе обсуждения проекта с заказчиком):

Тех задание для web-разработчика


Проектирование архитектуры и БД.

Почему я включил сюда этот пункт? Всё очень просто - по своему опыту скажу - когда документация по проекту заходит в отдел и начинается разработка архитектуры и БД, то возникает очень много вопросов, о которых даже мысли не возникало при прочтении доки. В итоге проектная команда простаивает, пока менеджер, краснее перед заказчиком, выясняет эти нюансы. Было бы намного логичнее быть на шаг впереди, и набросать архитектуру и БД уже на этом этапе - это часа 3-4 работы, которая сможет сэкономить и время, и деньги, и нервы (конечно архитектура в таком варианте будет слишком сыра, но уже сможет выявить несколько подводных камней).

Архитектуру я описывать не буду - так как в данном примере особо и проектировать нечего, а low-level нам продиктует фреймворк.

А вот приблизительный набросок БД это всегда пожалуйста (опять же особо не заморачиваясь на подробности):

Тех задание для web-разработчика


Шаг второй. Оценка проекта.

О данном этапе советую прочитать статью "Оцениваем проекты"

Вывод

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

оригинал статьи Хабрахабр.ру
Виталий Чуяков

Виталий Чуяков

Технологический прагматик

Веб-разработчик с 20-летним стажем, основатель веб-студии TCSE. Специализация: DLE «под ключ», Webasyst, Parts-Soft.ru, технический аудит.

🧠 20 лет 🚀 120+ проектов 📄 45+ статей
[Из песочницы] То, чего вы не знаете о веб-разработке

Нет, это не очередной пост, говорящий вам, что вы хуже. Я здесь не для того, чтобы рассказать вам то, чего вы не знаете...

Подробнее
Как правильно проводить тендер на разработку сайта

Еще одна качественная статья на сайто-строительные темы была опубликована сегодня на Вебпланете. Все, написанное ниже,...

Подробнее
О фрилансе и заказчиках

Дизайнер сдает работу заказчику. Заказчик удовлетворенно кивает, со всем соглашается: — Ну, вроде бы все принято! —...

Подробнее
Общение с заказчиком сайта

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

Подробнее
Четыре шага к выбору веб-разработчика

Еще одна любопытная статья предназначенная в качестве небольшого руководства, которое поможет произвести поиск и отбор...

Подробнее
Вы же профессионал! в IT не бывает невозможного

Нам нужно нарисовать семь красных линий. Все они должны быть строго перпендикулярны, и кроме того, некоторые нужно...

Подробнее

💬 Комментарии

В связи с новыми требованиями законодательства РФ (ФЗ-152, ФЗ «О рекламе») и ужесточением контроля со стороны РКН, мы отключили систему комментариев на сайте.

🔒 Важно Теперь мы не собираем и не храним ваши персональные данные — даже если очень захотим.

💡 Хотите обсудить материал?

Присоединяйтесь к нашему Telegram-каналу:

https://t.me/tcsecms

Нажмите кнопку ниже — и вы сразу попадёте в чат с комментариями

  1. отличная информация
  2. Добавил в закладки, статья суппер
  3. Супер!!!