I have spent a fair proportion of my professional life untangling applications and processes that nobody in the company properly understood. Quite why organisations let themselves get into this situation when very often they will have built the applications in the first place (they didn’t appear out of thin air), is an interesting question for another occasion. For now though, let’s just acknowledge that we’re stuck with situations like this.

I’ve met many Business Analysts who aren’t concerned in the slightest about what I have just said. Many even purposely steer clear of looking too carefully at any pre-existing applications. The belief seems to be that looking at what already exists in some way contaminates their judgement.

To be fair, there is something in this. What already exists can be a constraint to peoples thinking. But equally it can give useful insight. We can learn from the past. The reason things are the way they are is often significant.

Technology isn’t just about building something new. Sometimes it is about getting more from what we have. Reverse engineering can help us stabilise and improve what we have, improve our acceptance testing and knowledge generally. I find it surprising it is not used more, and why so many people (analysts, developers and others) try to steer clear of it.

If we can reverse engineer a UFO (as I saw on TV a while back) why not use the technique on software more regularly?

« »