The email from the finance department seemed innocuous enough. The subject line simply said "The Program," with just a few lines of text in the body of the message about an application I had never encountered before.
Little did I know those words were the opening credits for a horror movie.
[ When it comes to server virtualization, Paul Venezia has supernatural abilities. Download his "Server Virtualization Deep Dive" PDF guide. ]
You see, "The Program" was a decade-old, custom-developed tool that hadn't been used in many years but was suddenly back on the radar. And it was horribly broken -- a zombie. The server it resided on had been converted into a VM at first, then upgraded from Windows NT to Windows Server 2003 at some point. The application was "written" in FrontPage, and the FrontPage framework on that server currently resembled raw hamburger. And it looked like it had company; there were companion scripts written in VB that would take the output of this Web form and do other things to it, but nobody could recall the original output format or what those scripts actually did.
Now, mind you, this zombie wasn't a critical app -- it hadn't been used in years. But in the minds of the users, it was an app that had existed for a decade and should still "just work," although it had stopped functioning long ago. It could probably be rewritten in PHP, Ruby, or something fairly easily, but that would mean reinventing an old wheel. Ultimately, that was the only way to resurrect this zombie app. That's what I wound up doing.
Zombie apps haunt every IT shop. They were slapped together by an admin or developer to meet a need at one point, then fell out of favor, but still wander among the server racks, waiting for the moment a manager's meeting brings them back to life with a simple question: Hey, didn't we used to have some tool that did XYZ? Sometimes these apps were purchased, so the source code isn't available -- and the documentation is non-existent. The original dependencies, function, and possibly even the physical server they ran on have disappeared into the ether. But the app is still there, half alive, half dead.
Peeling apart the layers of zombie applications like this is like the work of a coroner mixed with an archeologist. If you're extremely lucky, they were written in a reasonable language like Perl or PHP (though apps written in Perl 4 and PHP 3 are somewhat worrying). If you're not lucky, they were written in some other language like Pascal or Algol. If you're extremely unlucky, it'll be SmallTalk.
You never know what event might trigger a dire need for the functions a zombie app used to provide. Perhaps an old client has come back into the fold or a line of business has restarted after being mothballed many years ago -- and some old app was a critical part of the mix. The IT group then gets together to see if anyone remembers anything about the app, but with the amount of turnover that occurs in a decade, whoever knew much about it is long gone. Still, it must be brought back to life.
So the search begins for documentation, references, old output, anything. If the documentation ever existed, it's probably still around, stuffed into a three-ring binder labeled "Bob's Stuff" in a banker's box in a storage room, though nobody even remembers who Bob was. It'll never be found, at least not until its period of usefulness has long since passed.
Finally, the development process begins anew, with one or more developers setting out on the abhorrent task of painstakingly re-creating an ancient app armed with nothing more than vague memories and supposition, dreading every day they sit down in front of the keyboard, surrounded by the spirits of dearly departed colleagues and being crushed by the pressure of nontechnical management to "just get it done."
All the while, especially at night when the data center is quiet and the bustle of the normal working day has passed, you can sometimes hear them moaning and shuffling around. The zombie and ghost applications wander in and out, waiting to be rediscovered and reanimated. After all, what do zombie apps want? BRAAAIIIINNNS ...
This story, "Zombie apps return from the grave!," was originally published at InfoWorld.com. Read more of Paul Venezia's The Deep End blog at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.