Java Jedi

The thoughts, experiences, and misadventures of real world Java developers.

Thursday, May 12, 2005

"Okay" Defense Maneuver (Light Side)

This is a pattern that I've typically used most often when resolving conflicts with someone on the same level as myself. In situations where someone feels strongly about something but are saying such outlandish things (see the example below) it is sometimes in a Java Jedi's best interest to conserve energy, do it your way, and still provide for an "out" later after it is discovered you did indeed do it your way.

  • Name - "Okay" Defense Maneuver (Light Side Power)

  • Problem - Dealing with someone on a topic in which it would take more energy to convince them to agree with you than to just do it your way.

  • Context - Typical expressions of this problem is when people (project managers, owners of the company) who have no technical idea about the problemspace but still somehow manage to form an "informed" opinion they wish to defend to the death.

  • Forces - Political dynamics, team efficency, time utilization

  • Solution - The desired outcome is for the other person to believe that you're listening to him/her while still allowing you implement your own solution to the problem. To this end listen to the other person's ideas and only respond with some non-commital response such as "I see" and "okay". Implement the solution as you see fit. When asked later why you did your own thing while agreeing with the other person you simply comment that "I see" and "okay" means "I understand what you're saying" not "I agree with what you're saying". It's a win-win for everyone: you get to do it your way and the other person got listened to.

  • Example -

    You're in a design meeting covering some section of the software application you're building. One developer is adamant that the "Charade" pattern is the perfect answer to the problem. You, of course, know there is no "Charade" design pattern. After trying to explain this a few times you decide to implement this pattern for the conservation of energy for you and the team (and get out of this meeting sooner). For the rest of this specific discussion you simply reply with "okay" to all of the developer's continued monologe.

    You implement the solution using well understood design patterns. During a discussion or code review fully disclose that you've solved the problem your way. When the other developer/owner/project manager seems surprise that you did do after "agreeing" with him/her you can state that you simply meant you understood what they were saying - not agreeing.

  • Resulting Context - You've completed the maneuver: you've done it your way, already have a solution that works (so that makes the previous discussion moot), and you've conserved valuable energy for you and the team.

  • Rationale - Sometimes it just isn't worth it to "fight the fight". Maybe the other developer / owner / project manager just has no clue about the problem and explaining it to them so they'll understand would take more time than the project has.

  • Related Patterns -

  • Known Uses - The pattern was successfully used when working on a project that was producing a web application in the medical area. It came to the point where we needed to track how drugs were given out to patients. One owner has his own ideas how this should be managed even though he'd never written a line of Java code. This pattern was used to give him the warm fuzzy that he was "leading the team". After the implementation was done and tested and it was disclosed that another path had been chosen he seemed stunned his pearls of wisdom were ignored. When it was explained that "Okay." was simply an acknowlegement that it was understood what he was saying, not agreeing with it he had no ground for complaint since there was a working, tested system in place. It was simply not the way he thought best.


Blogger Fernando (Nerd Gaucho) said...

I couldn't have said it better. :)

You wouldn't know how many "informed managers" make up their minds on technology after reading some babbling in the latest "PC Magazine".

Like... "java is dead, I think we should code this using Microsoft's latest .Net".


1:30 AM  

Post a Comment

<< Home