Legacy applications
Many of us enjoy working on greenfield software systems, which are completely new systems that we can design from the ground up. Such systems do not have constraints based on prior work and do not need to integrate with existing systems. However, the new applications of today eventually become the legacy systems of tomorrow.
Software architects will often find themselves working on existing software systems and being able to do so well is a valuable skill. A legacy application is an existing application that is still in use but is difficult to maintain. There are a number of challenges with maintaining and using a legacy application.
Issues with legacy applications
Working with a legacy application usually brings with it various problems that need to be overcome. This is a part of the challenge when working with a legacy system. Perhaps most importantly, a legacy application tends to be difficult to maintain and extend. It may use older, possibly outdated, technologies and...