Как сэкономить время и деньги, поделившись кодом с разработчиками — обложка

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

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

Объясняем.

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

  • Протестируем приложение полностью, а не только то, что делаем мы
    Даже если задача — самостоятельный модуль, который добавляет новые функции существующему проекту, критерий готовности один: хорошо работающая система целиком.
    Чтобы убедиться, что новый модуль качественно интегрирован в существующую систему, нужно точно воссоздать реальное окружение и протестировать его комплексно. А что, если новая возможность — например, перевод речи на лету — мешает уже работающей функциональности?
  • Обеспечим полную совместимость
    Бывает, что существующий код написан давно и использует старые версии инструментов. В таком случае единственный способ убедиться, что новый модуль будет хорошо работать в реальной инфраструктуре — проверить его вместе с остальными компонентами и устранить возможные конфликты.
  • Гарантируем быструю поддержку новой функциональности
    Интеграция нескольких систем (например, существующего проекта и нового модуля) всегда требует скоординированных усилий двух команд: той, что поддерживает «живой» продукт, и той, что разработала новую функциональность. Чтобы интеграция прошла быстро, а команды эффективно работали вместе, важно, чтобы обе стороны хорошо понимали обе части проекта. Тогда ваша команда сможет в любой момент уточнить требования, а наша — их реализовать.
  • (Возможно) улучшим то, что уже работает

За нашими плечами — 18 лет опыта разработки мультимедиа онлайн-платформ для разных целей. Часто у нас есть проверенные способы решения важных задач — от масштабирования до экономии трафика, — которые делают уже реализованную функциональность более надёжной и менее требовательной к ресурсам.

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

Почему вы можете не переживать за свой код

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

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

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

Но я действительно не могу предоставить доступ к исходному коду. Что делать в таком случае?

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

Если исходный код недоступен, потому что он принадлежит третьей стороне.

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

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

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

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

Команда разработки уже в деле! Мы постараемся извлечь максимум данных из существующей системы и восстановить исходный код. Особенности JavaScript — нашего основного языка — и наш опыт позволяют нам это сделать.

Если у вас есть «железо», но софта для него пока нет.

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

  • Вопросы клиентов