Оставить заявку
Заказать звонок
г. Москва, ул. Нагатинская, д.1 стр.40. На карте

31 августа 2020 "Системный администратор", июль-август 2020

Методы разработки ПО

Сергей Комаров, руководитель направления Департамента информационных решений

Редакция «СА» попросила компании-разработчиков ПО ответить на ряд вопросов. В какой области они позиционируют свои продукты, для какой отрасли? На каком языке ведется разработка? Почему выбрали именно этот язык? Использовали ли раньше что-то другое? Какие фреймворки используете? Как построена организация работы?

Сергей Комаров, руководитель направления департамента информационных решений РДТЕХ:

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

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

Тематика проектов определяет используемый технологический стек. Изначально все наши решения базировались на продуктах компании Oracle, с которой нас связывают несколько десятков лет плодотворного сотрудничества. Именно поэтому основными языками разработки для нас были SQL и PL/SQL. Когда круг решаемых задач значительно расширился, к этому перечню добавились языки Java и JavaScript. Выбор языков определялся как самими вендорами, решения которых мы используем в своих проектах, так и формирующимися тенденциями. В настоящий момент мы в ряде наших проектов используем решения с открытым исходным кодом, и для них по-прежнему основными языками являются Java и JavaScript. В отдельных случаях мы ведём разработку на C#, PHP, Python.

Многообразие применяемых языков программирования и решений естественным образом приводит к необходимости использовать разные фреймворки. Когда проектное решение строится на основе программного обеспечения Oracle, мы используем Oracle ADF – фреймворк для разработки приложений на Java. Если разработка идёт преимущественно на PL/SQL, то выбираем APEX. В проектах на основе программного обеспечения с открытым исходным кодом используем для фронтенд-разработки React или Angular, а для backend-разработки – Spring. Всё это надежные, проверенные временем и успешными проектами технологии, что даёт нам возможность сосредоточиться на архитектуре решения.

Помимо выбора средств и инструментов для реализации проекта, важным аспектом является то, как мы ведём проект, как мы им управляем. Как и многие ИТ-компании мы начинали с классического «водопада» (Waterfall), когда на весь проект составлялся подробный поэтапный план. Но и здесь жизнь вносит свои коррективы, и сейчас мы применяем «гибридную» методологию (Agile/SCRUM + Waterfall). Подобный выбор обусловлен, с одной стороны, необходимостью использования итерационного подхода при разработке, а с другой стороны, фиксированностью бюджета проекта. И это оптимальный вариант на текущий момент, так как с таким подходом удаётся реализовать именно то, что хочет получить в итоге заказчик. Постепенно намечается тренд по переходу на DevOps.

В управлении проектами нам помогает целый ряд инструментальных средств: в MS Project ведём план проекта, через JIRA назначаем задачи исполнителям и отслеживаем фактически затраченное время, а также осуществляем баг-трекинг, в Redmine организована проектная среда.

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

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

Читать обзор в PDF: Методы разработки ПО

Возврат к списку

Пресс-центр

PR-служба РДТЕХ
Анна Вохмянина
Сергей Комаров
руководитель направления Департамента информационных решений