Наши методы работы
RDN Group - веб-интегратор, специализирующийся на сложных и высоконагруженных проектах внедрения продуктов 1С-Битрикс24: Enterprise и 1C-Битрикс: Управление сайтом Enterprise, 1С, ИТ-инфраструктуры, а также сложных нетиповых интеграциях.

Ключевые компетенции
Ключевые компетенции: разработка личных кабинетов, аукционов и торговых площадок, внедрение корпоративных порталов, внедрение CRM, 1С:ERP, интеграция с 1С, SAP и другими ERP-системами. Вместе с нашими акционерами и партнерами, мы входим в группу компаний, в которой задействовано более 150 специалистов в разных областях, среди них «закаленные» в сложных проектах разработчики, аналитики, системные архитекторы, дизайнеры и тестировщики. Многие из них работали в компаниях-лидерах рынка 1С, стояли у истоков рынка личных кабинетов. Ключевые преимущества: Быстрая разработка - внедрение MVP за 3 месяца, наличие в штате специалистов 1С и ИТ-инженеров, собственные методологии внедрения (в том числе - "гибридные команды" совместно с заказчиком и использование гибких методологий (scrum,agile) совместно с классическими подходами).
Используемые методологии ведения проектов
Time and Materials / Retainer
С некоторым упрощением примером гибкой методологии можно назвать Time & Materials — это: когда специалист или специалисты, работающие на проекте выполняют поставленные задачи и учитывают все отработанное время, которое, как правило, тарифицируется по часовому или дневному тарифу (человеко-часы или человеко-дни). Как развитие методологии T&M мы используем подход Retainer (выделенная команда). По сути это тот же аутстаффинг, но с управлением, тестированием и главное — ответственностью исполнителя.


SCRUM
Гибкие методологии подходят для проектов, где необходимо быстро протестировать гипотезы и запустить MVP продукта. Для запуска, например, SCRUM на старте проекта создается небольшая и гибкая команда из специалистов заказчика и исполнителя. Общий состав команды, как правило, 7-10 человек. Scrum-подход делит рабочий процесс на равные спринты – обычно это периоды от недели до месяца, в зависимости от проекта и команды. Перед спринтом формулируются задачи на данный спринт, в конце – обсуждаются результаты, а команда начинает новый спринт. Спринты очень удобно сравнивать между собой, что позволяет управлять эффективностью работы.
Waterfall
Менее гибкий поэтапный подход планирования проекта от А до Я с обязательным документированием и жёсткой фиксацией ТЗ. Такой подход хорош, когда заказчик заранее знает результат, на который он должен выйти, и совместно с исполнителями просчитал, как его поэтапно достичь. Залог успеха при waterfall-подходе – грамотное ТЗ. Как правило, на ТЗ должно быть заложено не менее 20% бюджета, а детальное ТЗ требует участия нескольких высококвалифированных специалистов:
- системного архитектора
- аналитика (знающего и продукт и бизнес, и платформу на которой будет реализация)
- руководителя проекта
- специалистов по интеграционным решениям (если требуется)


Scaled Agile Framework
Но существуют проекты с очень амбициозными целями, где есть примерное понимание, что в итоге должно получиться, но процесс достижения еще не ясен. Зачастую это крупные и очень крупные проекты. Создать детальное техническое задание не получится, прежде всего потому что бизнес меняется и под него будут меняться требования проекта. Однако, одна только методика SCRUM тоже работать не будет, поскольку нужно соблюдать формальные процедуры. Поэтому в таких проектах применимы мутации. Сверху - формальный проектный подход (с проектными комитетами, длинными цепочками согласований и т. д.), а снизу команда разработчиков работает по гибкой методологии Scrum. Такой подход и называется Scaled Agile Framework. Он позволяет соблюсти сверху все формальные процедуры, а команде внедренцев гибко и поэтапно реализовать проект. Причем, Scaled Agile Framework - не единственная методология, использующая микс и гибких (внизу, на уровне команды) и жестких (на уровне управления) методологий.
Организация работ
Выделение функционала MVP
Ежедневные скрам-встречи
Подключение бизнес-заказчика к скрам-встречам не реже, чем несколько раз в неделю и чаще
Постановка задач в JIRA
Совместная работа в GIT
Постоянное тестирование
Встречи по обзору спринта
Ведение журнала продукта, журнала спринта и графика спринта
Руководитель проекта выступает в роли скрам-мастера
Со всеми специалистами на проекте подписывается проектный NDA
Организационная схема управления оказанием услуг

