Javazone 2006 Conference

This week I was fortunate enough to present at Javazone, the biggest conference in Norway, and as one local told me, apparently the second biggest java conference in all of Europe. The conference sold out to its maximum capacity of 1400 Norwegians one month before it even started, certainly demonstrating Java’s popularity and the talent pool this country has to offer. The IT industry in Norway appears exceptionally healthy with all of the stands aggressively recruiting people. Local Norwegians confirmed the current state constantly describing the wealth of opportunities available to them.

A lot of the developers I spoke to use the basic toolkit of Hibernate and Spring for most of their projects, and I found it a good sign most of them do automated testing of some form and some level of continuous integration. Many of them have adopted more specifically XP practices, but adoption of the agile values still seem to be missing. A Norwegian TW alumnus I spoke to confirmed this observation and is something he is struggling with in his current role.

I was surprised not to see many more sessions focused on Web 2.0 (as if there’s even a thing!) technologies, with only one session demonstrating the Google Web Toolkit (GWT). Overall it was a well balanced conference with a number of sessions covering topics in core java (Swing, Java5, advanced memory tricks and tuning), enterprise java (EJB3, SOA, Webservices), web (JSF, GWT), testing (Watir, Selenium), methodology (Scrum, lean) and some fun stuff including mobile and embedded java.

Javazone

Quite a number of notable java people came and spoke including the likes of Bruce Tate, James Strachan, Joshua Bloch, Rod Johnson, Gavin King, Floyd Marinescu and even a small handful of the agile community including Ken Schwaber, Mary and Tom Poppendieck and Johannes Brodwall.

If I got anything out of it personally, I now know that:

  • JSF still seems too complicated and immature to be used just yet (with too many XML configurations and too many workarounds for practical use)
  • The Java Persistence API (JPA), a part of the EJB3 spec, will not be as flexible as what JDO or Hibernate offers, and requires at a minimum at least two more XML files (orm.xml and persistence.xml). Admittedly it will offer great relief and better flexibility for standards-obsessed organisations and will be much more usable and effective than what Bean Managed Persistance ever could be.
  • SPOT devices (hardware running the JVM directly without any OS) will change the sorts of applications we will be able to write allowing us easier integration with hardware than ever before.
  • Sun’s announcement that they intend to fully support Ruby and Javascript officially on the JVM directly (with the intention of support more interpreted languages in the future), will certainly have a great impact on the industry.
  • The Looking Glass 3D Desktop project looks interesting though might not be entirely practical.
  • Joshua Bloch develops on a Mac.

I felt my presentation went successfully (on Test Driving Swing Applications) with an attendance of somewhere around 120 people. I had a great time talking and meeting people as well as sharing my experiences at such a large conference and would highly recommend anyone to present or even just there (thought it helps if you can speak Norwegian).

In Oslo

I’m writing (or at least trying) to write this entry from an Internet cafe in central Oslo. It’s been a beautiful weekend filled to the brim with lots of sight seeing and pictures will be following in a while. It may take some time though since I am presenting at the Javazone conference in a couple of days. You can find the rest of my conference material here, and I will be post an update as I go.

I’ve just been having a lot of “fun” trying to find all the normal keys between all the unique ones that you find on a Norweigian keyboard (particularly with all the symbols). Some of them are off by one, but others have forced me to use the “Alt Gr” key for the first time. Expect some updates within the week.

Removing Overused Words From Collaborative Discussions

I was involved in a great discussion on the weekend about two words that never help in conversations.

‘Actually’ and ‘but’

Sometimes you may find yourself in a good situation to use these “blocking” keywords, but far too often, they are abused as implicit “no, you’re wrong” statements. These words stop innovative, flowing conversations and turn them into a debate.

An alternative that I will be trying hard to use is “and.” Please post a comment if you have one you could recommend.

From The Tao of Coaching

The Tao of CoachingFrom the short but excellent Tao of Coaching book written by Max Landsberg

“Increase your effectiveness as a leader by helping others to develop and grow”

Covers great topics such as:

  • Getting and giving effective feedback that is not judgemental, timely, and focuses on specific activities, not personality traits
  • GROW (Goals, Reality, Options, Wrap Up) as an effective problem solving technique
  • Problem, Blockers (Coachee, Other People, The Situation) and Ideal Outcome as another pattern
  • Building trust and understanding a coachee’s motivation using a Skill/Will matrix

A brief, reassuring read but definitely worthwhile for anyone who has to work with people (i.e. everyone!)

A Year Since Leaving Brisbane

I can’t believe it’s been a year since I left Brisbane to go on an internal exchange program to live and work in London. I also can’t believe that I’m at the end of what free days I’ve had in Australia before I fly back to London (yes, you guys have got me hooked).

