Разработка веб-приложений без боли: обязательные знания
Можно ставить деньги на то, что вам знакомы истории о растрате кучи денег на ужасный результат. Когда сроки сорваны, бюджет превышен, а общение с разработчиками превратилось в бессмысленную переписку. А если вы с таким не сталкивались, то боитесь столкнуться на личном опыте. И правильно делаете, ведь так можно сорвать многомиллионный контракт с печальными последствиями для ответственного.
Между тем, сделать web-приложение на заказ можно вполне гладко. Нужно знать, как правильно начать, как себя вести в процессе, чего требовать, а на что соглашаться. Эта статья — ваш путеводитель через весь путь разработки веб-приложения до результата.
Что за веб-приложения
Откинем недопонимание. Когда речь заходит о разработке веб-приложений, многие думают, что это просто сайт с парой кнопок и форм, лендинг или блог. Если вам нужна такая штука, сделайте её за день на WordPress, Tilda, Notion и в других платформах с готовыми решениями, не тратьте время.
На самом деле, веб-приложение — это полноценная программа, которая работает в браузере и часто управляется сложной логикой на сервере. Это решения относительно сложных задач, от управления заказами до анализа данных.
Пара очевидных отличий:
- Взаимодействие с пользователем — сайт в основном показывает информацию, а веб-приложение активно взаимодействует с человеком. Оно принимает и обрабатывает данные, отдаёт результаты, даёт возможность совершать сложные действия (редактировать, сохранять, делиться, управлять контентом и т.д.)
- Внутренняя сложность — за красивым интерфейсом скрывается бэкенд — серверная часть, которая управляет данными, логикой и безопасностью. Здесь масса подводных камней: хранение данных, защита от взлома, производительность, масштабирование
- Адаптивность и кроссплатформенность — веб-приложения должны работать одинаково хорошо на разных устройствах (компьютерах, планшетах, телефонах, очках виртуальной реальности и других) и в разных браузерах (Chrome, Safari, Firefox и других). Хотя иногда встречается узкий фокус, потому что всё зависит от вашей целевой аудитории. Это значит, что дизайн должен быть адаптивным, код должен корректно работать везде, производительность не должна страдать на маломощных устройствах. Эти нюансы легко упустить, особенно если сэкономить на проектировании и тестировании
- Интеграции с внешними сервисами — большинство современных веб-приложений работает не изолированно. Они связаны с CRM, ERP, онлайн-платежами, аналитикой, email-сервисами, сторонними API и многим другим. Интеграция — это отдельный сложный процесс
Хороший разработчик заранее продумает и подсветит эти моменты в документации. А плохой выдаст результат, который может начать терять данные, тормозить и выдавать другие сюрпризы. Если они заложены ошибками в архитектуре, это, выражаясь литературно, глубокое фиаско.
Как выбрать исполнителя
Ошиблись здесь — всё пойдёт не так. Поверьте, люди руководствуются чем угодно: ценой, красивыми словами в портфолио, вежливыми беседами с менеджерами, но только не важными критериями. Часто идут по первому же предложению, не изучив варианты.
Не бросайтесь на первое попавшееся предложение дешёвой разработки веб-приложений. Во-первых, дёшево не бывает; дёшево означает, что результат разойдётся с ожиданиями. Стоит мыслить категорией не дешевизны, а окупаемости. Но это уже к вашей финмодели, а не к разработчику.
Лучше заплатить чуть больше, но получить надёжный сервис с довольными пользователями (клиентами, сотрудниками), чем просто выкинуть деньги.
Что спросили бы мы:
- Сколько проектов они уже сделали
- Сколько сделали похожих приложений
- Сколько человек в команде, какие компетенции у каждого члена команды проекта
- Как они работают с изменениями в ходе проекта
- На какие этапы разбивают разработку
- Как тестируют разработки и как отчитываются о результатах
- Как идёт коммуникация с клиентами (как часто, где, как фиксируют договорённости)
- Попросите показать формы договоров, проектной документации и отчётов
- Объяснят ли ситуацию простым языком, если что-то пойдёт не так
- Как принимают оплату
В серьёзном дорогом проекте у вас будут сотни вопросов. С этих можно начать.
Чёткое техзадание — лучшая защита
Если вы очень грамотный заказчик, этот пункт стоит перед выбором исполнителя, потому что у вас уже есть техническое задание. Но можно написать его и с выбранными разработчиками. Тогда к вопросам лучше добавить форму ТЗ. Сравнив формы от разных исполнителей, вы непременно увидите разницу.
Одна из главных причин провалов — плохое техническое задание. Если вы хотите создать веб-приложение, которое будет эффективно выполнять свои задачи, потратьте время на детальное описание. В таком документе могут быть десятки и сотни страниц, но это окупится сторицей, ведь на каждый пункт можно будет ссылаться в общении с исполнителем.
Не нужно просто перечислять функции. Нужна история: «Хочу сделать X, потому что нужно Y и при этом важно Z». Разбейте проект на составные части, опишите желаемое и подсветите причинно-следственные связи, чтобы разработчики понимали вас и могли предлагать адекватные решения.
Это важно ещё и потому, что при реализации проекты часто меняются по разными причинам, от технических особенностей до изменения желаний заказчика, поэтому дайте людям возможность размышлять и предлагать, вам же лучше.
ТЗ не уложить в несколько советов, но мы попробуем:
- Опишите, кто будет использовать ваше приложение и зачем (можно портреты ЦА, JTBD и другие полезные штуки, которые полезны прежде всего вам самим)
- Приведите аналоги, конкурентов и отличия от них
- Пропишите этапы взаимодействия пользователя с интерфейсом, пути пользователей
- Добавьте ссылки на сервисы, которые вам нравятся
- Посмотрите примеры других ТЗ по похожим проектам, спросите у нейросетей
Самое главное — не бойтесь менять документацию по ходу работы, только структурированно, с оценкой влияния на сроки и бюджет. Здесь искренняя просьба вносить всё и предупреждать разработчиков.
Коммуникация: говорите, спрашивайте, уточняйте
После подписания договора можно расслабиться и ждать готового продукта.
Как бы хотелось, чтобы это было правдой. Для заказчика это освобождение и полная уверенность в результате, а для разработчиков это получение идеального, божественного ТЗ, в котором продумано всё, а что не продумано, то самоорганизуется.
На практике так не бывает, и проект живёт только тогда, когда в него вовлечены все стороны. Заказчику важно регулярно общаться с командой (лучше с заранее оговорённой периодичностью), задавать вопросы, пинговать по ответам на них, смотреть демо-версии, давать обратную связь. А ещё важно помнить, что разработчики тоже люди, и им важно понимать, ради чего они делают проект.
Ваша активная позиция снижает риск недопонимания. Но и исполнитель должен не просто слушать, но и задавать вопросы, предлагать решения с пониманием вашего бизнеса.
Этапы и контрольные точки
Любой проект — это марафон, а не спринт. Точнее, марафон со спринтами внутри. Чтобы не потерять ориентиры, важно разбивать работу на части.
Например:
- Подготовка ТЗ
- Прототипирование
- Дизайн
- Разработка основных функций
- Разработка второстепенных функций
- Тестирование
- Запуск и доработки
На каждом этапе желательно иметь чёткие результаты — прототипы, демки, тестовые версии. Это даёт возможность оценивать прогресс и вносить правки, пока не поздно.
А ещё лучше заранее обсудить, как будет проходить приёмка. Базовые вещи не стыдно прописать в договоре, а далее идут детали: кто будет проверять работу, по каким критериям, что считается исполненным, а что — нет.
Эти моменты часто остаются за кадром, а потом приводят к недопониманию.
Ценник и сроки — мечта и реальность
Желание сделать web-приложение на заказ быстро и дёшево понятно. Но важно быть реалистом. Любая качественная разработка требует времени и ресурсов.
Цена зависит от множества факторов: объёма функций веб-приложения, уровня дизайна, интеграции сторонних сервисов, количества платформ (например, мобильная и десктоп-версия) и прочего. Если вам обещают создать сложное приложение за неделю и 100 тысяч рублей — это либо мошенничество, либо ужасный результат.
Поэтому:
- Сравнивайте предложения нескольких подрядчиков
- Спрашивайте, что входит в цену
- Уточняйте, сколько времени займет каждый этап
- Будьте готовы к тому, что некоторые вещи могут потребовать дополнительных затрат
Откуда дополнительные затраты? На те самые изменения и доработки в процессе. Лучше приготовить 30% всей стоимости проекта, это будет ваш страховой фонд. А хорошая студия всегда честно расскажет, сколько стоит проект и почему.
Гарантии и поддержка после запуска
После релиза игра только начинается, ведь вы бросаете в бой новичка. Нужно внедрение, обучение, тестирование в реальной среде, и, конечно же, гарантийная поддержка.
В договоре следует учесть срок гарантии, перечень гарантийных работ, ответственность исполнителя за возможные ошибки.
Если вы планируете расширяться в будущем, выбирайте исполнителя, который останется рядом. Это удобнее, чем искать новую студию под ключ каждый раз, когда нужно что-то поменять. Поиск труден и умножает неопределённость.
Как оценить результат
Оценка результата — это не просто «понравилось / не понравилось». Здесь важно измерить, насколько приложение решает бизнес-задачи. Вам ведь нужен измеримый результат, чтобы можно было оперировать данными о том, улучшаете вы что-то или наоборот и насколько.
Что проверять после разработки:
- Соответствие ТЗ
- Удобство использования
- Быстродействие и стабильность
- Реакцию пользователей
- ROI (окупаемость)
Не бойтесь говорить о том, что что-то работает не так, как ожидалось. Разработчики не против развития знакомого проекта. Главное — делать всё конструктивно и на основе фактов, а не эмоций, сверяться с ТЗ и договором.
Заключение: как не попасть в ловушку
Процесс создания веб-приложения может быть сложным и мучительным или приятным и продуктивным. Всё зависит от того, как организована работа.
Главные правила для заказчика:
- Выбирайте ответственных и опытных разработчиков
- Инвестируйте время в подготовку ТЗ
- Поддерживайте открытую и частую коммуникацию
- Разделяйте проект на этапы
- Контролируйте прогресс
- Не экономьте на качестве ради цены
- Проявляйте участие, но без микроменеджмента
- Проверяйте результат по фактам, а не по ощущениям
Разработка веб-приложений с нуля — это интересная задача, решение которой при правильном подходе обязательно принесёт удовлетворение.
Вы не обязаны всё знать. АйТи Юниверс десятилетиями накапливала опыт и компетенции и может ими поделиться. Мы открыты к новому, любим учиться. Если вам близка такая философия, расскажите нам о своей задумке.
Далее: Filestone MFT 2.3 — обновление российской системы управляемой передачи файлов