Architect’s Role Revisited

I have touched this topic in at least two previous blog posts (Agile Architect and Agilists and Architects), but I seem to be getting into these kind of discussions on a pretty regular basis.

The main area of conflict or misunderstanding is usually around how to create a common architecture or framework (…ouch…) for the entire organization. Most managers and old school dinosaur architects seem to believe that this is best done in long meetings and by producing endless powerpoint presentations and documents containing every buzz word in the world.

I can not stress enough the importance of building an architecture from something that already has been proven to work. And to be able to do that, you as an architect have to get your hands dirty doing some actual coding. An architecture should always be communicated through code, not by slideware!

Øredev 2010 – final thoughts

Having attended all previous Øredev conferences I think I am pretty qualified when I say that this year’s conference was by far the best. Great topics, excellent speakers and flawless organization. Even the closing panel debate, which usually is just something you have to suffer through to be able to win prices in the raffle at the end, was interesting this year.

Since it is such a diverse conference, it is difficult to point out a single item that was the main trend at the conference. But if I should pick one thing, I guess it would be that most of the talks I attended more or less circled around the Get Real! theme of the conference. Hopefully this means that the industry is getting more mature. Don’t want to be a self-fulfilling pessimist, so it is just to be optimistic 🙂

See you there next year!

Are Unit Tests Necessary?

At work today I came across a project that had not written a single unit test for their new code and wondered what the hell they were doing. Nothing unusual except that apart from the usual excuses about time constraint etc., they had the guts to challenge the value of unit tests. I did not believe what I heard and for a moment wondered if I had gone through some kind of time capsule when I was visiting the pyramids in Cairo last week and come back in a time before unit testing was invented. But a quick glance at the date on my watch ensured me that it was still 2010.

The only comforting thing about this is that as long as there are projects like this, there will be plenty of work for software consultants to clean up the mess. Just a pity that the first couple of weeks will be spent writing unit tests to be able to start refactoring the code. Good thing that writing unit tests are pretty fun and addicting, or to quote one of Kent Beck’s tweet earlier today “… tests are like potato chips”.

Corporate Blogging – a fresh (re)start

I have agreed to contribute with a post once in a while on the corporate blog, or newsroom as they call it. I know I have not been very active on this blog lately, but hopefully this will inspire me to be more active here as well. Having just come back from a couple of weeks of total relaxation and diving in Dahab, Egypt, I should be full of energy and an urge to get started writing.

But first I want it to be absolute crystal clear that the stuff I write her on AgileJava is my view, and my view only. It is by no means affiliated with the company blog or anything thereunder. The posts on the newsroom will be reviewed by company representatives before published whereas AgileJava is only reviewed by myself.

Dilbert on Corporate Social Media

A Special Year

The first time I attended JavaOne was 1999 and I have only missed it once since then. Sadly, this year will be the second time I am not present there. I have become kind of used to the week in San Francisco every year. It is the perfect way to start the summer with a visit to that beautiful city. Since it is in September this year, it would probably been the perfect way to end the summer (…we have short summers here in Scandinavia…).

I will for sure miss the massive input and inspiration this conference gives me and enables me to keep up-to-date on everything that is happening in the Java Community. This year’s conference is also special since it is the first time Oracle is hosting the show. It feels like a good idea to co-host it with Oracle Develop and I hope it will be a success to be continued. Next year, I will definitely be attending, one way or the other…!

Company Internal Twitter – good or evil?

This week Yammer was introduced to the entire company. Simply put, Yammer is a company internal twitter where coworkers can connect and share information by posting messages.

At first, I was skeptical to the whole idea thinking it would generate an overload of noise for a couple of weeks until dying slowly like most initiatives to share knowledge within companies. But after having thought about it, I really hope that will not happen. It is actually a brilliant way of building a knowledge base within the company. Everyone who has tried to establish some form of knowledge exchange know how hard it is to get people to contribute.

