Overview: A number of key issues must be dealt with to ensure the effective maintenance of software. It is important to understand that software maintenance provides unique technical and management challenges for software engineers. This is certainly not a field for the faint of heart manager.
For example: trying to find a fault in software containing 500K lines of code that the software engineer did not develop.
Similarly, competing with software developers for resources is a constant battle. Planning for a future release, while coding the next release and sending out emergency patches for the current release, also creates a challenge. The following are some of the technical and management issues related to IT maintenance.
Service-Oriented Architecture (SOA) promotes federation with legacy capabilities
Establishing SOA within an enterprise does not necessarily require that you replace the capabilities you are currently sustaining with new code. One of the key aspects of this architecture is its ability to introudce unity across previously non-federated environments. While Web services enable federation, SOA promotes this cause by establishing and standardizing the ability to encapsulate legacy and non-legacy application logic and by exposing it via a common, open, and standardized communications framework.