Thursday, February 22, 2007

Working at Concurrent Levels of Abstraction

The problem with fooling some of the people some of the time is that there are some people you are not fooling. In order to fool those people, you have to switch method, but if you switch to a different method, then you will fail to fool the original people, since they will be unable to understand the particular tactic you have chosen to fool the second set of people. As a result, you'll still only be fooling some of the people, although in this case, it will be a different subset of the people. You can change tactics some more, but then you're simply switching subsets. This sounds like an ever moving target. However, there is an easy back-door provided.

Each subset of the people you deal with has a specific set of things that they know. You can only engage them on those things. Yet they also have a set of things that they don't quite know, and if you can somehow engage them at the border between what they know and what they don't know, and speak convincingly about it, then you'll wrong foot them. Of course people who know those things that their colleagues are oblivious of, would immediately step in, but that's okay, because you can speak in truisms, thus avoiding them being able to make any meaningful objection. However, and this is the clever part, you select a superset of these borders to attack simultaneously in the same conversation. In other words, you operate your discussion at multiple levels of abstraction, each of which is conducted with references to truisms that people find it hard to both disagree with and understand because they can kind of see what you're getting at, but individually are not equipped to deal with the entirety of it, because you're elusively leaping from borderline of knowledge to borderline, without engaging anything.

Why would someone do such a thing?
This sort of technique is ideal if you want to create the belief that you are in total control of a project. In fact, what you're doing is forcing people to interact to work out what the hell they can practically do in order to resolve the myriad conflicting things you've brought up, all of which look sensible, since they're based on half-baked truisms. As a result of this collection of buzzwords and misunderstandings, your workforce will actually pull together to make a solution, one which they'll show you in the hope that you'll say it was what you wanted. If you like it, then it looks like you were totally responsible for orchestrating it. If you don't like it, then they have to go back to the drawing board, convinced by their own insecurities that they were the ones who didn't quite get some master plan.

If you're simply a bad boss, unable to delegate or operate at a suitable level of abstraction, then this technique will prevent you being caught out. If you're a consultant, trying to keep yourself in business, by creating a dependency on your continued services, then this will keep you in business.

Remember, you can fool all of the people all of the time, provided you know exactly where their insecurities lie. They concentrate on the software engineering while you focus on the combination of social engineering and pseudo engineering.