But by “hiding” it behind some familiar technology like twitter, people actually contribute without knowing it. If you think about it, only the things people are interested in will be posted and discussed in such a forum. People will only put energy in discussions they have strong feelings for. The things most people have feelings for are probably pretty relevant things for your organization. And it is by default fully searchable with the newest items most visible.

So with my limited experience of yammer (have used it two days), I will conclude that it is actually a good thing. Now we just have to hope that it does not die a silent death when it is not that new-and-cool anymore…

Our Irrational Fear of Real-time Exposure

I made an interesting observation when I was at one of the sessions at the Øredev conference today that struck me as kind of weird…

Even though we are out there exposing ourselves on facebook, blogs and twitter, we are not comfortable sitting next to someone that are watching us typing while we are writing our blog post or tweet. As soon as we hit the submit button everything changes. Now we actually want people to read the stuff. That is why I call this

our irrational fear of real-time exposure

Exposure is fine, which the popularity of facebook and twitter are evidence of, as long as we are not caught doing it. Feel free to tweet, blog or comment on this 🙂

Øredev 2009 – Day 1

The conference was opened with a keynote by Marc Lesser. He talked about how to accomplish more by doing less. It was a kind of usual opening of a technology oriented conference, but I guess a bit of zen thinking early in the morning can only do us good.

Ola Bini presented the folding language Ioke. I will definitely download this and play around with it. Hopefully, I can use it in some presentation in near future. Really cool and fun!

The next presentation I attended was Neal Ford’s presentation about XP in practice. Nothing really new there, but more a confirmation that what I feel we are doing right applies to others as well. And, more valuable, tips and techniques for how to improve on what we are doing not so right. At last a kind of nerdy way of looking at pair programming:

  • 100 eyes
  • 010 brains
  • 001 mind

Continuing on the agile track, Dan North gave an excellent talk about our obsession with efficiency. The three key points to remember from his talk is:

  • You get what you measure
  • Not all vendors are bad guys
  • Efficiency isn’t effective

Back to the languages track, I attended a talk by Neal Ford where he compared Groovy and JRuby. It gave me a pretty good comparison of the benefits and drawbacks of both languages.

The only session on the Java track was a disappointment. The only thing I really got from this presentation was that I could charge my netbook’s batteries. Still running OpenSolaris on it, by the way, and is generally happy with it!

Last technical presentation today was about clojure. Kind of tough thing to jump into this late in the afternoon, but the presenter, Stuart Halloway, did a great job.

In the afternoon keynote, Cameron Purdy did a comparison of Java and C++.

Overall experience from the first day of the conference is good. It is impressive that they have gathered so many international speakers. If I should pick on something, it has to be that the opening of the conference would benefit from being a little more flashy. Maybe have the opener learn his speech and practice on the English pronunciation…?

And now, it is time for mingle and beer!

Some Thoughts in General

I have been kind of lazy writing this blog lately. After keeping it up pretty okay during summer, the pace has now slowed to a minimum. I think it can be partly explained by the fact that I have been using Twitter for some of the stuff I used to write here and that my new HTC Hero Android phone made tweeting more convenient than ever…

My intentions are to use this blog for subjects that cannot easily be said in 140 characters and twitter for the short, more daily stuff…

Well, so what has happened since last time. Since I have solely been using NetBeans the last couple of years for Java development, I decided to give Eclipse Gallileo a chance. It took me an hour of frustration to conclude that it still sucks for Maven based projects. Why it should be so hard is beyond my comprehension! In NetBeans, you just choose open project, selects the pom.xml file and everything is fine. Dependencies are resolved as they are defined in Maven, no stupid .classpath, .project and .settings rubbish created that makes Eclipse to totally hick-up if a dependency is changed.

Apart from my unsuccessful flirt with Eclipse, I have continued development of KanbanFX. It has been converted to a maven project and besided the information on Kenai, I have created a page for it here where you can try it out. Kanban is increasing in popularity, @henrikkniberg had 300 people on his Kanban vs Scrum session at JAOO this week.