Программное обеспечение · информационные системы

Разрабатываем и сопровождаем ПО — включая чужой код

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

debug · src/exchange/sender.pylive
13 # повтор после обрыва связи — отправка дважды
14 def send_batch(queue):
15 for msg in queue.pending():
16− api.post(msg)
16+ if not api.delivered(msg.id):
17+ api.post(msg, key=msg.id)
18 queue.ack(msg)
$ debug test exchange
[!] retry повтор отправляет дубль
[✓] retry дублей нет
тесты пройдены · выпуск готов
API · OKTESTS · 1 failingTESTS · OKBUILD · OK
Разработка

Что разрабатываем

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

01 / ИС

Заказные информационные системы

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

  • Корпоративные и ведомственные ИС
  • Личные кабинеты и внутренние сервисы
  • Отчётность и аналитика
02 / Веб

Веб-сервисы и порталы

Порталы, кабинеты и сервисы, рассчитанные на рост нагрузки: от внутреннего портала до публичного сервиса для граждан и клиентов.

  • Публичные порталы и личные кабинеты
  • Внутренние веб-сервисы
  • Работа с телефона и планшета
03 / API

Интеграции и API

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

  • Обмен с госплатформами, работа с ЭЦП
  • Собственные API для партнёров
  • Обмен между 1С, CRM, ERP и учётными системами
04 / Mobile

Мобильные приложения

Приложения для iOS и Android — для клиентов или для сотрудников вне офиса, вместе с серверной частью и панелью управления.

  • Клиентские приложения
  • Приложения для выездных сотрудников, работа без связи
  • Серверная часть и панель управления
05 / Автоматизация

Автоматизация процессов

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

  • Электронные согласования и маршруты
  • Автоматические сверки и выгрузки
  • Боты и уведомления
06 / Legacy

Доработка чужих и унаследованных систем

Берём системы, написанные другими командами или давно оставшиеся без поддержки: восстанавливаем сборку и документацию, закрываем ошибки, продолжаем развитие.

  • Аудит кода и архитектуры
  • Восстановление сборки и развёртывания
  • Поэтапное обновление устаревших платформ
Сопровождение

Система работает — и понятно почему

Сопровождаем системы собственной разработки и принятые от других подрядчиков. Что считается инцидентом, сроки реакции и порядок обращений фиксируем в договоре и SLA.

sla:

Поддержка по SLA

Принимаем обращения и классифицируем их по критичности; сроки реакции и решения закреплены в договоре.

fix:

Исправление ошибок

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

feat:

Доработки

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

deps:

Обновления

Обновляем платформы, библиотеки и зависимости плановыми выпусками — с проверкой и планом отката.

sec:

Информационная безопасность

Устраняем уязвимости, настраиваем права доступа и журналирование, готовим систему к проверкам на соответствие требованиям ИБ.

docs:

Документация

Ведём и восстанавливаем документацию: архитектура, развёртывание, инструкции для пользователей и администраторов.

Симптомы

С чем обращаются

Узнаёте ситуацию? С неё обычно и начинаем.

Симптом

Система работает, но никто не помнит как

Что делаем

Разберём код и инфраструктуру, восстановим документацию и схему развёртывания, возьмём систему на сопровождение.

Сопровождение →
Симптом

Подрядчик ушёл, исходники остались

Что делаем

Примем систему: проверим, что код собирается и совпадает с работающей версией, закроем критичные ошибки.

Legacy →
Симптом

Ошибка возникает «иногда», и её никто не может поймать

Что делаем

Настроим журналирование и мониторинг, воспроизведём сбой, найдём причину и исправим её — вместо перезапуска по расписанию.

Ошибки →
Симптом

Систему нужно связать с госплатформой или другой ИС

Что делаем

Спроектируем обмен, реализуем интеграцию через API или шину, предусмотрим повторы и журнал ошибок.

Интеграции →
Симптом

Процесс держится на Excel и пересылке писем

Что делаем

Опишем процесс и сделаем под него приложение или веб-сервис с ролями, отчётами и историей изменений.

Автоматизация →
Симптом

Новые требования регулятора, а систему страшно трогать

Что делаем

Сначала покроем ключевые сценарии тестами, затем внесём изменения и выпустим обновление с планом отката.

Доработки →
Процесс

Как идёт работа

Разбор

Выслушиваем задачу, смотрим текущую систему и данные. Если система уже есть — начинаем с её кода и журналов, а не с презентации.

Оценка

Фиксируем объём, этапы, сроки и стоимость. Неясные места проверяем прототипом.

Разработка

Работаем короткими итерациями и показываем результат после каждой. Ключевые сценарии покрываем тестами.

Внедрение

Разворачиваем на инфраструктуре заказчика или в облаке, переносим данные, обучаем пользователей. У каждого выпуска есть план отката.

Сопровождение

Берём систему на поддержку по SLA: исправляем, дорабатываем, обновляем.

Код и инфраструктура

Код и инфраструктура в одних руках

Debug с 2013 года занимается серверами, сетью и ЦОД. Поэтому, когда система тормозит, не нужно выяснять между подрядчиками, кто виноват — код, база данных или сервер: смотрим всю цепочку и исправляем там, где причина.

  • Подбираем и поставляем оборудование под разрабатываемую систему
  • Разворачиваем на инфраструктуре заказчика или в облаке
  • Можем сопровождать и приложение, и серверы по одному договору
  • appприложениекод, логика, интеграцииOK
  • dbбаза данныхзапросы, индексы, объёммедленный запросиндекс добавлен
  • srvсерверресурсы, ОС, виртуализацияOK
  • netсетьзадержки, доступностьOK
Заявка

Опишите задачу или баг — разберёмся

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

Нажимая «Отправить», вы соглашаетесь на обработку персональных данных.