Yes, it's harder to teach an old DOS new tricks, but it's still possible (and economical, in most cases)
I told you guys I like talking about legacy software.
Thinking more about it, working with legacy software is almost entirely what we do. Even if we're building something fresh, it likely needs to integrate with something that already exists.
One of the key benefits for Bamboo to working with legacy software is that it informs how we build new software. If a home builder also fixes old houses, they'll better know what tends to break, and incorporate techniques to mitigate these common failure points in their new builds. Same for software.
Like our ancestors, our old software also deserves a lot more respect than we tend to give it.
As it ages, there are things we can do to strengthen its foundation, extending its life and usefulness:
Yes, it's harder to teach an old DOS new tricks, but it's still possible (and economical, in most cases). Even really old legacy systems can begin to incorporate the three items listed above to extend their lives (and value to the organization). Start small, take it slow.
But... legacy systems will eventually become unable to carry the modern loads of the organization. Planning for that is important.
With a 3, 2, and 1yr old at home right now, everything is babies to me. To make sure your organization has fresh vigor in the future, your legacy software needs to start having babies now.
DO NOT rewrite and replace immediately! That's like giving full control of the empire over to a 2yr old heir... chaos and tantrums and endless ice cream would be the result.
(I don't know what the translation to “business” is for that analogy, but it's probably not good)
DO NOT replace something just because it's old! Bamboo is Catholic - we don't practice euthanasia.
Raising the next generation of software should happen gradually, responsibility by responsibility as the child proves competence in previous slices of work. The new software learns from the hard-fought wisdom of the legacy software, eventually reaching full maturity so that the v1 can finally retire gracefully, while the business carries on, stronger than before.
How do we raise good kids?
How do we raise good software?