A Business Case for Progress Modernization

Over the years I have come across many Progress applications where management wonders whether they should stay with Progress. The application does what it was designed to do but is regarded as old fashioned by users and some management members. Perhaps the technology or the user interface is outdated and they blame Progress. External consultants and peers are quick to agree with this impression as anyone unfamiliar with Progress would rather implement new functionality in technologies they know. According to these consultants, the only option is to rewrite the application from scratch using different tools and technology.

The above scenario seems all too familiar to many software professionals, so is therefore all the more astonishing because the whole picture is based on misinformation. First of all, the fact that the application is outdated is not because Progress is outdated but because the customer has never invested in keeping up with technology. This would be true regardless of the technology used. However, blame can stick to Progress Software Corporation (PSC) for the astounding reason that, unlike much of the competition, every new Progress version is 100% compatible with the previous one. Therefore companies with legacy applications are currently running under newer OpenEdge versions without ever having touched the code.

Secondly, Progress is not old fashioned at all. As a matter of fact, PSC has a track record of cleverly acquiring new technology and leading the industry with new developments such as the Enterprise Service Bus, Event Processing and Business Intelligence. At the same time they keep investing in OpenEdge, their core product, and are constantly integrating emerging industry standards. Today OpenEdge offers 100% .NET integration on the client and supports any industry standard for backend integration such as Web services, the Enterprise Service Bus, XML, JSON etc. etc. At the same time OpenEdge still delivers the best business logic language in the industry on the backend, which includes a powerful Application Server and database. The Application Server can talk both to the proprietary OpenEdge database as well as most other industry standard databases.

Thirdly, the value of legacy applications is invariably wildly underestimated. It is difficult to quantify the knowledge and fine tuning that has contributed to the application over the years, and therefore almost impossible to realistically estimate the time and effort required to rewrite a legacy application from scratch (in a less powerful business logic language as well!). A manager who faces this decision should be extremely cautious indeed.

For these reasons, the decision to rewrite an entire application is almost always unjustified, and if undertaken, invariably costs a multiple of the originally estimated time and money. In spite of this, once the decision is taken and the wheels have been set in motion, few in an organization are willing to admit the error and lose face. A predictable endless scenario of wasting valuable resources unfolds. There are not many known success scenarios for such a big bang approach. At best in the end the customer has an application with the same functionality they already had before (!), though hopefully with a more modern user interface, and often the promise of the Holy Grail. However, when the investment ends (which it surely will after losing so much money), here once again the organization is set for history to repeat itself.

Compare this scenario to modernizing the application using state of the art OpenEdge technology. The database and most of the business logic can be reused while modernizing the user interface and, contrary to the previous scenario, all existing skills and knowledge can be reused as well. Moreover, modernization can be implemented gradually without ever disrupting the normal use of the application. It is even possible to modernize only the most important modules while leaving more exotic and infrequently used parts of the application intact.

Contrary to the rewrite-from-scratch scenario, modernization is almost risk free. The costs are dramatically lower and the end result is much better, as reusability of proven functionality is guaranteed. The new user interface can be implemented in a way that prepares for future changes, resulting in a futureproof application architecture. In addition, the modernization project can be properly planned and managed. Many organizations have successfully modernized their applications in this gradual way.

When faced with this decision, what choice will you make?

Peter van Dam is the founder of Future Proof Software (www.futureproofsoftware.com), a Dutch Progress shop providing consultancy in OpenEdge architecture and modernization. He brings to the table over 25 years of development and consultancy experience in Progress and OpenEdge.

His experience ranges from CHUI to GUI for .NET and from SOA to Ajax. Innovation is his middle name.

Peter is well known in the international Progress community as a publisher of technical articles and speaker at Progress conferences and user group meetings.

He is the author of 'Making Progress With Ajax'.

Peter is currently involved in several different OpenEdge modernization projects.