Thanks to all the people that managed to make time to see me on this whirlwind visit (again!). My apologies for those I didn’t get a chance to catch up with (but you’ll just have to visit me overseas!). I managed to spend plenty of time with the family, get to the beach briefly, and catch up with most people. I had a great dinner and a very enjoyable evening at the Belgian Beer Cafe last night and worked off what ill-effects it had with a hearty breakfast at the ever wonderful Gunshop Café (shown below) this morning.

Gunshop Cafe

Brisbane city and especially West End continues to change, and it struck me at how inner-city apartment buildings have built up in such a short amount of time. I’m intrigued to see what effect the supply will have on the property market and how different city living will be in five year’s time. I also visited the Valley for some tea but noticed that at least it had not changed too much.

Petrol’s expensive at AUD1.40/L (though maybe not compared to the English cost) and thankfully public transports improved slightly (they now have a 3am night train/bus service) with prices only increasing by a little bit.

Brisbane City Hall

Finally the weather in Brisbane was as brilliant as ever with mostly cloudless but always radiantly blue skies for my entire visit. The temperature has averaged a good 23°C during the day meaning t-shirts, shorts and flip-flops (but more colloquially called thongs) though it does dip down to about 10 at night.

This visit reminds me of how much I will miss but, in another way, of how much I can appreciate living overseas. Til next time Brisvegas!

Different Approach to Planning IT Projects

I find it interesting to see how most businesses plan for IT projects. The most common approach is for the business to get a set of proposed projects together, but get IT to cost them. They then decide on which one to do based on this input and what benefits are talked about and estimated costs.

When I see the costing process, I see it as heavy weight – lots of predictive plans with lots of magic weighting and theoretical costs. Worse still is that it sets the expectation that the cost is actually predictable when, in reality the detail you get and what it cost you from the original plan are far apart and you just spent a bucket load on this additional lengthy process (the estimate starts to become a promise).

Choosing Paths

An alternative I propose is a lighter weight approach with businesses focusing on what they want to do and not what projects a particular group within the business proposes. It’s more important to focus on the business problem first and the implementation details last so that both are aligned as closely as possible. After identifying what the business want to do they should next define how much they would like to spend. The amount needs to be feasible and measuring existing project costs and benefits and getting IT involvement is definitely required. Magic numbers plucked from thin air are never useful but do need to be balanced in terms of value maximisation and technical feasibility.

The focus for the project implementation should also be different from traditional methods. The focus should no longer be ‘keep to the plan’. It should instead maximise the value the business gets while keeping aligned with the business objective. Agile projects provide a great way of doing this by splitting down the detail into chunks that have identifiable value, getting the business to continually identify what is valuable in relation to their business objective and then getting the value faster and earlier than a big bang approach.

I’d love to hear what you think about this so please drop a comment.

Feedback as Feedback

Regular heart beat retrospectives are a useful tool for measuring how well the team is going. As someone responsible for project delivery, you want to maximise the amount of honest feedback you get (both positive or negative) as they all might pose risk to the project.

The amount of feedback you actually get is a useful indicator rating the team’s comfort level – either with each other, or with other people they report to. I’ve seen a number of feedback sessions stifled by one or two key people that sit inside the room, as people withhold their opinions for fear of negative consequences. Controlling people typically disengage individuals from the team and reduce the effectiveness of feedback you get. Uncomfortable silence or a minimal set of feedback are both signs that people may not be entirely comfortable.

Splitting the group into smaller teams might help to improve individual’s openness, introducing a speaking token so that one person is not always talking or even asking someone to leave is a last option.

Fun with Agile Projects

Dancing SnoopyThe feedback I’ve most recently received on my latest project is how fun it has been. This enjoyment factor is common feedback I get when working on projects with agile values and practices. I do not think this theme is exclusive to agile projects but I definitely think it is more common.

I believe that projects run in this manner are a result of the Agile Manifesto statement of ‘Individuals and interactions over processes and tools’. A result of working closely together and striving for a common goal breaks down the focus on the individual and succeeds in building a fully functional team.

Why you should care as a Project Manager or as a Business Person?

Enjoying your work has a number of effects on the way that you work. I believe studies have disproved that happiness positively impacts productivity, but I believe that in the long term it still has a positive effect. More importantly I believe studies have proved that happiness positively affects staff retention.

If anything, my own opinions are that it works to reduce the overall risk of the project as each person builds on each other’s strengths and contributes positively when someone is at the low in their peaks and troughs. The similar alignment between all team members also leads to people improving the project in different ways because they want the project to succeed and not just because of individual motivations.

Note that working in this manner is not necessarily comfortable for all people but it’s usually because people have built up their own social barriers in order to work effectively in more traditional environments, or they don’t like working in teams.