http://hawkhouse.ru/wp-content/uploads/2017/08/img-1_21-08-17.jpg		

«Старческие болезни» программного обеспечения и пути модернизации

captcha

В ГОСТ ИСО/МЭК 9126-93 утверждается, что такого понятия, как износ программного обеспечения, нет. Ограничения надежности возможны из-за ошибок в требованиях, проекте и его реализации. Отчасти это так и есть: в ПО действительно нет физических причин для износа, как в механических устройствах. Но все же программное обеспечение устаревает. Далее мы разберемся, почему происходит старение и как с ним бороться.

ПО со временем устаревает

Программы не люди, но они тоже стареют

Почему происходит устаревание ПО?

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

  • из-за изменения требований;
  • из-за невозможности реализации новых задач в рамках старой технологии;
  • из-за отсутствия поддержки ПО.

Разберем каждый пункт подробно.

Устаревание программного обеспечения по причине изменения требований

Изменения в законодательстве

Чаще всего модернизация ПО связана с появлением в законодательстве новых требований к бизнесу

Изменение требований – это основная причина «старческих болезней» ПО. Когда требования меняются, программы перестают корректно справляться с поставленными задачами. О каких конкретно требованиях идет речь?

  1. Изменения в законодательстве, согласно которым необходимо вести учет или расчеты по-другому.
  2. Требования к нагрузке. К примеру, изначально предполагалось, что использовать программу будут не более 10 пользователей одновременно, но позже возникла необходимость, чтобы работало 100, 200, 500 или более человек.
  3. Требования к отказоустойчивости. Есть модули, временный отказ которых не критичен, к примеру, хранилище шаблонов документов. Но если речь идет об интернет-магазине или банковской системе, отказ на час – это прямые убытки, такая ситуация недопустима.
  4. Новые требования по доступу пользователей к системе. Например, возникла необходимость входа в программу через мобильные устройства и т. п.

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

Новые задачи на старые рельсы

Чаще всего этот пункт вытекает из предыдущего. Если программный продукт разрабатывался давно, но появились новые требования извне (законодательство) или изнутри (увеличение числа пользователей, принципов хранения данных), доработать ПО под них бывает довольно сложно.

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

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

  1. Некомпетентный разработчик, который не учел возможность масштабирования и дополнения комплектации ПО.
  2. Изначально недальновидное или неверно составленное ТЗ.

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

Удорожание устаревшего ПО

Использовать устаревшее ПО с каждым днем становится дороже для бизнеса

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

Отсутствие поддержки ПО

Есть еще один случай устаревания ПО: когда используется программный модуль, который уже не поддерживается разработчиком и из-за обновления ОС он перестает работать. Это редкий случай, но все же такое случается. И если модуль действительно актуален и необходим, его стоит модернизировать для совместимости с новой версией ПО.

К чему приводит устаревание ПО?

Одна из главных задач бизнеса – снижать издержки. Когда речь идет о программном обеспечении, выделяют:

  1. Стоимость разработки.
  2. Стоимость владения (во сколько обходится эксплуатация и доработки).
  3. Лицензионные отчисления, если ПО покупное.

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

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

Модернизация ПО

Частое появление ошибок – первый признак необходимости модернизации ПО

Итак, подготовить ТЗ на модернизацию программного обеспечения необходимо, если:

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

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

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

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

Рассмотрим преимущества и недостатки таких решений.

Преимущества и недостатки коробочного ПО

Коробочное ПО – готовое решение от разработчика

Коробочное ПО – это быстрый старт, но бывает сложно настраивать его под себя

Когда приобретается коробочное решение, его модификация под потребности бизнеса и поддержка перекладывается на плечи компании-вендора.

Преимущества:

  • Быстрая установка.
  • Чаще всего предполагается параметрическая настройка основных функций собственными силами.
  • Регулярно обновляется разработчиком.

Недостатки:

  • Не учитывается специфика бизнеса (для настройки под себя нужно отдельно договариваться с вендором).
  • ПО не масштабируется.
  • Невозможность создания уникального продукта, то есть такое решение подходит только для типовых бизнес-операций, специфические моменты учесть не получится.

Преимущества и недостатки самостоятельной модернизации ПО

Разработка ПО

Самостоятельная модернизация ПО: не всегда эффективно и всегда дорого

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

Когда в штате компании есть собственный ИТ-отдел – директор, архитектор и разработчики, эту задачу можно поручить им.

Преимущества

Преимущества модернизации ПО своими силами кажутся неоспоримыми: безопасность, дешевизна, качество и контроль за процессом. Так ли это?

  • Затраты на создание собственного IT-отдела, поиск квалифицированных разработчиков – это расходы. Если услуги разработчиков не нужны постоянно, незачем содержать целый IT-отдел. Самостоятельная модернизация ПО может обойтись многократно дороже, чем привлечение аутсорсинговой компании.
  • Безопасность: никакой критически важной информации никто получить не сможет, потому что такая информация в базах данных не хранится. Другой момент – ее использование: сама по себе утечка страшна только из-за возможности использовать информацию против вас. А поскольку критически важная информация в базах не хранится, опасаться утечки нет особого смысла (но это не значит, что нужно забыть о безопасности).
  • Качество: нередки случаи, когда вместо серьезной модернизации ПО штатные сотрудники «докручивают» и «довинчивают» только то, что совсем «горит».
  • Контроль над процессом: нет никакого внятного объяснения, чем контроль работы на аутсорсе отличается от разработки в штате. Конечно, для взаимодействия с аутсорсером необходима постоянная команда, но то же требуется и во втором случае. В ином случае контроль становится не более чем фикцией.

Преимущества и недостатки обращения к аутсорсеру

Аутсорсинг модернизации ПО

Аутсорсинг – это возможность переложить хлопоты по модернизации ПО на плечи ответственных и компетентных специалистов

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

Недостатки

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

Модернизация программного обеспечения: услуги HHI

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

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

  • детально изучить и проанализировать работоспособность устаревшей системы;
  • доработать или создать с нуля сопроводительную документацию;
  • расширить функционал ПО для покрытия новых потребностей бизнеса;
  • изменить внутреннюю структуру программы (выполнить рефакторинг);
  • портировать приложение в другую среду с максимальным сохранением его пользовательских свойств;
  • провести тестирование модернизированной системы;
  • интегрировать обновленное ПО в IT-инфраструктуру клиента;
  • провести реверс-инжиниринг системы при отсутствии документации и возможности привлечь к сотрудничеству ее разработчика.
Передача модернизации ПО на аутсорсинг

Во всем мире передача модернизации ПО на аутсорсинг становится обычной практикой – это выгодно, удобно, эффективно

Если появились новые бизнес-требования или вы столкнулись с ситуацией, когда ПО работает некорректно, бизнес может пострадать. Нет возможности и опыта для самостоятельной модернизации? Обращайтесь к нам.

Команда специалистов HHI проведет тщательное предпроектное обследование, сгенерирует грамотное ТЗ, разработает архитектуру, осуществит все необходимые доработки и произведет миграцию данных в обновленную систему.

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

Сотрудничество с HHI – это гарантия быстрого старта, качественной работы и удобного взаимодействия.