Almost every company that has been in business for more then a few years has an outdated application they are using. For some companies like a Nationwide Insurance these systems are 30 years old, run on computers designed by your grandfather, and are the lifeblood of the entire organization. They are a huge problem because on one hand they are slow, outdated, hard to maintain but on the other side they are the only place that critical business information lives on. The other problem is that all the other new software systems, vendor applications were custom built to work with them so removing them is not an option. We have help clients solve this problem of legacy application upgrades in a few ways.
The most direct way to upgrade a legacy software application is to complete rebuild it. This usually works if the application stands alone; i.e. very few other system depend on it in order to run themselves. If your legacy system is in this position the best route is almost always to hire a team of developers to come in, understand how it works, understand how you would like to improve it and then start the process of writing the new application to replace it.
In some cases if the application was built recently enough that a software upgrade is realistic (i.e. it was built in Microsoft .Net 2.0 and you feel you can run a standard upgrade to .Net 4.5 without catastrophic issues) that may be a good place to start. Our team has worked with Warehouse Management Applications (WMS) and even stand alone reporting applications very successfully. Often these upgrades require more project management and business analyst time then actual developer time.
Sometimes the legacy application has to stay up and running. This is usually the case when you have an application that is so critical to the organization that many other applications have custom code written to interface with it. We once had an national distributor that have a very functional inventory management system that also handled shipping and e-commerce for them. The problem was that the system was all DOS command prompt based and was very difficult to add even simple features to. Our client asked us to build a series of web portals that all pulled data from their legacy system and displayed it in a modern web format. This allowed us to rapidly build the application, because the unique complex business rules were still handled by their legacy system, and still provide the modern interface and functionality they wanted.