So what does it take to perform software archaeology? As with real archaeology, which involves a lot of time bent over in the mud, there is little glamour.
-It's an iterative and interactive process," Taylor says, explaining his company's four step process that starts with an -input" team that parses and lexers old code, using automated tools whenever possible. A second team performs -enrichment" duties by building a working data model and describing interfaces to other applications so old code can link into a customer's new environment. A deployment team then ports old code to a new platform and database, before a testing team puts the rebuilt application through its paces.
Other practitioners advocate similarly structured approaches. -There are four key aspects to software archeology," says Davyd Norris, Rational Technical Consultant at IBM. -You need to look at structure, behaviour, context, and rationale."
Taylor says the skills needed to do this work have given the company an average age much higher than the industry average. -The input and enrichment need to have a fair bit of grey hair," he says. -They need a bit of knowledge about the original languages."
Sean Salisbury, Compuware Asia-Pacific's senior regional technical specialist, thinks mastery of even finer details may be needed to make a good software archaeologist.
-When I first started programming you needed to know that disk sectors were 512 bytes long. You designed your records around that constraint," he says. -Later on you needed to know the difference between DOS 6.2 and DOS 6.2.2," he adds, as the programming tools of the day did not abstract the operating system at all and subtle changes to code were required if an application was to survive the subtle variations in upgraded operating systems. Without this kind of knowledge, he feels a would-be archeologist may lack the insights to perform effectively.
The holy grail: a job
Is it worth acquiring this kind of knowledge to add a software archeology string to your career bow? The increasing prevalence of automated tools makes it unlikely that developing a deep understanding of a dying technology will prove a career masterstroke.
-Anyone who can program a language in anger can pick up a new one easily," says Software AG's Hawkins. -When you get into the esoteric technologies, the question is: How much investment to make in the skills?"
Hawkins' customers tend to vote for automation instead of teaching their people dwindling skills, and this seems to be where the new practice is heading. Like many other companies, Software AG offers products capable of analysing and documenting old code, producing flowcharts and diagrams that explain its function and then suggesting ways it can be rebuilt. Many -Once you have your analysis done, you can change it automatically," he says, warning that while automation is powerful it is still sensible to -test like buggery afterwards."
Those who hope their more esoteric skills will turn into a few interesting contracts need not give up the idea of becoming archeologists, however. Many businesses are partial to hiring skilled archeologists for their first -dig" to assist help impart skills that may be needed as they delve further into their old code.
And if that means your PASCAL or COBOL skills only occasionally translate into the chance et to explore the software equivalent of an Antikythera Mechanism, the occasional chance to unlock the secrets of an ancient mystery is certainly better than missing out on that chance altogether.



Leave a comment