header-background
Назад

Как избежать ошибок при выборе технологий: пособие для заказчиков

Авторское 09.02.2024
выбор технологии для веб-проекта

Для тех, кто не знаком с тонкостями программирования, выбор технологий для своего проекта может показаться поистине непреодолимой задачей. Сотни фреймворков, сотни тысяч библиотек, множество языков программирования, готовых решений – поиск необходимого может стать настоящим вызовом. Как избежать ошибки, которая приведет к большим и даже огромным финансовым затратам? Давайте разбираться.

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

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

Коротко о технологиях

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

  • сайт,
  • интернет-магазин,
  • CRM-система,
  • сервис отправки электронной почты,
  • чудесная таблетка от зависания 1С (это для примера, таких таблеток нет) и т.д.

Какой инструмент выбрать для решения задачи зависит:

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

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

Инструменты зависят от самой задачи

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

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

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

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

О бюджетах и сроках

Важно понимать, что основные товары ИТ-компании – это время и софт. Если вы покупаете готовый софт, его цена уже четко определена. При покупке услуги все выглядит немного иначе: в этом случае вы покупаете время. Сколько времени исполнитель потратит на работу над вашей задачей, столько вы и заплатите в конечном итоге (в идеале): здесь подойдет старая истина “время – деньги”. Если же хотите сделать что-то быстрее, чем это обычно бывает, извольте доплатить за срочность. Правда, стоит помнить, что девять женщин не родят одного ребенка за один месяц.

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

  • Для создания сайта можно использовать шаблонный дизайн. То есть за несколько тысяч рублей вы покупаете шаблон, в котором уже есть верстка или даже предустановка на какой-то движок для сайта. Такие сайты нормально работают и почти в полной мере выполняют свою функцию.
  • Как вариант, тот же сайт можно на скорую руку сделать на конструкторе вроде Тильды.
  • Для интернет-магазина можно взять специальный движок, который, по сути, уже из коробки является интернет-магазином без дизайна.
  • Для решения корпоративных задач можно воспользоваться готовыми решениями CRM и ERP-систем. К примеру, помимо кастомных разработок мы предлагаем нашим клиентам еще и готовую бесплатную ERP odoo. В ней есть масса полезного из коробки – бери и работай. 
  • А для небольших локальных задач есть готовые технологии, которые позволяют быстрее достичь результата, например, программа для парсинга данных, которой нужны только небольшие настройки.

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

  • дефицит специалистов для поддержки: вы будете привязаны к одному подрядчику, а вдруг что? 
  • вероятность того, что не вы будете настраивать систему под себя, а сами будете подстраиваться под систему, а на это не все готовы; 
  • перспектива достичь предела возможности развития инструмента под свои нужды.

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

Головные боли заказчиков 

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

Проблема 1. Выбор ради выбора, или выбор ради интереса

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

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

Проблема 2. Выбор ради привязки к себе

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

Проблема 3. Неправильный выбор

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

Выводы

Какие выводы можно сделать?

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

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

Иван Астафьев, руководитель команды Nextner

Изображения от Freepik.

Читайте также

Узнайте, какие факторы определяют цену создания просто сайта-визитки и сложного интернет-магазина, почему локация исполнителей влияет на расценки, как дизайн, функциональность, интеграции, безопасность определяют цену. Исследуем, сколько специалистов понадобится и как это скажется на стоимости.
При разработке сайта создание технического задания (ТЗ) становится ключевым моментом, который определяет курс и параметры всего процесса. Документ структурирует все требования и пожелания заказчика, прописывает архитектуру и функциональные возможности сайта. Погрузимся в детали этого этапа разработки.
При посещении сайта пользователь должен мгновенно ориентироваться, легко находить нужную информацию и выполнять действия, предполагаемые владельцем. Для этого важно проработать юзабилити сайта. Разберем основные принципы юзабилити и расскажем, как улучшить пользовательский опыт.