Просмотров: 10091 шт.
Ввиду нашей деятельности "
разработка сайтов в Мариуполе " приходится часто сталкиваться с заказчиками, которые смутно представляют, чего они хотят от сайта. В таких случаях заказчик на словах предоставляет нам сводобу действий, ведь он нам доверяет. И иногда возникают ситуации, когда заказчик в итоге недоволен результатом, поскольку "он видел сайт совсем не таким". И это логично. Мы смотрим на будущий проект с точки зрения разработчика и реализовываем его так, как по нашему мнению считается правильно, модно и современно. Но у заказчика могут быть совершенно другие стереотипы и представления о своём сайте.
Именно чтобы не допускать таких ситуаций, человечество придумало такой термин как "Техническое Задание", далее -
ТЗ.
*****
Также ТЗ помогает определить финальный этап разработки сайта и факт полностью выполненной работы. Без ТЗ заказчик может постоянно просить сделать что-то ещё, добавить "фишечку" или "фенечку", которую он увидел на других сайтах, бродя по сетям интернет. И процесс этот будет нескончаемым.
В разработке как ПО, так и любого сайта частая проблема — никто не видит конечной точки. С одной стороны можно сказать, что конечным видением проекта должен обладать проектный менеджер. Но если конечный продукт совпадет с образом менеджера, но не совпадет с ожиданиями клиента? А если за время проекта меняется 3 менеджера?
Следствие закона Паркинсона “девяносто-девяносто”:
Первые 90% кода отнимают 90% времени разработки. Оставшиеся 10% кода отнимают вторые 90% времени разработки.
Из книги А.Купера “Психбольница в руках пациентов”.
ТЗ это не просто список требований, это документ. Если договор регулирует процесс организационных и финансовых взаимоотношений, то ТЗ регулирует процесс разработки и конечный результат.
В этом случае не имеет никакого значения большой разрабатывается сайт или малый. Проблема рассогласования ожиданий может возникнуть в независимости от объема затраченных средств, вот только последствия могут быть разными.
ТЗ отвечает на вопросы
ТЗ изначально создается для нескольких участников разработки:
- Разработчики проекта (дизайнеры и программисты).
- Проект-менеджер.
- Клиент.
- Бюрократы (они могут не участвовать в проекте, но на них тоже надо рассчитывать).
Оглядываясь на приведенные группы участников можно предположить, что ТЗ в первую очередь должно отвечать на их вопросы. В идеале вся предпроектная документация в каскадном методе создается так, чтобы снять вопросы в процессе разработки.
Итак, на какие вопросы отвечает ТЗ.
- Для кого создается сайт и для чего?
Наилучшим вариантом будет, если в Техническом задании вы опишите всех пользователей сайта, как внутренних, так и внешних. Это описание может включать в себя маркетинговые, демографические, социальные данные, цели и задачи потенциальных пользователей, их требования к будущему сайту.
- Как будут решены задачи заказчика и пользователей?
Собственно если не ответить на этот вопрос, то написание ТЗ можно признать бумагомарательством. Это основной и значимый вопрос.
- Как будет проходить создание проекта?
Как я уже писал выше, ТЗ (а может и отдельный документ) иногда описывает процесс разработки проекта. Это совершенно необходимо, если принять во внимание, что сайт может разрабатываться по отличной от принятой в компании методики разработки, которая как правило не описывается ни одним документом.
По ГОСТу предусмотрен отдельный раздел “Этапы разработки системы”. В таком разделе можно не слишком подробно описать процесс и установить майлстоуны.
- Что будет приниматься на выходе?
ТЗ начинает разработку и ставит в ней точку.
В идеале вы должны пройтись по всем пунктам ТЗ вместе с заказчиком, свериться с полученной системой и спустя неделю сказать: “Уф-ф. Вроде все сделали”.
“ТЗ является средством верификации выполненных работ.” — такая фраза записана во введении многих ТЗ.
Из чего состоит ТЗ
У меня ушел целый час на принятие решения: описывать состав ТЗ в виде конкретной четкой структуры или просто рассказать о том, что должно там быть. Вспомнив все свои ТЗ, я пришел к выводу, что структура этого документа так часто менялась в зависимости от целого ряда факторов, что четкое указание структуры будет напоминать плохой совет по выбору костюма. Представьте, что вам советуют что-то надеть на вечер, даже не осведомившись, куда вы направляетесь.
Общая информация
Первая часть ТЗ содержит введение и общую информацию о документе и проекте в целом. Введение надо написать один раз и на всю жизнь. Как правило, там пишутся настолько абстрактные фразы, что в каждом новом проекте надо лишь подправить пару слов.
Общая информация включает в себя:
Информацию о заказчике и исполнителе.
Обязательно указание ответственных лиц с каждой стороны. Указываются документы, на основании которых производится разработка. Как правило, подобным документом является договор. Статус текущего документа и конфиденциальность.
Назначение проекта.
Указывается: для чего будет использоваться полученный продукт.
Цели создания и задачи, которые должен решить ресурс.
С одной стороны это довольно короткий раздел, но по важности проработки он занимает первое место. Если цели и задачи поставлены нечетко и неизмеримо, то может быть довольно сложно им следовать.
Описание аудитории проекта.
Критично важная информация для разработки хороших и правильных сайтов. Ясно, что информацию об аудитории не только надо правильно собирать, но еще важнее это уметь этой информацией пользоваться.
Описание аудитории должно содержать не только информацию, которую так любят маркетологи (демография, потребности, сегментирование и т.п.), но также информация, которая пригодится дизайнерам и проектировщикам: какие задачи решает пользователь, какие его цели в работе с сайтом, что его привлекает. Алан Купер рекомендует описывать аудиторию сайта не в виде безликой массы, а выделять персонажи — описывать собирательный образ конкретных людей.
Рамки проекта
Если подальше отойти от своего дома и, обернувшись, взглянуть на него, то издали вы не сможете различить детали строения. Вы можете подсчитать окна, но не разберете из какого они материала, вы можете любоваться архитектурой (”любоваться”, конечно, можно не каждым домом), но сможете только догадываться о принципах его строительства, вам не будут видны внутренности квартир или нацарапанное слово на входной двери.
Рамки проекта примерно то же самое. Прочитав эту главу каждый должен представлять, что будет получено в процессе разработки, но абсолютно не вдаваясь в детали. Вы пишите, что на сайте будет работать “регистрация пользователей”, но не пишите, как конкретно она будет устроена, или какие поля должен будет заполнить пользователь.
Рамочный уровень проектирования в любом случае проходит любой проект, поэтому записать его будет не лишним. Кроме того, большие шефы как со стороны разработчиков, так и стороны заказчика очень не любят долго читать, но любят быть в курсе всего что происходит. Этот раздел надо написать в том числе и для них.
Рамки проекта пишутся в виде сценариев работы пользователей с сайтом и описывают общую функциональность и интеракции с интерфейсом.
Информационная архитектура и интерфейс
Раздел посвященный информационной архитектуре (ИА) сайтов не стандартизируется ни одним известным стандартом (автору такие пока не знакомы). Но любой, кто разрабатывал сайты, понимает, что ИА это чуть ли не главное, что нужно знать для разработки сайта. ИА определят как будет выглядеть и работать сайт с пользователями.
Для описания ИА потребуется описывать сверху вниз:
Структуру сайта. Это так называемые высокоуровневые прототипы.
Шаблоны страниц. Низкоуровневые прототипы, описывающие непосредственно интерфейс сайта.
Опись контента. Табличное описание содержания каждой страницы сайта.
Структура сайта
Карту сайта крайне желательно выполнять графическим способом.
Полезные советы при рисовании карты сайта:
- Не жалейте места. Старайтесь располагать блоки так, чтобы они были отделены друг от друга. Это поможет читабельности карты.
Не мельчите. Прочитать текст, напечатанный 4 кеглем, в принципе можно, но это уже причина для ненависти.
- Выравнивайте “квадратики” страниц относительно друг друга, выстраивая в линии. Это улучшит восприятие уровней вложенности страниц.
- Не пересекайте линии. Старайтесь избегать большого количества пересечений линий связей. Если они пересекаются, то должны “перескакивать” одна над другой. Кто занимался черчением функциональных схем в университете, меня поймет.
- Подписывайте карту. Подпишите саму карту, а также отдельные блоки. Это позволит меньше путаться в дальнейшем.
- Почаще сохраняйте файл. Банально, но надо просто помнить об этом.
Шаблоны страниц
На уровне карты сайта каждая страница представляет для нас только “квадратик” на листе бумаги. Для дизайнера, верстальщика и программиста этого недостаточно, чтобы разработать сайт. Надо еще знать наличие и расположение блоков информации и функций на страницах сайта. Поэтому мы переходим к шаблонам сайта. В идеале каждый квадратик должен быть детализирован до схемы каждой отдельной страницы, но стоит признать, что это становится для заказчика крайне недешево.
Для упрощения выделяют ряд шаблонов интерфейса сайта, которые описываются вслед за картой сайта. Заказчику можно указать на важные элементы, которые обязательно должны присутствовать на сайте в определённых местах, отталкиваясь от которых дизайнер уже сможет составить картинку, удовлетворяющую заказчика.
Описание контента
Самая долгая и нудная часть работы. Описание контента должно включать в себя перечень всех страниц сайта с точным указанием размещаемого на каждой странице текста, картинок и т.п.
В своей практике мы этот пункт не используем, поскольку предоставляем заказчику систему управления сайтом, в которой он может сам управлять контентом.
Функционал
Описание функционала сайта в техническом задании один из ключевых разделов. В особенности это касается сайтов с большим процентом программных работ: электронная коммерция, онлайн-сервисы и т.п.
Подробное перечисление всех разделов и функций упростит работу разработчику, сохранит нервы и сократит время выполнения проекта.
Можно также описывать структуру базы данных, предварительные алгоритмы работы, но само по себе техническое задание этих деталей не требует.
Требования
Отдельный раздел должен быть посвящен требованиям к проекту или проекта к окружению. Требования, которые могут быть описаны в техническом задании на сайт:
- Технические требования к системе;
- Требования к персоналу;
- Требования к надежности;
- Требования к эргономике и технической эстетике;
- Требования к защите информации от НСД;
- Требования по сохранности информации при авариях;
- Требования к видам обеспечения;
- Требования к программным средствам;
- Требования к информационному обеспечению;
- Требования к техническим средствам;
Может быть также ряд специфических требований.
Все требования необходимо четко формулировать и стараться не забыть ничего из аспектов разработки вашего проекта.
Конечно, в небольших проектах нет необходимости прописывать все приведенные выше требования. Так, например, часто персонала в веб-сайте вообще нет, поэтому такие разделы пропускают.
Вы должны быть готовы, что в процессе глубокого изучения ТЗ всеми участниками разработки в процессе работы над проектом будут найдены ошибки или несоответствия. Количество ошибок в большом документе прямо пропорционально его объему и обратно пропорционально времени, затраченному на его написание. Т.к. времени постоянно не хватает, следует ожидать, что ошибки в ТЗ будут возникать и необходимо учитывать время на их обсуждение и устранение на том этапе, когда работа над проектом ещё не началась.
Полезные ссылки
ГОСТ 34.602-89.
Нотация Гарретта.
Автор:
Юрий Шиляев , г. Минск. проектировщик сайтов, консультант. Директор минского офиса компании Artics Internet Solutions.
Источник
Комментарии:
Авторизуйтесь или зарегистрируйтесь, чтобы иметь возможность комментировать записи!