Evolutionary projects



 

Evolutionary projects

software change is somewhat different: there tends to be constant pressure from users and customers not only to fix problems but also to make many other kinds of changes. After several years of such changes, software systems are often significantly larger and barely resemble their original state. We will thus use the term evolution to more accurately describe what happens to software over its life-span.


Evolutionary or maintenance projects can be of several different types    Corrective projects involve fixing defects.


 Adaptive projects involve changing the system in response to changes in the environment in which the software runs. For example, it might be necessary to make changes so that the system will continue to work with a new version of the operating system or database, or with a new set of tax laws.

projects involve adding new features for the users.

 Re-engineering or perfective projects involve changing the system internally so that it is more maintainable, without making significant changes that the user will notice.


In reality, most evolutionary projects involve more than one of the above.


In many cases, a software engineering team must undertake evolution of a system when the original developers are no longer available, or when their memory of the design is starting to fade. Such a system is called a legacy system. A team can take great pride in evolving a high-quality product such that it continues to meet the needs of customers. However, it is important to ensure that the product does not become a ‘victim of its own success’. This occurs when customers constantly want new features added, so the software becomes so large and bloated that it becomes difficult to maintain at a high level of quality.

 

Uploaded Wed, 10-Feb-2021
Related Articles

Lesson meta keywords and meta description:



Bootstrap Example