Today’s software has an average lifespan of 6-8 years. Software with a million or more lines of code have lifespans averaging 12-14 years. Most software is managed under some form of continuous development (integration, delivery, etc.). It’s less expensive to maintain existing software than develop new software from scratch. Everyone has an interest in either keeping their legacy systems operating or updating older software functionality to remain competitive with the market.
That’s not easy. The first issue to bear in mind is long-term turnover. It’s an entrenched practice for software developers to find a new job after two years with a project. This coincides with their potential for up to 20% more pay, a better title, new challenges, and opportunities to learn new skills. This considered, it is likely that every member of your development team will rotate 3-7 times over the lifetime of your software project.
Other changes are taking place, too. Operating systems, like Android and iOS, are changing yearly. The lifetime of electronic devices ranges wildly, between 1.5 and 14 years, averaging about 4.5 years. Some programming languages can come and go out of fashion. Third-party solutions continuously enter and leave the market. New software and devices can give old software a new lease on life with new features.