The other major problem and challenge that software engineering has to face in the 21st century is:
The legacy challenge
The legacy challenge, or legacy system, as it all referred to, is a great challenge to software engineering. The legacy system really means that although there is constant progression and developments within the software industry, with new programs and systems being introduced all the time, there is still a place for an older system to be used, thus a person is reluctant to swap over to newer technology.
The legacy system can become some kind of balancing act for many businesses in software engineering as they try and more forward with advances in programming, they are left still spending a considerable amount of time and money keeping the older designs and models running for the customers who do not wish to transfer over to the later models.
You can view it a little bit like a person having a garage full of cars. They have some brand new sports cars that cost a lot and they'd love to spend even more on them, yet they need to keep some of the classic cars running at the same time and so have to sacrifice the time and budget for this.
Of course eventually a lot of the older technology becomes so outdated it is basically obsolete; however, the transitional period before this point is what can hinder a company's progress in being totally focused with moving forward.
The legacy system is something that all major software engineering companies have to deal with and it is a way of taking responsibility for what they have created previously. This of course means that their work is still appreciated and has a great use, yet it can actually reign in progress due to too much time and money being sucked away for maintaining the previous models.
The legacy challenge
The legacy challenge, or legacy system, as it all referred to, is a great challenge to software engineering. The legacy system really means that although there is constant progression and developments within the software industry, with new programs and systems being introduced all the time, there is still a place for an older system to be used, thus a person is reluctant to swap over to newer technology.
The legacy system can become some kind of balancing act for many businesses in software engineering as they try and more forward with advances in programming, they are left still spending a considerable amount of time and money keeping the older designs and models running for the customers who do not wish to transfer over to the later models.
You can view it a little bit like a person having a garage full of cars. They have some brand new sports cars that cost a lot and they'd love to spend even more on them, yet they need to keep some of the classic cars running at the same time and so have to sacrifice the time and budget for this.
Of course eventually a lot of the older technology becomes so outdated it is basically obsolete; however, the transitional period before this point is what can hinder a company's progress in being totally focused with moving forward.
The legacy system is something that all major software engineering companies have to deal with and it is a way of taking responsibility for what they have created previously. This of course means that their work is still appreciated and has a great use, yet it can actually reign in progress due to too much time and money being sucked away for maintaining the previous models.