Как мы работаем

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

Понимание бизнес-области

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

Индивидуальный подход

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

Коммуникации

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

Типы проектов

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

Оптимизация бюджета

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

Контроль качества

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

Внедрение и эксплуатация

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

Выбор инструментов

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

Аналитика

  • Формирование концептуальной модели

  • Оптимизация стоимости решения

  • Проработка бизнес-логики методами дизайн-мышления

  • Предметно-ориентированное проектирование (DDD)

  • Практики анализа от Международного института IIBA и Microsoft

  • Диаграммы в нотациях IDEF, BPMN, UML, DFD

  • Создание интеллект-карт для эффективной совместной работы

Дизайн

  • Создание интерактивных прототипов

  • Отрисовка макетов с привлечением будущих пользователей

  • Кроссплатформенный дизайн приложения

  • Учет необходимости масштабирования

  • Дизайн под специальные устройства (POS, часы, smart keyboard)

Архитектурные решения

  • Монолитная архитектура для простых приложений

  • Ориентированная на сервисы архитектура (SOA)

  • Концепция микросервисов

  • Многоуровневая архитектура

  • Событийно-ориентированные шаблоны

  • Приложение как сервис (SAAS) с вариантом multi-tenant использования

  • Облачные решения (Microsoft Azure, Google Cloud, Amazon Web Services)

  • Учет требований производительности

  • Учет требований доступности сервиса

Реализация систем

  • Мобильные приложения: native и гибридные (Android/Java/Kotlin, iOS/Objective-C/Swift), кроссплатформенные (React Native, Flutter), PWA

  • Веб приложения (ReactJS, Angular, Vue, Vanilla JS)

  • Бэкенд-сервисы (.NET, Java, Go, Node.js)

  • Интеграции (Apache NiFi, Apache Kafka, Eclipse Mosquitto, Apache Camel, Apache ActiveMQ, RabittMQ)

  • Распределённые вычисления и обработка потоков данных (Hadoop, Apache Spark, Apache Storm)

  • SQL базы данных (PostgreSql, MySql, Oracle, MSSQL)

  • NoSQL базы данных (MongoDB, Apache CouchDB, Apache Cassandra, Neo4j)

  • Интеграция систем аутентификации (SSO, OAuth2, OpenID, SALM 2.0)

  • Интеграция со сторонними сервисами и компонентами (платежные системы, системы мониторинга, финансовые системы, CRM, CMS)

Тестирование

  • Тестирование требований (проверка полноты, атомарности, выполнимости)

  • Ведение тестовой документации(Test-Rail, QA Touch, Confluence, Jira)

  • API тестирование (Swagger, Postman, Soap UI, Fiddler)

  • UX-тестирование (A/B testing, Tree testing, Heuristic evaluation)

  • Автоматизированное тестирование (Selenium/Appium, Cypress, PlayWright)

  • Нагрузочное тестирование (K6, jMeter, Gatling)

  • Тестирование на безопасность (SqlMap, ZAP)

Эксплуатация / Мониторинг

  • Полная автоматизация развёртывания (GitLab CI, K8s, Docker, Ansible)

  • Настройка логирования, агрегация логов (Promtail, Grafana Loki)

  • Система уведомлений по настраиваемым триггерам (Grafana, Telegram)

  • Точечное выявление необходимости увеличения мощностей

  • Локализация событий по времени, сервисам системы и пользователям (Prometheus, HaProxy)

  • Выгрузка апдейтов без остановки сервера и отключения пользователей

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

  • Мониторинг расхода ресурсов сервера в онлайн-режиме (Prometheus, NodeExporter)

  • Отслеживание трафика при балансировке серверной нагрузки (HaProxy Monitoring)

  • Мониторинг работы приложений внутри Docker-контейнера (CAdviser)

Оценим проект

01

Выделим аналитика и архитектора с необходимой отраслевой экспертизой, подпишем NDA, покажем стенды похожих проектов.

02

Оценим риски, проблемы, препятствия. Подготовим план их решения.

03

Обсудим напрямую. Ответим на все вопросы. Дадим более глубокое понимание технических аспектов.

dummy

dummy

dummy

dummy

Я даю согласие на обработку персональных данных в соответствии с требованиями статьи 9 Федерального закона от 27.07.2006 № 152-ФЗ «О персональных данных».

630055, г. Новосибирск,
ул. Гнесиных 10/1, 10 этаж