cycling and war dealing with a project sniper
Sun, Jul 17, 2011
“hey now! I see you’re on the Groove System Nine project. They’re using the Pod differentiator classes from Innovation Inc by all accounts. Not what I’d do. Nah. No idea why they’re using them. I’d use an open source alternative. Loads of them around. OpenPod. Check it out. Not heard of that?”
“No. Thanks for the heads up. What is the OpenPod?”
“aaaah. Well, you’ll just have to download it and play around. Not my place to say really…”
Sounds of the hand dryer, lots of throat clearing and the toilet door opening and closing.
Yes, every project has a sniper and the best way to deal with them is to ignore them. But being unprepared to ignore them, you do so at your own peril as they’re adept at fomenting strife in your ranks. So at the inception stage of the project you’ll want to survey the technical landscape and make sure all your decisions are up front and have solid reasons for you making them. Have a list of alternatives that you’ve looked at and reasons why they didn’t make the cut. Record it all in something like JIRA so when the hapless project member who’s just been subjected to TDD (Toilet Driven Development) innocently brings up Toilet Man’s question, you can calm the waters by answering there and then. Snipers aren’t confined to the public lavatory system though. I’ve been subjected to CDD (Corridor Driven Development) and PDD (Phone Driven Development), as well as FD (Fk ‘em Development). A developer I worked alongside once had a phone call from the project manger telling him to nip next door and tell me to implement Feature X in the next 15mins as he was in a meeting with people wanting to kill him. “Fk ‘em” the manager said and I quote.
Technically speaking, the manager who wanted to f**k his enemies wasn’t a project sniper. It turned out someone else was doing the sniping at him but the bullets ricocheted straight off him towards the developers. That’s not meant to happen as managers are there for a reason, other than running around from meeting to meeting throwing their hands in the air and complaining no-one tells them anything, ever. That can lead to PDD (Panic Driven Development) and lots of developer abuse. So you see, the sniper is adept at creating chaos and confusion in the project ranks, either directly or indirectly. They just need to find the weak spot and the bullets will spray over all and sundry and before you know it, your project is spiraling down the pan and the sponsor(s) are conspicuous by their absence, while the sniper is puffing out his chest and waiting to utter those immortal lines. “Told you so”.
Although I said earlier that ignoring the sniper is the best way to deal with them, you need a rock solid base to stand on to do this and that’s not always possible in software development projects when new technologies come out almost every day. Each new release of something is fuel for the sniper’s molotov cocktails. In this case an analogy from cycling might help. It’s fairly well recognised knowledge that a cyclist (like me for example, who has a 38 mile commute when I’m in the mood) is best to stay about one metre from the kerb when cycling on the road. This signals to drivers that you’re predictable and safe to pass, often at breakneck speeds and very often, far too close. However, when something is coming up, such as the appalling use of road furniture like a traffic island (which narrows the flow of traffic and forces you into the gutter) it’s best to do what the Americans call Claiming (or Taking) The Lane. You basically move out into the flow of traffic when it’s safe to do so and stay there so nothing can pass you without risking a head-on collision. Is it legal? Is staying safe legal? I don’t know. But the equivalent of having a sniper bearing down on you is to keep abreast of what’s happening in technology areas that directly impact your project. Take the Project Lane. Get there first and be ready when the road opens out again into free flowing traffic. One of those juggernauts will be the sniper and you’ll be ready for him.
Another analogy from the world of cycling (you can tell I’m a big fan of cycling. In fact if I ever finish this rant I’m off to watch the Tour de France) is to feign stupidity and ignorance. Drivers tend to keep away from wildly wandering cyclists, if only to stop their paint being scratched but a good cyclist who is aware of driver psychology can use this to their advantage. Not the crazy swerving stuff but exploiting the fact that drivers tend to use eye contact and head movement to judge whether they think you’ve seen them. If a car is coming out of a side road (see the sniper coming along the corridor?) a good cyclist can move out (take the lane) and watch the driver in their peripheral vision. The driver doesn’t detect any head movement and there’s no eye contact so they become wary of whether the cyclist has seen them. They become cautious. All the while though, the cyclist knows exactly what the driver is doing as they are watching them. They are watching the car wheels to detect the slightest movement and whether the driver is looking at them or at a spot in the road where they want to be. The point being that the driver is under close surveillance at all times by the cyclist, while the cyclist is feigning indifference. It’s a very difficult trick to pull off and you really need to know what you’re doing and be prepared to act instantly if the driver is an arsehole (think van, think arsehole). This technique can work quite well against the sniper. Just ignore them but keep your ear to the ground to detect their movements along the corridors and urinals. Learn what they’re saying and have counter attacks ready. Attend meetings where they are talking and get a gist of what they are planning. How does your project affect anything they’re doing? Are they threatened by your project? Don’t interact with the sniper. Just follow them surreptitiously. Learn their habits and why they’re sniping in the first place. Learn their strengths and weaknesses.
A sniper can bring your project down if they’re stupid or clever enough and have the ears of powerful people in your organisation. Dealing with a sniper is an act of warfare and to quote Sun-tzu in “The Art of War”:
“In joining battle, seek the quick victory”
Avoid mud slinging at all costs. Avoid patronising them. Keep your dealings with them professional at all times. Protracted battle with a sniper doesn’t work. It’s the karate chop you need.