Реинжиниринг ПО



У вас есть система, которая уже построена, но нуждается в улучшении? Предыдущий разработчик отказался от проекта, «заблокировав» ваши инвестиции в незаконченном программном обеспечении? Мы можем помочь! 

Мы были свидетелями многих случаев, когда клиент уже имел решение или часть кода, но нуждался в обновлении или продолжении работы над программой. Наиболее типичные ситуации:
 

Нужны новые возможности

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

Скорость работы стала низкой

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

Есть ошибки в ПО

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

Старая версия CMS

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

Не завершена разработка

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

Сложный интерфейс

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

Нынешнее ПО - самодельное

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

Мы видели десятки таких вопросов в течение более чем 12 лет, которые мы работаем на рынке аутсорсинга разработки программного обеспечения. Это тоже часть нашей работы. В большинстве случаев, нам удобно работать с чужим кодом, так как мы понимаем возникшие ограничения и потребности наших клиентов. Но есть определенные риски, которые должны быть приняты всеми сторонами, а также ряд обязательных шагов.

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

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

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

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