Skip to Main Content
Software evolution is the process by which programs change due to changing requirements or inherit characteristics from previous programs. Managing software evolution should be central to the development process, otherwise systems become more complex, fragile, and unreliable. Project management across the industry have found that that a large cost and effort in large projects goes towards maintenance and evolution of existing software systems instead of development of new systems from scratch. Technology and tools are valuable in supporting software evolution. This paper lists some of the areas where technology can support software evolution.