Пробные занятия. Бесплатно!
Приглашаем всех желающих посетить бесплатные пробные занятия по курсам МВА и профессиональной подготовки. Занятия проходят в реальных группах, никаких постановочных занятий. Ознакомиться с расписанием пробных занятий, выбрать заинтересовавшее и зарегистрироваться на него можно здесь


Автоматизация процесса разработки ПО с применением машинного обучения

Моногаров И.О.
Выпускник группы MBA CIO 40
Школа IT-менеджмента
РАНХиГС при Президенте РФ

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

  • Многократно растёт время и стоимость доработки алгоритмов. В то же время на изменения потребностей пользователей необходимо реагировать оперативно.
  • Растёт риск ухудшения качества поиска - в том числе такого, который не будет выявлен при тестировании ПО (ведь вариантов поисковых запросов и искомых документов - десятки миллионов, невозможно оценить весь спектр потребностей пользователя).
  • У руководства компании отсутствуют объективные критерии качества поиска (лучше или хуже стал поиск в новой версии ПО?) для принятия решения. Это создает весомые риски ошибки при принятии решений. 
  •        Подобные проблемы свойственны и любой другой области разработки ПО, связанной с обработкой больших объемов неструктурированной информации. Один из методов решения этих проблем - внедрение методологии разработки, основанной на методах машинного обучения. Как правило, это подразумевает изменение организационной структуры, коренное изменение архитектуры производимого компанией ПО, разработку и внедрение нового ПО автоматизации процессов, изменение процессов разработки и тестирования.

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

    Задачи:

    1.       Провести анализ деятельности предприятия.

    2.       Разработать проект внедрения методологии разработки ПО, основанной на машинном обучении.

    3.       Оценить экономические показатели проекта.

    Анализ деятельности предприятия.

    Анализ деятельности предприятия включает в себя:

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

  • Выполнение новых требований по развитию продуктовой линейки.
  • Полное или частичное решение имеющихся проблем в процессах разработки.
  • Получение экономического эффекта от внедрения.
  • Проект внедрения методологии разработки ПО, основанной на машинном обучении.

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

    Общий вид применения технологий машинного обучения:

     

     

    Внедрение новых процессов было разбито на три этапа:

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

    2. Получение технологий. Включает разработку конкретных методов обучения, метрик качества, базы данных закономерностей, средств автоматизации. Итогом второго этапа является так же и получение первой версии ПО на базе технологий машинного обучения.

    3. Внедрение новых процессов разработки и контроля качества на основе полученных технологий. Т.е. полный переход на новые процессы разработки.

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

    Оценка экономических показателей.

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

    Выводы.

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

    Рубрика: 
    Другое
    Голосов пока нет
    Школа IT-менеджмента Экономического факультета АНХ, 119571, Россия, г. Москва, проспект Вернадского, д. 82 корп. 2, офис 207, тел.: +7 (495) 933-96-00, Copyright @ 2008-2009