Стандарты оказания услуг
Роли | Артефакты | Процессы | ||
---|---|---|---|---|
Владелец продукта | Беклог продукта | Планирование спринта | ||
Скрам-мастер | Беклог спринта | Обзор спринта | ||
Команда | Инкремент продукта | Ретроспектива | ||
|
|
Скрам-матинг | ||
|
|
Спринт |

Схема взаимодействия

Использование программных и технических средств для реализации работы

Возможная структура спринта для тестировщиков

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

Мотивация команды для обеспечения ее стабильности
- Вовлечение как важная составляющая для мотивации
- Предоставление четких инструкций и умеренный контроль
- Поощрение работы на результат
- Развитие внутренней корпоративной культуры
Виды мотивации:
- Подсчет KPI (ключевых показателей эффективности) с бонусной системой при достижении результата.
- Развитие специалистов – оплата обучения, курсов, конференции.
- Предоставление дополнительных выходных за переработки на проектах.
Процесс поддержания и повышения уровня знаний сотрудников в компании
В компании применяется:
- Система обучения сотрудников;
- Система нематериальной мотивации сотрудников к обмену знаниями, интегрированной с внутренним корпоративным порталом;
- Корпоративный университет как интегрированный механизм обучения сотрудников;
- Инструмент адаптации и наставничества как способ повышения эффективности новых сотрудников;
- Участие на хакатонах, конференциях
Работа в GIT
В компании при работе с GIT используется подход Git Flow.
Git Flow упрощает и упорядочивает работу с ветками. Для каждого вида работы отводится определенная ветка. В проектах выделяют следующие ветки: master, develop, feature, hotfix, release и dev_test.
Стандартная схема веток:
- master содержит последнюю актуальную работающую версию (версия, которая выложена на рабочем сервере);
- develop содержит все новые фичи из ветки feature и отпочковывается версия release;
- feature в данной ветке разрабатывается новый функционал. После окончания работы над фичей, ветка вливается в develop; hotfix отпочковывается от master, служит для исправления в ней ошибок и вливается обратно в master и develop;
- release копятся изменения, исправляются ошибки перед очередным обновлением master.
Схема веток используемая в компании:
- master содержит последнюю актуальную работающую версию (версия, которая выложена на рабочем сервере);
- develop содержит копию ветки master и из него выпускаются ветки release;
- feature в данной ветке разрабатывается новый функционал. После окончания работы над фичей, ветка вливается в develop; hotfix отпочковывается от master, служит для исправления в ней ошибок и вливается обратно в master и develop;
- release после выпуска фичи и вливания в develop, создается релиз для отправки в master.
dev_test содержит все фичи/фиксы для их тестирования на тестовом сервере.
Рекомендуем использовать визуальный клиент для работы с GIT: SmartGit
Работа в GIT
Перед отправкой ветки, уточняются все нюансы у ведущего разработчика на проекте. Для отправки ветки на тест / прод мержится ветка в dev_test / master (см. далее). После чего осуществляется вход на сервер и выполнение команды “git pull”. Компания так же использует Bitbucket Pipelines. Если pipelines настроен на проекте, то после отправки ветки, сервер автоматически заберет все изменения.
Настройка SmartGit
После добавления Git репозитория, настраивается Git Flow. При необходимости (или на проекте используются другие настройки) настроииваются поля под проект).
Отправка ветки на тест (SmartGit)
Первым делом необходимо убедиться, что ветка dev_test актуальная. Выполняется команда pull при необходимости. Если видно, что в ветке имеются коммиты для отправки, и коммиты для скачивания, рекомендуем удаляется ветка локально, и с заново скачивается. Далее осуществляется переход на ветку dev_test, осуществляется выбор ветки, которой необходимо отправить на тест, Если произошел конфликт при слиянии, осуществляется переход в IDE (прим. PHPStorm) и исправляются все конфликты. После отправляется коммит на тест.
Завершение ветки (SmartGit)
Завершение фичи:
Выбираются необходимые настройки (обязательно указывать опцию suqash) и завершить ветку. Ветка попадет в ветку develop. После чего необходимо выпустить релиз. Ветка с фичей должна быть удалена после ее завершения. Создается релиз из develop, и он завершается.
Завершение фикса:
В ветке, которую необходимо завершить, выбирается Finish hotfix., выполняются настройки в появившемся окне и нажать Finish. Ветка попадет в develop и master.
Технические компетенции команды
Решения
Монолит, микросервисы, системные утилиты
Базы данных
PostgreSQL, MySQL, MS SQL Server, SQLite, Redis, OOP, Design Patterns, микросервисы, высоконагруженные системы, CQRS
Контейнеры
Docker, Docker Compose
Dev-окружение
GitHub, Gitlab, BitBucket
Базы данных
SQL, PostgreSQL, MySQL, MS SQL Server, SQLite, MariaDB, Redis, Consul, MongoDB, Oracle, Tarantool, Neo4j, Amazon Redshift, Cassandra, DB2, HBase, NoSQL, Liquibase, FlyWay, HazelCast, Caffeine, Elastic, Sphinx
Контейнеры
Docker, Docker Compose
Языки программирования
Java, Kotlin, Groovy, Scala
Фреймворки
Spring (Core, MVC, Security, Data, Batch, Boot, AOP, Integration, Cloud), Hibernate
Десктоп
JavaFX, Swing
Frontend (fullstack)
HTML/CSS, Bootstrap, AJAX, JSP, JavaScript, jQuery, Apache Tiles, JSTL, Thymeleaf
DataBase
mySQL, postgreSQL, Redis, MongoDB, Oracle
Frameworks
Symfony, Laravel, Yii, Phalcon, CakePHP, Zend, Codeigniter, FuelPHP, PHPixie, Aure, Flight, Siler, Medoo, Slim, Lumen, Silex, Fat-Free, Flight
CMS&Platforms
Bitrix, OpenCart, WooCommerce (WordPress), Drupal Commerce, Modx, OROPlatform, Vanilo
Платформы
.NET Framework, .NET Core
Веб, backend
ASP.NET MVC, ASP.NET WebAPI, ASP.NET Core
Десктоп
WinForms, WPF, UWP, Avalonia
Управление данными
ADO.NET, Entity Framework, Entity Framework Core, Dapper, NHibernate
DataBase
PostgreSQL, MySQL, MongoDB, Redis, Tarantool, Neo4j, Amazon Redshift, Cassandra, DB2, HBase, NoSQL
Frameworks
Django, Flask, Scrapy, Tornado, AioHTTP, web2py, Bottle, CherryPy, Pandas, TensorFlow, Keras, Celery, Pygame, Sanic
Platforms
Ikaaro, Mezzanine, Kotti, Merengue, Kpax, Mediacore video CMS, Wagtail, MoinMoin, Quokka, Plone, Nive CMS, Pyplate, Pinax, Skeletonz
Базы данных
PostgreSQL, MySQL, MS SQL Server, SQLite, Redis
Решения
Управление оборудованием, системные утилиты, низкоуровневая разработка, монолит, микросервисы, desktop-приложения
Стандарт
С++98, С++ 11, С++ 14
Service Discovery
Consul
Контейнеры
Docker, Docker Compose
Очереди
Kafka, RabbitMQ, NATS 2.0 (nats-streaming)
Data Base
PostgreSQL, MySQL, MariaDB, Redis, Consul, MongoDB
Библиотеки
Go-micro, gorilla web toolkit, chi, goconvey, mockery, golang-migrate, sqlx, uber-go, logrus
Решения
Корпоративные сайты, CRM, ERP, Доставка, Маркетплейсы, Агрегаторы, Тендерные площадки, Краудфандинг, краудинвестинг, кредитование, страхование компании, медицина (телемедицина)
Отрасли
Ритейл, Медицина, Банки
Услуги
Проектирование архитектуры, Аудит, Разработка, Консалтинг
Технологии
JavaScript, TypeScript, HTML 5, CSS 3, LESS/SASS/SCSS
Библиотеки/фреймворки
Angular 5 – 9, (NgRx), React (Redux, MobX, Next.js), VueJS (Vuex, Nuxt.js), NodeJS (Express), React Native, Electron, GraphQL (Apollo)
Dev-окружение
GitHub, Gitlab, BitBucket, npm, yarn, webpack, gulp, Sketch, Figma, Zeplin, Avocode
Android
Kotlin, Java, Rx, Coroutines
iOS
Swift, Objective-C, Rx
Multiplatform
Flutter, ReactNative, Xamarin
Device
SmartWatch, SmartTV, ОнлайнКасса, Phone, Tablet
Web Front
Selenium, Java — JUnit, TestNG, Selenide, Selenoid, Python — RobotFramework, Pytest, Behave, JS — Jasmine, Protractor, C# – Nunit
Mobile
Espresso, Appium, XCTest
Web API
Java — RestAssured, Python — Requests, RobotFramework Desktop Ranorex, TestComplete, Winium
Выявление и анализ требований
Применение различных методик выявления требований (интервью, анкетирование, анализ документации, конкурентный анализ, “работа в полях”). Разработка концепции и видения продукта. Customer Development
Описание бизнес-процессов и пользовательских сценариев
UML, BPMN, IDEF0, EPC, Use Cases, User Stories
Архитектура и базы данных
Проработка логических моделей, ERD, SQL запросы (MySQL, PostgreSQL, Oracle и т.п.), нереляционные БД (MongoDB и т.п.)
Решения
Проектирование пользовательских интерфейсов (mobile iOS, Android, Web), создание интерактивных прототипов, изучение и проработка сценариев поведения пользователей. Проведение исследований для получения аналитических данных, выявление и решение проблем. Проверка, обоснование и защита гипотез. 3D-моделирование и motion-дизайн. Контроль качества на этапе разработки.
Технологии
Sketch, Figma, Adobe (Photoshop, Illustrator, After Effects), Principle, Cinema 4D, inVision, Marvel, Avocode, Zeplin
Инфраструктура
Bare metal, AWS, Azure, DO, Proxmox, VmWare
Конфигурация
Ansible, Terraform, Vagrant
CI/CD
Gitlab, Jenkins, Teamcity
Docker
Kubernetes
Базы данных
PostgreSQL, MySQL, MongoDB, Redis
Решения
Проведение комплексного тестирования web-, desktop- и mobile-приложений. Проведение end-to-end тестирования, API-тестирования, интеграционного тестирования. Составление тестовой документации (чек-листы, тест-кейсы, тест-планы) с применением техник тест-дизайна. Проведение аудита качества приложения и аудита процессов. Контроль качества на всех этапах разработки приложения.
Работа с базами данных
MSSQL, MySQL, PostgreSQL, Oracle DB
Направления
Предиктивная аналитика, обработка текстов (NLP), компьютерное зрение (Computer vision, CV) и обработка изображений, обнаружение аномалий.
Инструменты построения моделей и алгоритмов
PyTorch, TensorFlow, Keras, MxNet, Scikit-Learn, OpenCV, OpenVINO, DialogFlow
Инструменты подготовки данных
SQL, Spark, Pandas
Инструменты инфраструктуры
AWS (SNS, SQS, Kafka, Lambda, EC2, EMR, ELB, ASG, Kinesis, CloudWatch, S3, RDS, CloudFormation, etc), Terraform, Chef, HopsWorks, ELK, Grafana, Sumologic, New Relic