Основные отличия проектирования и разработки простого сайта или магазина от проектирования индивидуальных интернет-проектов, которые ежедневно будут использовать тысячи и даже миллионы посетителей.
Особенности highload-систем:
- Большинство проектов запускается с MVP (Минимально жизнеспособный продукт) а потом дорабатываются в плане функционала;
- Обычно практически весь функционал разрабатывается с нуля, нет аналогов и референсов. иногда в качестве примеров выбираются абсолютно разные сервисы и системы, а целью разработки является создать систему, в которой они будут объединены;
- Разрабатываются с крайне сложной внутренней структурой, используют стек различных технологий;
- Сервис должен справляться с высокой нагрузкой и при этом показывать хорошую скорость работы;
- Требует повышенной безопасности пользовательских данных;
- Высоконагруженные системы очень редко разрабатываются на коробочных CMS, не говоря уже о конструкторах или шаблонизаторах. Какой бы продвинутой не была CMS, в ней не хватает инструментария для создания систем с уникальным функционалом. Обычно такие проекты разрабатывают с помощью фреймворков на различных языках программирования;
- Система обладает админ. панелью с возможностью администрирования пользователей, назначения им ролей и прав;
- Имеет возможность монетизации, зависящей от действий пользователя — привилегий и доступа к закрытым частям системы, покупки платных тарифов и т.д. Нередко крупные веб-проекты часто монетизируются за счет размещения рекламы;
- Имеют интеграции с другими системами: системами оплаты, службами доставки и отслеживания товаров и др.
Одна из важных особенностей — отличие в подходе к проектированию и разработке. При работе над простым проектом — лендинга, небольшого сайта или интернет-магазина мы можем следовать каскадной методологии разработки и реализовывать все шаг за шагом, не возвращаясь при этом к уже завершенным этапам.
По каскадной методологии можно выстроить работу как с фрилансерами или с небольшим агентством, так и внутри своей компании. В таком проекте может быть задействовано небольшое количество исполнителей, например, по одному на каждом этапе. При этом можно избежать пересечения специалистов в работе над проектом, задачи могут выполняться последовательно, одна за другой.
В случае разработки высоконагруженных сервисов и порталов, крупных интернет-магазинов, агрегаторов, такой подход к разработке практически невозможен и каскадная методология (последовательная разработка) неэффективна. Жизненный цикл таких проектов не заканчивается релизом, они требуют постоянной доработки и модернизации. Тут стоит разбивать всю работу над проектом на спринты и работать по гибкой методологии.
Lean (бережливое производство) — один из видов гибкой методологии разработки. При разработке проекта выделяются сначала главные, а затем второстепенные элементы.
При работе со спринтами есть важное преимущество — у команды нет огромной и необъятной задачи, к которой непонятно с какой стороны подойти. Сначала разрабатывается MVP (минимально жизнеспособный продукт) с носновным набором функций, требований и целей, а затем идёт доработка отдельных частей. Попытка реализовать сложную систему путем составления подробного технического задания и передачи сразу дизайнерам и разработчикам, изначально обречена на провал.
Основная цель при работе с большими проектами — разбить большую задачу на небольшие подзадачи с прогнозируемыми результатами.
Например, в случае с интернет-магазином, сначала логично создать каталог товаров и кабинет покупателя, а потом добавлять сложные фильтры, подключать калькуляторы расчета стоимости и доставки, маркетинговые инструменты и т.д.
Еще одна особенность в работе с highload-системами — пока система не имеет разработанного прототипа, где продуманы и отражены все части системы, невозможно точно оценить сроки и бюджет на реализацию проекта, вот разработка прототипа, внесение в него правок, корректировка задач проекта обходятся в разы дешевле, чем правки на этапе дизайна или программирования.
Что потребуется проектировщику перед началом работ?
Не смотря на то, что проект-менеджер находится на первом этапе разработки, нельзя прийти к нему и сказать «сделай мне веб-площадку» и исчезнуть до завершения работ. Команде специалистов, которые будут воплощать вашу идею в жизнь, нужна полная информация о проекте и понимание вашей задачи.
Что стоит подготовить до этапа проектирования и о чем вас обязательно спросят:
Структура
Подготовленная структура проекта поможет вам общаться с разработчиками не «на пальцах», а вести конструктивный диалог и более корректно объяснить задачу. Ее детализированность на первых этапах не имеет значения, достаточно указать основные страницы и функционал, а также их связи (с какой страницы на какую и зачем пользователь должен попасть). Если система должна иметь несколько частей, их также нужно отразить в структуре и указать основные страницы и элементы.
После того, как основной скелет проекта сформирован, хорошим решением будет описать все то, что продемонстрировано в MindMup. Должно получиться техническое задание со структурой, как на примере ниже:
Пользователи, их роли и права доступа
В ходе формирования структуры проекта появится понимание, что состояние элементов, внешний вид и события, происходящие на некоторых страницах будут различаться в зависимости от того, какой пользователь их видит.
Практически в любом проекте можно выделить следующих пользователей:
— Администратор — пользователь, который имеет полные права и может совершать любые действия, в том числе добавлять и удалять новых пользователей, назначать пользователям роли.
— Менеджер/редактор — пользователь, который работает с наполнением сайта, помогает пользователям выполнять свои действия.
— Пользователь — ключевой посетитель сайта, который выполняет какие-либо действия с ним.
В сегменте BTС (бизнес для клиента) пользователем является конечный клиент, в BTB (бизнес для бизнеса) пользователи могут делиться на категории, например, постановщик задачи и исполнитель.
Чек-лист общих вопросов, на которые вам обязательно нужно ответить (а ответы письменно зафиксировать) перед стартом проекта:
- Какая у вас область деятельности?
- Чем занимается компания?
- Кто ваша целевая аудитория? Кто является потребителем ваших товаров и услуг?
- Чем ваш проект отличается от аналогов? Какие есть отличительные черты и преимущества компании перед конкурентами?
- В чем основные выгоды вашего товара или услуг?
- Какие ваши ожидания от готового проекта?
- Каких целей и показателей требуется достичь?
- Кто ваши конкуренты? Ссылки на их сайты
- Какие основные товары или услуги вы предлагаете?
- Какая география планируется у проекта?
- Нужен ли будет сайт на нескольких языках?
- Планируется ли выход на международный рынок?
- Какое впечатление веб-проект должен произвести на посетителя?
- Есть ли у вас название компании, фирменный стиль, логотип или требуется разработка с нуля?
- Имеются ли фото/видео материалы, контент, который требуется использовать для разработки?
- Должна ли быть монетизация у проекта? В чем она будет заключаться?
- Требуется ли интегрировать проект с другими системами — оплаты, доставки, отслеживания и т.д.?
- Планируется ли у системы служба поддержки, возможность связи с администратором для решения проблем?
- Будет ли на площадке оцениваться качество товаров или услуг — рейтинги заказчиков и исполнителей, оценка товара, обращение по возвратам товара или некачественно оказанным услугам?
- Какие типы пользователей будут на площадке?
- Требуется ли разделение личных кабинетов? Отличается ли функционал ЛК у разных пользователей?
- Будут ли на площадке использоваться калькуляторы или конфигураторы? Есть ли для них готовая логика или аналоги?
- Есть ли похожие проекты на рынке или полностью весь функционал требуется разработать с нуля?
- Есть ли у вас в компании человек, который готов будет давать экспертизу и отвечать на все интересующие вопросы?
Переусердствовать с количеством информации для ux-специалистов и разработчиков тоже не стоит. Вывалить кучу хаотичной информации на команду разработчиков — плохая идея. Лучше подготовить структурированные документы с описанием требований, которые не будут иметь повторов информации. Не лишним окажется подготовить ответы на вопросы из чек-листа, чтобы проще было объяснить задачу.
Хотите создать сервис, агрегатор или мощный интернет-магазин? Оставляйте заявку для наших разработчиков на сайте: https://siteup.ru