Re-engineering

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

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

1. Неподдерживаемое программное обеспечение

После того, как ваше программное обеспечение (ПО) достигает окончания жизненного цикла, оно перестает обновляться. Официальная поддержка ПО производителем заканчивается, а отсутствие поддержки ведет к отсутствию безопасности. Многочисленные уязвимости, содержащиеся в устаревшем ПО, зачастую используются злоумышленниками для проникновения в корпоративную сеть. Согласно исследованию F-Secure, 70-80% самых вредоносных атак можно было бы предотвратить за счет использования современного ПО.

2. Устаревшее аппаратное обеспечение

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

3. Недостаток экспертов/документации

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

4. Технологический прогресс

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

5. Критические ошибки/уязвимости

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

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

Опыт Ауриги в реинжиниринге, рефакторинге и портировании

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

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

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