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

Александр Белкин
Автор:
Содержание

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

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

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

Короткий ответ — нет.

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

Какова основная цель стартапа? Создание новых и инновационных решений? Или, может быть, использование инновационных решений? Это может быть одной из характеристик проекта, но не основной целью. Главная цель — предоставить вашим клиентам возможность делать то, что они не могли делать раньше, или дать им новые улучшенные способы работы. Как это лучше сделать? Максимально быстро, эффективно, и, по возможности, гибко. И если сам ваш сервис не завязан на некой технологической новинке, вам необязательно использовать инновации для создания своего сервиса. А чаще всего вам будет лучше без них.

Основная задача технической команды проекта — предоставлять бизнесу самое быстрое решение для его нужд. Если вашему бизнесу необходимо предоставить своим клиентам систему управления заказами, то ни бизнесу, ни клиентам не должно быть интересно, какие технологии использовались для ее разработки. Использовали ли вы PHP, Python или Go на бэкенде? Вы хранили свои данные, используя облачные хранилища NoSQL, или вы использовали старую добрую базу данных SQL? Единственное важное для ваших клиентов то, что вы предоставляете им новое, быстрое и безопасное решение, а от разработчиков проекта требуется доставить его максимально быстро и эффективно.

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

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

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

  • Вы ранее не видели их эффективность в широком спектре задач. Скорее всего, они были созданы крупной технологической компанией или большим и инновационным сообществом для решения определенных проблем или устранения конкретных недостатков существующих технологий. Но сколько небольших компаний или команд использовали их? Удалось ли им решить свои задачи? Помогли ли им технологии? Их проблемы такие же, как и ваши, или они использовали данные средства для решения проблемы, которой у вас даже нет?
  • Они не проверялись во множестве сценариев. Что, если решение принесет угрозы безопасности? Что делать, если решение имеет проблемы с масштабированием? Что, если одни инструменты будут плохо сочетаться с другими? И многие другие вопросы “что, если”, на которые будет сложно ответить, пока решение не было протестировано на достаточно большом количестве проектов и пользователей в течение достаточно большого периода времени.
  • У технической команды и бизнеса нет опыта, чтобы эффективно их использовать. Если вы сами не являетесь одним из разработчиков нового решения, есть вероятность, что вам и вашей команде придется пройти через обучение, чтобы внедрить технологию. Кроме того, процесс поиска новых членов команды также станет более сложным, трудоемким и дорогостоящим.
  • Недостаточно зрелые инструменты могут не покрыть все ваши потребности. Технологии развиваются со временем, охватывая все больше и больше потребностей. Большинство из них изначально были разработаны для небольшого количества решаемых задач. Если технология еще молода, есть вероятность, что она не покроет всех ваших нужд, и вам придется или искать обходные пути, или точечно использовать дополнительные инструменты. Это будет стоить вам дополнительных ресурсов.
  • Вокруг них не сформировалось достаточно большое сообщество. У нового инструмента может быть хорошо написанная и достаточно полная документация. Но часто бывает такая ситуация, когда вы столкнулись с нетривиальной проблемой при его использовании, и не можете найти ответ в официальной документации. Тогда вы будете искать решение в профильных сообществах, просить помощи у таких же пользователей, искать тех, кто уже сталкивался с подобной проблемой. И что будет, если не найдется таких людей, которые могли бы вам помочь? Это приведет к дополнительным затратам времени и ресурсов.

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

При выборе технических решений и инструментов для проекта нужно учитывать несколько важных аспектов:

  • Основная задача технической команды на ранней стадии проекта заключается в том, чтобы максимально быстро и эффективно выполнять требования бизнеса и реагировать на изменения. Во вторую очередь нужно обеспечить необходимую техническую инфраструктуру для эффективной деятельности компании. Для достижения этих целей гораздо лучше полагаться на более надежные инструменты. Речь не идет об устаревших или умирающих технологиях. Мы говорим об актуальных, но более известных и стабильных решениях. На Vue или React сложное веб-приложение будет построено скорее всего быстрее, чем на Svelte, каким бы классным он ни казался.
  • Если продукт или сервис, который вы предоставляете, непосредственно основан на передовых технологиях, или напрямую эти технологии и предоставляет, то техническая команда все-таки должна их внедрить. Потому что в этой ситуации мы по-прежнему придерживаемся основной цели технической команды — предоставить бизнесу то, что ему нужно. Скажем, если вы строите социальную сеть на основе NFT, то без технологий Web3 не обойтись.
  • Команда разработчиков стартапа чаще всего состоит из творческих личностей, которые всегда ищут более новые и интересные способы реализовать что-либо. Вполне естественно, что они всегда стремятся использовать новые инструменты в своем технологическом стеке. Несмотря на то, что это важная часть инженерной культуры и, как следствие, часть успеха проекта, это может принести проблемы. Если вы продолжите внедрять новые технологии, как мы уже выяснили, вы можете столкнуться со множеством ненужных расходов. Однако если долгое время придерживаться одних и тех же консервативных способов решения задач, вы лишите членов команды некоторых вещей, которые они высоко ценят: динамичности, развития и креативности. Следствием может стать низкая мотивация специалистов. Должен быть баланс между использованием проверенных временем технологий и внедрением новых. Если вы не найдете этот баланс, вы можете в конечном итоге либо прыгать от технологии к технологии, лишая компанию ресурсов, либо лишить членов команды морального духа и удовлетворения.

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

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

Например, языку PHP постоянно пророчат скорый уход, но он обновляется, развивается и не теряет популярности. Javascript все время обвиняют в устарелости и рекомендуют переходить на альтернативные языки, расширяющие возможности javascript. Но он остается популярнейшим языком программирования. Фреймворкам Symfony, Laravel, Ruby on Rails, React и Vue уже по многу лет, но они отлично выполняют свою задачу и идут в ногу со временем. Если у вас есть команда разработчиков, отлично владеющая таким стеком технологий, то используйте этот ресурс. Не нужно пытаться использовать, например, Python, только потому, что его часто используют для создания искусственного интеллекта и вам это кажется достаточно инновационным. В конечном счете это выйдет дороже. Если вам нужен web-сайт, PHP заточен под эту задачу куда лучше.

Следующие вопросы могут помочь команде решить, следует ли внедрять передовую технологию или нет:

  • Какую ценность она принесет компании сейчас или в будущем?
  • Каковы затраты на ее внедрение и применение?
  • Как она изменит стоимость разработки продукта в будущем?
  • Каковы риски внедрения или отказа от нее?
  • Кто сейчас ее использует и на каких проектах? Каков их опыт работы с ней? Похожи ли их проблемы и задачи на наши?
  • Есть ли у нее активное сообщество пользователей? Можем ли мы полагаться на это сообщество в решении проблем?

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

Понравилась статья?
Сохраните, чтобы не потерять!

Оцените:
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
4.7

Нужна консультация?

Мы с удовольствием ответим на ваши вопросы и расскажем, что можем сделать для вас


Нажимая на кнопку «Получить консультацию», я соглашаюсь на обработку персональных данных

Вам будет интересно

Сколько стоит разработка сайта в 2024 году

Сколько стоит разработка сайта в 2024 году

Читать подробнее
Что должно быть на сайте компании

Что должно быть на сайте компании

Читать подробнее
Продающие лендинги: подробное руководство

Продающие лендинги: подробное руководство

Читать подробнее