{"id":14275,"url":"\/distributions\/14275\/click?bit=1&hash=bccbaeb320d3784aa2d1badbee38ca8d11406e8938daaca7e74be177682eb28b","title":"\u041d\u0430 \u0447\u0451\u043c \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u044b \u0430\u0432\u0442\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f72066c6-8459-501b-aea6-770cd3ac60a6"}

Проектирование сайта - гарантия успешной его реализации. Личный опыт

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

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

Был период, когда разрабатывал сайты в небольшой веб-студии в Минске. Верстал и программировал лендинги, интернет-магазины, CRM и ERP системы. Полноценного этапа проектирования сайта в веб-студии не было по понятным причинам - дополнительные затраты.

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

Долгие согласования

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

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

Срыв графика работ, увеличение багов

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

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

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

Пришёл к выводу, что экономия времени и ресурсов на проектировании сайта - равно головная боль и стресс в дальнейшем для программиста, срыв сроков и нервы для клиента.

Позже, уже в моей компании EZTec, внедрили стадию проектирования сайта. Регулярно дорабатываем ее и сейчас: собираем обратную связь от программистов и менеджеров, узнаем что было удобно, что нет. Таким образом оптимизируем этап для каждого вида программного продукта, учитывая нюансы и сложности его разработки.

Проектирование сайта

Описание

При заполнении брифинга и общения с менеджером, клиент в удобной форме описывает свой проект с точки зрения пользы и требований. Менеджер формирует полное описание проекта.

Архитектура

Утверждаются инструменты технической реализации: сервер, язык программирования, фреймворки, база данных.

Техническое задание

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

Прототипирование

Разрабатываются макеты интерфейса и прототипы страниц сайта.

Контроль

Проект-менеджер контролирует на соответствие требованиям и описанию проекта.

Утверждение

Заказчик проверяет техническое задание, вносятся правки.

В среднем у нас уходит 5-10 дней на полное проектирование сайта. Столь небольшое временное вложение дает клиентам возможность “протестировать” нас, получить представление о ответственности и организованности до начала основных работ.

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

Для тех, кто хочет больше разобраться в процессе, рекомендую:

  • Информационная архитектура в Интернете. Проектирование масштабных сайтов. Луис Розенфельд, Питер Морвиль
  • Разработка требований к программному обеспечению. Карл Вигерс, Джой Битти
  • Архитектура корпоративных программных приложений. Мартин Фаулер.

Проще с ластиком у чертежной доски, чем с кувалдой на стройке. ©Фрэнк Ллойд Райт

0
9 комментариев
Написать комментарий...
Omurbek Kadyrbekov

Никита а как вы считаете стоимость разработки и время?

Ответить
Развернуть ветку
Никита Казакевич
Автор

Разбиваем проект на минимально возможные части, оцениваем отдельно каждую из них, закладываем 25% на незапланированные сценарии и формируем оптимистическую, пессимистическую оценку по времени.

Ответить
Развернуть ветку
Юрин Иван

Пример ТЗ в статье — это ТЗ под разработку? 
Готового дизайна нет, оценка бюджета и сроков будет даваться без итогов дизайна? 

Ответить
Развернуть ветку
Никита Казакевич
Автор

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

Ответить
Развернуть ветку
Юрин Иван

Ох не соглашусь :) Да, примерно оценить можно, но это все прикидки будут. 
Дизайн скорей всего будет другим, прототип и ТЗ изменяться во время работы с заказчиком.
Он будет отличаться от прототипа и скорей всего заденет функциональность.  
В ТЗ не заметил прототипов мобильной и планшетной версии, хотя может в Axure он и есть. 
Кто в ТЗ делал прототип? Отдел дизайна участвовал? 

Ответить
Развернуть ветку
Никита Казакевич
Автор

Прототип в ТЗ - Архитектор и дизайнер интерфейсов.
Изменения, конечно, возможны и это нормально. Суть в том, чтобы продумать их по возможности заранее и быть, как минимум, готовым к ним со стороны архитектуры проекта. Собственно, для этого и нужно проектирование ПО.

Ответить
Развернуть ветку
Вера Гагарина

Обидно, когда напишешь такое хорошее и подробное ТЗ (как в посте), но оно попадет к обмуткам, которые все все равно сделают хуево.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Rom Dons

Для текстовой части ТЗ можете попробовать spexfy.com . Для более-менее стандартных проектов - экономия времени на написание техзадания.

Ответить
Развернуть ветку
6 комментариев
Раскрывать всегда