Skip to main content

Legacy Theory

In response to Fuzzy's post on accidental architecture, I couldn't help but think about a wonderful concept that Cam coined once called "Legacy Theory"

Legacy applications are applications that you have to work with because they're part of what I call the "solutionscape" - the list of systems that assist a business to function. Typically, in any given solutionscape, there's a couple of systems that are old and weird, and you have to architect your sexy new systems around them, because they are so precious to the business that the business can't imagine life without them. When I worked at the ATO, there was this enormous legacy overhead of the massive DB2 mainframes that have been processing Australia's tax returns for the last twenty years (sometimes properly!). Suggesting an architecture that didn't involve these systems was crazy - it would never work - because nobody would ever let you build such a system. That was "The way we do things around here."

Enter legacy theory. I can't quite remember the details, but an old colleague in the public service used to tell a mildly entertaining story about an experiment with monkeys.

The white coated, bespectacled scientists would put a delicious looking banana on a hook in a cage, and then put five monkeys in the cage. Anytime a monkey would try to eat the banana, the scientists would hose the crap out of all the monkeys with a firehose. After a while, the monkeys learned to stop trying to eat the banana. Hardly surprising, but the weird thing is, that they'd then swap a monkey out, and replace him with a monkey who had never seen the banana before. When the new guy tries to grab the banana, all the other monkeys jumped on him, and beat the snot out of him, because they didn't want to get hosed. SO, then the scientists gradually replaced monkeys until there were no original monkeys left. Still, every new monkey that tried to grab the tasty banana would get beaten up. None of the monkeys had ever been hosed. They just knew that was " The way we do things around here."

Sometimes you'll realise that what you're really doing is working with legacy theory in action. We should probably actively try fix the problem, rather than working around stale solutions.

Then again, you may just end up getting hosed...

Comments

Popular posts from this blog

Easter at Blackhead

Camping out on the headland, miles from anywhere. Big swell, off-shore winds, clear crisp nights and smoke from the wood fire. Sometimes it's so rewarding to get out from under the pressure of your life and just be a family of humans.

How to rename an XML Node in C#

This was driving me crazy - here's an easy cut and paste solution to not being able to use the DOM to rename a node for lazy developers like me: public static XmlNode RenameNode (XmlNode node, string namespaceURI,string qualifiedName) { if (node.NodeType == XmlNodeType.Element) { XmlElement oldElement = (XmlElement) node; XmlElement newElement = node.OwnerDocument.CreateElement(qualifiedName, namespaceURI); while (oldElement.HasAttributes) { newElement.SetAttributeNode(oldElement.RemoveAttributeNode(oldElement.Attributes[0])); } while (oldElement.HasChildNodes) { newElement.AppendChild(oldElement.FirstChild); } if (oldElement.ParentNode != null) { oldElement.ParentNode.ReplaceChild(newElement, oldElement); } return newElement; } else { return null; } ...

Democracy in Action...

I have to vote in the US Senate Election Tomorrow. Okay, I don't have to vote, but being an Australian American, voting is something we do. Australia has compulsory voting, which I am overwhelmingly supportive of. People often assume that the point of compulsory voting is to somehow educate people about politics - to force them to have an opinion. The reality has nothing to do with voters, and everything to do with ensuring good governance - By forcing politicians to care about every voter, rather than just the ones who can be bothered to go down to the poll both and vote, it means that politicians are consequently forced to address the needs of all the citizens in the country. Under a non compulsory voting system, it's mainly the wealthy and educated who vote. I was a little shocked to find out that part of the aim of the campaign advertisements that have been confusing me for the last month on TV is not to encourage voters to vote for one candidate or another, but to discou...