What happens when software gets old?
As the first generation of programmers reaches retirement and software systems get older, the challenge of maintaining old software becomes more pressing. Assistant Professor Marisa Cohn studies the so-called legacy systems from an ethnographic perspective.
What is your current research about?
I’m interested in understanding how software ages over time. Today, software is heralded as a disruptor, but I think it is important that we also understand software from a maintenance perspective. The software field doesn’t tend to see its past as valuable – I mean, why would you code something now the way you did in the 90s? But with this pressure towards constant upgrade, we may be forgetting about the work of maintaining legacy systems – software systems that were coded a long time ago.
Recently, there have been articles about how the US nuclear test systems are still running on floppy disks. I think legacy systems are coming to our attention now because a first generation of developers are retiring. The old technology is new to young developers, so people are getting called in from retirement all the time. We can learn from cases where people are working to sustain legacy systems – for instance in space science missions where they really have to rely on legacy systems to operate obsolescent hardware in space.
What have you discovered so far?
Programmers used to stay with a project for a long time, maintaining it and getting to know the users. Today, many young programmers care more about working with the latest platforms and programming languages, and they don’t stay around for very long. The way we discipline and professionalize software development has changed. While some of these changes are good, one negative consequence of constant change is less robustness of systems. You don’t want a health information system at a hospital to be running on the very latest language or platform.
There is a reason that software developers would rather throw away old code and start afresh. It is hard work to trace a path through old software. But if software must always be young and fresh, you end up having to truncate history and the relational work of programmers knowing their users.
What do you find most exciting about your field?
There is all kinds of work that people do with software that doesn’t conform to the “cutting edge, disrupt everything” model. It’s interesting that the word ‘legacy’ is considered almost a bad word in software. I would like to reclaim the more positive idea so that we might value more diverse forms of computational work.
Marisa Cohn, Associate Professor, email firstname.lastname@example.org
Vibeke Arildsen, Press Officer, phone 2555 0447, email email@example.com