Does your business still have an XT computer in the back office because it’s running that one version of some database software that your business depends on? Yeah, we know there is. Most modern software doesn’t work like that.
If you aren’t keeping your custom software up with the changing computing environment, it will fail not necessarily because it has flaws, or the hardware can no longer meet the demand, but because the support your software relies upon has changed.
Let’s look at the vulnerabilities you must manage so that your software does not reach its end of life before losing its inherent usefulness.
We have a customer that developed a hardware device to make physical measurements. Some years ago we wrote a suite of software tools for the customer: a tablet application for configuring the hardware device, a django web server to receive uploaded XML documents generated by the device, and a user-facing web application (using the same django server), providing reporting and data analytics.
It’s happening more and more lately.
Me: . . . Okay, so I understand a little bit about your project goals and how they fit in with your business needs. . . Can you tell me, if you know, what technologies your current application was built with?
Client: Um. . . I’ve heard some of the folks say “PHP”. . . does that make sense?
Me: Sure does. Any idea what version of PHP and which framework it might be leveraging?
Client: Oooh, I don’t know. . . I can get that for you though. . .
Me: That’s okay. How about this: How old is the application and when is the last time you did an update?
Client: Well, we developed it in 2007 and we had a person who worked on it for just a couple years after that but they aren’t here anymore. . .
Software development has moved through several “ages” as both technical innovation and the cultural evolution driven by those technical innovations has moved from the early adopters through the late adopters and permeated our expectations of what technology is. (more…)