разработка программных комплексов

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

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


Почему именно мы?

  • Мы не боимся так называемого «Legacy» кода и можем «вписать» новый код в существующую экосистему программного обеспечения заказчика с минимально возможным уровнем риска для заданных условий.
  • Мы имеем опыт работы с Continuous Integration и Continuous Delivery и можем позволить себе обновлять программное обеспечение так часто, как пожелает клиент (в пределах возможностей технического решения).
  • Мы готовы спроектировать и сопровождать базы данных любого типа и любой сложности, при этом сводя к минимуму риски потери данных.
  • Наши специалисты постоянно следят за тенденциями в сферах безопасности, современного программирования, аппаратных средств и управления проектами.
  • В нашем активе есть системы, сопровождаемые и работающие на десятках виртуальных и реальных серверов более десяти лет.
  • При выполнении работы мы всегда используем автоматические тесты и проводим нагрузочное тестирование, чтобы убедиться в работоспособности решения.
  • Мы умеем строить и поддерживать сложную сетевую инфраструктуру, а также заботимся о ее быстродействии и безопасности.
  • Обычно сопровождаем свои проекты сами, поэтому мы пишем проекты «как для себя».

Как мы это делаем

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

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

Основными практиками, постоянно использующимися в каждом проекте являются:

  • Итерационный характер разработки, предполагающий регулярную актуализацию требований и подробное планирование работ на ближайшую итерацию — обычно одну или две недели
  • Автоматическое юнит-тестирование кода, не только проверяющее корректность написанного кода, но и позволяющее дальнейшее внесение изменений без риска случайно внести дефекты в уже реализованный код
  • Refactoring, позволяющий адаптацию архитектуры проекта под новые реализуемые требования и дальнейшее сопровождение системы
  • Continuous Integration, обеспечивающий раннее обнаружение проблем, связанных с конфликтующими изменениями в одну и ту же область системы со стороны разных членов команды

Также в зависимости от проекта по необходимости применяются и другие практики: Continuous Delivery, парная разработка, перекрестные review, ретроспективы, Kanban-визуализации и лимиты и т. д.


Некоторые из выполненных проектов