I have a code base for a programming language compiler I first wrote 25 years ago - it has gone from FORTRAN IV to SPL (PL/1 subset) to C to C++ to C# so while it's old the actual code is relatively new
We're maintaining some of our older applications while we re-write them. So we're both maintaining and re-writing at the same time.
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare
When I had my first Systems Engineering course in 1980-81, the professor claimed that the average life time for a commercial software system was around 20 years, after the first official release. (Note that going 20 years back from 1980-81 brings us to 1960-61.)
He also claimed that when the first release is made, around 10% of the total resources spent on the system had been consumed, at most 15%. 85-90% of the cost is later maintenance, extensions, making the system cooperate with other systems etc. (So, the moral is: Make a good design from the beginning - it pays in the long run.)
His third claim: You can make a isolated program at a cost of 1 unit. Make it a product, with documentation, training, marketing, ... and your cost raises to 3 units. Or, you make a program component, that interfaces to other program components in a larger software system; that will also raise the cost of your program to 3 units. If you do both, your program is made as a program component product, the development cost will be 9 units - or, for simpler estimates, round it off to 10. So your demo prototype, even when functionally complete but not yet a product, not yet integrated as a component in a software system, has seen one tenth of its total cost before the first release. And a single percent of its lifetime cost. Even though it is a fully functional program.
None of the students believed what the professor said. Today, I am 100% certain that he was right, on all three accounts. Maybe even more so today than in 1981.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
I've got anything from 5-10 years old to new applications.
At the moment mostly new
In my career I've had to work on very few applications that were older than 10 years (some old VB6 stuff, which is fun to see once or twice).
I like the variety.