Как Мы Автоматизируем Процесс Разработки

ИТ-компании все чаще задумываются о необходимости оптимизировать разработку программного обеспечения за счет автоматизации рутинных процессов.

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

Сегодня никого не удивишь решениями с миллионами строк кода.

При этом стоимость разработчиков на рынке неуклонно растет — за последние два года она выросла вдвое.

Оптимизация призвана решить вопросы снижения затрат на разработку, сокращения времени кодирования и повышения качества создаваемых продуктов.

В 2010 году компания ОТР задумалась о необходимости отойти от ручной обработки требований клиентов и сократить количество разработчиков, использующих средства автоматизации.

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

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

Дополнительным преимуществом автоматизации является снижение ошибок со стороны программистов.

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

Это не плохо, это просто реальность разработки сложных систем.

Как говорится, не бойтесь первой ошибки, избегайте второй.

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

Как добиться унификации кода.

Это подтверждает исследование Coralogix — в среднем разработчик допускает 70 ошибок на 1000 строк кода.

Их исправление требует как минимум в 30 раз больше времени, чем кодирование.



Как это было раньше

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

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

Здесь на помощь приходит еще один участник процесса разработки — системный аналитик, который переводит и дополняет инструкции бизнес-аналитиков на понятный разработчикам язык.

После этого программисты читают условие задачи и начинают кодировать проект. В этом процессе мы сразу увидели несколько возможностей для оптимизации.

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

Во-вторых, ряд процессов разработки повторяется от проекта к проекту.

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

Мы решили реализовать идею на Java.

Первые шаги со «Студией 1.0»

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

Код вводится автоматически.

Чтобы наглядно представить систему low-code, можно вспомнить среду быстрой разработки Delphi 7. Многие читатели, возможно, познакомились с ним еще в школе или университете.

Чтобы создать элемент, нужно было просто перетащить его на поле рабочей области.

Его сразу записывали в тело программы и оставалось только закодировать логику.



Как мы автоматизируем процесс разработки

Первые шаги по автоматизации процесса разработки В Studio 1.0 принцип был аналогичен Delphi 7, но описывать логику уже не было необходимости.

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

Важно отметить, что мы не собирались полностью отказываться от работы программистов.

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

С каждой итерацией инструмент становился все мощнее.

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

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

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

Благодаря этому решению low-code нам удалось сократить количество разработчиков высокого уровня, работающих над проектами, на 44%.

А также сократить время разработки и тестирования готового продукта.



Автоматизируем разработку с помощью Studio 2.0

В первой версии Studio нам не удалось избежать необходимости передавать задачи от бизнес-аналитиков системным аналитикам.

Но уже разрабатывается интерпретатор требований, который разбирает технические задания от бизнес-аналитиков и адаптирует их для разработчиков.

Модуль умеет работать с популярными форматами файлов из офисных пакетов.

Бизнес-аналитикам не придется менять привычные инструменты.

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

В некоторых проектах такие требования занимают до 600 страниц.

А это половина книжного формата романа «Война и мир».

На выходе модуль генерирует XML-файл со структурированными требованиями.

Их можно использовать как входные данные для еще одного нового продукта — модуля саморазвития.

Это позволит вам отказаться от ручной работы в дизайнере.

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

Без модуля технологи раньше делали это вручную.



Как мы автоматизируем процесс разработки

Автоматизация разработки в «Студии 2.0» Модуль саморазвития постоянно обновляется и приобретает новые возможности и методы реализации.

Это главное отличие от первой версии «Студии».

Модуль позволит нам добиться максимальной автоматизации в будущем.

Мы задумались об упрощении работы бизнес-аналитиков.

Писать Талмуды на табличках, конечно, неудобно.

«Система управления требованиями» призвана заменить текстовые и табличные редакторы.

В его интерфейсе с помощью удобного визуального редактора бизнес-аналитики могут прописывать параметры и атрибуты кнопок, жизненные циклы, бизнес-логику и так далее.

При нажатии на кнопку все требования загружаются в один файл, где хранятся в структурированном виде.

Файл можно перенести в модуль саморазработки.

«Студия 2.0» оптимизирует затраты на тестирование, поскольку нет смысла проводить отладку после запуска автоматизированной системы.



Куда мы пойдем дальше?

Наша «Студия» продолжает совершенствоваться.

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

Для этого разрабатывается функция расшифровки разговора специалиста с клиентом.

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

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

Экспортируется в привычные офисные форматы DOC или XLS. Процесс займет не больше времени, чем употребление чашки кофе.

В будущем мы планируем сделать «Студию» кроссплатформенной.

То есть отвязать его от платформы ОПОРА, где он сейчас работает, и подключить к другим системам.

Это именно то, чего не хватает многим продуктам автоматизированной разработки.

Наметился план развития до 2023 года.

«Студия» уже используется для решения коммерческих задач компании ОТР.

Но со временем мы отдадим его для наружного применения.

Теги: #Управление разработкой #разработка #Разработка для электронной коммерции #автоматизация #low-code #автоматизация разработки

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.