Thursday, November 29, 2012

Agile Australia 2011 WIN

I found out the other day that I won 1 of the 5 tickets my company was offering to attend Agile Australia. I will be flying up to Sydney on the 15th - 16h of June to soak in all the agile goodness. A big thanks goes out to those who selected me!

Now I'm tasked with the mission to set out an itinerary of talks and workshops I would like to go to. Talking to some of my colleges who have been in the past and the've advised me that many of the events are more geared towards companies new to agile, so I think that one of my main criteria will be to find more advanced topics and/or workshops, another topic I might seek out is motivating others as I have found that it's one of the hardest challenges I have faced when it comes to Agile in a large company. If anyone has suggestions then I would be more than happy to take them on board.

I will post more when I have figured out what I'm going to attend.

http://www.agileaustralia.com/

ReEx-ing your feelings


Let's face it, many people in the I.T. industry are really terrible at communicating their thoughts and  feelings, I often think that they're only one step up from a compiler.

I was talking with one of my colleagues about an issue and he gave me this little formula that he was given by someone else that he found quite effective in conveying concerns and/or feelings generic enough for any situation and I thought it would appeal to those who struggle with communication.

Formula
When you (do this), I feel/think (this way), because (of such, and such). What I would like you to consider is (doing X) because I think it will accomplish (y). What to you think?

I have taken the liberty to write it in a way so that those people thinking just above compiler level will understand...
package me.social.skils

import org.apache.commons.lang.StringUtils;

public static class ConveyMyFeelingAndConcernsUtil(){

      private static final String FORMULA= "When you %s, " +
                                                             "I feel/think %s, " +
                                                             "because %s. " +
                                                             "What I would like you to consider is %s " +
                                                             "because I think it will accomplish %s. " +
                                                             "What to you think?";

      public static String convey(String whenYouDoThis, String iFeelthisWay,
                                             String becauseOfSuchAndSuch, String byDoingAction,
                                             String accomplishOutcome)
                                             throws NullPointerException{

           if(StringUtils.isBlank(whenYouDoThis) && StringUtils.isBlank(iFeelthisWay) &&
              StringUtils.isBlank(becauseOfSuchAndSuch) &&
              StringUtils.isBlank(byDoingAction) && StringUtils.isBlank(accomplishOutcome){

                   throw new NullPointerException("You haven't provided enough " +
                                                                  "details to explain your self");
            }
            return String.Format(FORMULA, whenYouDoThis, iFeelthisWay,
                                          becauseOfSuchAndSuch,  byDoingAction,
                                          accomplishOutcome);
     }
}

image from box-life.tumblr.com

Wednesday, January 19, 2011

Getting the Busines to get things done!



I've discovered a way to help the business complete tasks involved with making wording and content decisions for the website we are working so we can meet our deadlines, as this seemed to be delaying us!

I'm most likely not the first to discover this and it may seem simple but I found it quite profound at the time: Don't simply ask them what they want, but offer them a good suggestion of what you think would be best. This way you have started the task for them and given them something to work from, I think it's a lot harder for them to start with a blank slate than it is to massage what you have already written if it indeed even needs to be massaged.

In the case of the current project I'm on we had asked for some text and content before Christmas and were getting a little fed up waiting, after asking a couple more times and getting nowhere. We emailed them our suggestions and got approval within the space of an hour!

Friday, August 27, 2010

Familiarity Breeds Counterintuition: "Can I have that in English?"

Familiarity Breeds Counterintuition: is basically a term of phrase I've coined to describe the paradigm rampant in the IT community. Simply put it's the situation where people who are familiar with a system don't realize that what's bleedingly obvious to them isn't actually obvious to anyone else.

I don't think this problem has ever been given a proper definition so I did it and staked my claim, regardless of being articulated most people beyond the realms of IT are most definitely aware of the problem. Some people may know it as:
"Did you understand what the heck that IT guy said?"
...or...
"The IT guys are weird!"
...and also...
"I'm to scared to ask the IT guy"
...
Even the mainstream media is aware of it, you only have to turn on the TV at night and watch one of those modern crime investigation shows where the detectives consult the ultra hip alternative hacker to help solve a crime. You'll notice that in every show the hacker spouts a cacophony of technical jargon, prompting the detectives to say something like "can I have that in English?".
This is the dilemma; why couldn't the hacker say it in English in the first place? Anyone who has worked with or in the IT industry may ask the same question of the IT guy or even of their colleagues.

So why do we do this, why do we act as if we are from another planet?

Now if I was cynical I would suspect that some IT guys did this to feel superior, but I think that it's more to do with being so familiar with a system that we can only talk about a system in technical low level terminology simply because most of the day is spent interacting and or solving problems on that system and with others familiar about that system. Now there is nothing wrong with being familiar with a system but we have to be careful to not be counterintuitive when doing thing such as writing things such as user documentation, test cases even code. Counterintuition is a terrible smell in any area of the IT realm it causes single points of failures, wastes times, causes bugs and alienates others all things we seek to avoid in the Agile environment.
If we return to the languages analogy when speaking different languages it's essential to make sure that you know whether the other person speaks the same language as you, don't assume they do just because they work in the same company, building, floor, project or team. So as a good practice before you explain something, write anything or try to convey any logic or information, ask your self "Can I have this in English?"