Реінжиніринг програмного забезпечення

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

Реинжиниринг включает в себя следующие виды работ

Реинжиниринг программы или новая программа?

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

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

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