Registration for first AgileCoachCamp Germany has been opened since Monday. It’s an unconference, which means it is self-organized – and self-organizing. By the way, isn’t it an oxymoron?

I’m happy that I have the opportunity to organize this event together with great and very enthusiastic people from the Agile scene.

One thing I’m very, very happy about is our unconference theme:

“Wavemaking – gently creating radical change!”

Those who know me personally may already know it: I like wavemaking. And I like nearly everything which has to do with radical change… So, that’s what I can contribute to the community. What I hope to learn there is: To do it gently – well, that hasn’t been one of my strengths so far. :-)

If you are an agile coach, change agent, agile leader or someone else who is interested in creating change (or making waves :o)) – then join our camp – please notice that there’s space for just 50 people.

And if you’re interested in sponsoring, please contact me, there are still some opportunities for sponsorship.

Folks, I am happy to announce my new position: From now on, I work as Chief Product Officer at DailyDeal.de.

DailyDeal is a very interesting startup which is about live and social shopping.

So, since we’re planning to introduce Scrum or at least some Agile principles there, and furthermore there are still some QA challenges to solve, I’m sure that you’ll read from my work here on this blog.

The event will be on Wednesday, Dec 2 at Novotel Neuss (near Düsseldorf).

The day before, Dec 1, there will be some interesting workshops. At least one of them is a highlight I want to recommend to you: Joseph Pelrine’s workshop on self organizing teams. I had a foretaste of what might come up there at “Agile2009” in Chicago. But his workshop in Chicago was one of 3 hrs. This one is a full day workshop.

Day two is over and I’m lying in my bed, happy but tired, and try to keep my eyes open until I’ll have clicked the “publish” button in ScribeFire.

First things first: Some people said to me that they had read my blog posting on day one. What nearly everybody told me was that they’d had the discussion about either German or English talks in the past. And that they’d had more English talks some years ago. And that it is a strange scenario if Germans talk to an audience of just German people but speak English (and some listeners have difficulties to understand it). Ok, I have to admit: In this case German may be the better option :).
Just to make it clear: I respect this decision, result of experiences in the past. I’m sure that this is pretty well thought-out. And I didn’t want to blame people who had made this decision. It was less about criticizing something or someone but more a public reflection on my own personal feelings and thoughts. Personally, I really love getting in touch with an international community and I’d really appreciate it if this also would happen in Germany. Nonetheless, even more than that I appreciate a well-organized conference with happy people on it – and that’s what XP Days Germany seem to be.

Anything else? Oh, yes, there were some sessions today – two dozens in four parallel tracks, to be precise. I attended “Creating Leaderful Teams to Achieve High Performance” by Deborah Hartmann Preuss. It was a great talk on changing mental role models – as a member of a team, but even more important: as a manager. Because that’s the topic I’ve been obsessed with for nearly one year, it was very valuable for me to hear from her insights, compare, adapt and question her points. To be honest: There is just one I question (and I needed some hours to think about it): I’m not very happy with the term “egoless team”. I know, many trainers make use of it. Maybe I’m too sceptic because of my personal spiritual background. Every time someone starts talking about “egolessness”, I become very carefully: In most cases this is the beginning of deliberation, of suppressing individualism. It doesn’t have to be used this way in Agile, but I know that talking about “egoless …” can be a mighty weapon.
Back to the point I agree with: The key thing is that the term “Agile Manager” is an oxymoron. But what is needed instead is an “Agile Leader”.
A leader as a
– Meaning Maker
– Catalyst for Growth
– Model of Integrity
– Cultural Change Agent
– Facilitator
Deborah Hartmann Preuss explained in detail how she understands each of these roles.
I could mention many details of this talk, but I’ll pick out just two more points: The meaning of retrospectives. “If you wanna do just one agile practise, choose retrospectives.”, she said. Why? Because this is the most important opportunity to step back and reflect as a team. To remind Albert Einstein: A problem cannot be solved on the same level where it has been caused. Stepping back means changing the perspective, the level. Same thing for leaders. Integrating a retrospective in the working routine of the team extends work from single loop to double loop. Single loop work means working on efficiency (doing things right). Double loop work means working on effectivity (doing the right things), because you reflect on your work and learn more. But a decision for effectivity on costs of efficiency has to be made as a top level management decision. Once again, an act which needs a step back and some reflection.

Furthermore, I had other very good talks today: “TDD with iPhone OS” by Tammo Freese and “Science Scrum: Agile Project Management in Science” by Michael Podvinec and Joseph Pelrine.
In addition to that, a very entertaining final of “TDD with the Stars” and Alistair Cockburn’s Keynote on Hard-Agile (subtitled with “Agile is for wimps!”…).

I hope I’ll find some time tomorrow to write more about these sessions. Now it’s time to close my eyes (and hopefully not to dream of Agile Jeopardy: “Was sind Haftnotizen?”)

Well, first day of German XP Days is over. For all of you who couldn’t come, I’ll try to give you some insight:
I personally started today just after lunch, since the tutorials in the morning had been sold out. But doesn’t matter, it’s just the warm-up day and a good warm-up day doesn’t start before lunch!

The first session I attended was “Am Ende entscheidet das Naturell” – together with title comes the first hint that XP Days Germany are really quite… ehm, German. Almost every talk seems to be in German – which is on the one hand ok for a national convention. It gives German people the chance to join the agile community, even though they don’t understand English. On the other hand, it excludes the few people from other countries, who are here. And keeps potential visitors away. I think it’s sad to miss the chance to let them participate. Actually I’m of two minds about this question. Maybe it’s not a general question, but a question of personal taste. I tend to the international variant. Or as a compromise, at least one track in English, the others in German.

Ok, back to the talks: “Am Ende entscheidet das Naturell” means something like “Finally, the temper (disposition) tips the balance”. Dierk Koenig from Canoo talked on citeria how to categorize people at work.
He mentioned several models for characterizing people, like well-known Myers-Briggs model and “big five”, but the difference between these models and the approach they use at Canoo is the fact that one doesn’t need to know everything about his employees’ personality, but just about a few criteria, e.g. “What is your approach to collecting infomation?”. “Focussed” and “Holistic-associative” were the left and the right end of a scale. In the model they use, just 4 of these criteria had been filtered out. The second criterium was extra- vs. introversion (communicating with others), the third was self-organization (structured vs. flexible) and I have to admit that I’ve forgotten the last one (I think it was sth. about innovation…).

Depending on your personal likes and dislikes, you can draw a scheme of which roles and responsibilities you’ll probably take over in a team. Because the four dimensions with its two extremes in each case relate to eight steps in a working process or to eight roles in a team.

Well, I like the pragmatical aspect of this approach. Dierk Koenig pointed out that they use it sometimes in team retrospectives. As an example, he showed a photo of a map with eight fields, one for each role. Each team member had put a big stone on a field for his key strength and smaller stones for supporting roles. Some fields had many stones, some of them just one. So it became very clear to all who looked at the photo, which roles could turn out as risks.
But in my eyes the most valuable sentence Dierk said, was in the beginning of his talk, when he reminded us of the Agile Manifesto: “Despite we are talking about Agile, most people are still talking about processes and tools. But we should stop talking about processes and tools, we should start talking about people.”

The next session was a Pecha Kucha session. I had heard about this special form of presentation before, but it was the first time I saw it. It’s some kind of lightning talk. A speaker has a topic and 20 slides for that. Each slide has exactly 20 seconds to stay. That means: 400 seconds left for a talk, 6 min. 40 sec.!
Things I like: You try to tell people a story. Everything which is unimportant will be left out. The slides don’t have any bullet points and don’t have much text. Mostly, they’re just pictures. And they only support the speaker’s message. Of course, everything I mentioned can also be valid for a regular talk, but to be honest: Most talks are different, people don’t care about these rules. In Pecha Kucha, people are forced to do so.
We had three talks in this session. “Stop the Line in Software development” by Stefan Roock, a very useful talk on really stopping the production process in case of failure (like Toyota does). “Our Journey to the Land of Agile”, an experiential report by Markus Adrezak and “I am packing my Agile Suitcase” (I have no clue if this game, well-known in Germany, is also known in other countries!?) by Holger Koschek, a talk on the most important values, principles and tools in Agile. Each talk was very good. But form impressed me even more than content (maybe this is the disadvantage of Pecha Kucha).

I missed the TDD session but I heard from others that it had been very good – and totally overcrowded. :-)

The last talk for today was “Wissensinseln – Schadbild, Bekämpfung und Vorbeugung” (a very typical German title! Can maybe translated with “Islands of Knowledge – Symptoms, fighting and preventing them”). Though it was the last session, Jens Coldewey managed it to get my full attention to his talk. He talked in a very engaged manner on this topic. The main part: How to realize that your team has a problem with sharing knowledge. He showed some indicators which I’ve been knowing very well: Some remarks during the sprint plannings, “This task can only do XY” or “I have nothing to do”. Or the fact that stories are not done the order they were prioritized, but in different order (“that’s because the first story is XYZ’ story and we carry on with the second (third, fourth, …) story”). Another indicator is a chart with story points a team achieves per sprint. If story points hit rock bottom every time when a particular team member is ill or in holidays, then you know that something goes wrong.
Afterwards we had a lively discussion about how to prevent it. I think it’s even the easiest part to prevent it amongst developers: You can do pair programming, code reviews etc. But nobody had a good answer to the question of knowledge transfer within a *cross*-functional team itself. How to handle knowledge transfer between developers, sysops and designers? How not to overburden the team’s only sysop? And how much knowledge transfer from a sysop to a programmer and vice versa is necessary? And how much is useful?
That’s a topic I’d like to see being placed on the Open Space agenda on Saturday. I’ll put it into the discussion once again.

As I mentioned before, there were eight lightning talks, held on Wednesday. Marie Patriarche from Google has published the list of topics in Wave – where available, I’ve added links to slides or to projects:

Well, GTAC 2009 is over. I wish to thank Google very much and special thanks to the people who organized this fabulous conference!

Once again, I’ll give you a short overview of the second day:

The opening talk was held by Dr. Alberto di Maglio from CERN. And he told us a lot about the ETICS project, which is a large-scale web-based tool for configuring, integration, building and testing software on the grid. It is open source software and can be found on the CERN web server: http://etics2.cern.ch

It looked quite impressive at first sight. Especially the fact that you can run your software on several grids, from Amazon to gLite or Condor (in order to name just a few). Furthermore, it is possible to choose from several operating systems and hardware settings. Another benefit is the automated packaging system, who takes a lot of work off the developer’s shoulders. The software is plugin-based, so that you can integrate own plugins very easily.

The next talk was on Crowdsource Testing: “Testing Applications on Mobile Devices” by Doron Reuveni (uTest). I think that Crowdsource Testing is not yet another buzzword, in some cases it’s a valuable alternative to established ways of testing.

Doron took Mobile Testing as an example for a scenario with many different devices, operating systems or versions, carriers, data connections and settings. In most cases, companies cannot handle this with their own QA. Here Crowdsource Testing is a good option. You give your Application under Test to a crowd of testers (of course they are organized and led by uTest!) and let them do the work for you.

As I mentioned, I think it’s a good alternative in *some* cases. The lively discussion afterwards pointed out that there are several reasons why sometimes CrowdTesting may be useful and sometimes not. If you are interested in this topic, send me an eMail, I’ll explain it to you in detail.

Jeremie Lenfant-Engelmann from Google provided the next talk on “JsTestDriver”. He said as follows:

– Existing JSUnit Frameworks are clumsy

– A good non-clumsy alternative is JsTestDriver

– Principles of JsTestDriver:

=> easy to setup and to use

=> fast

=> good IDE integration

=> Debugger support

=> Code coverage

=> Federated test execution across all browsers and platforms

=> HTML loading support

=> Focus on continuous builds, therefore it is CLI-based (besides the IDE integration for women and children *SCNR*)

Jeremie showed a live demo, which proved that he hadn’t promised too much: It was really fast and seemed to be very easy to use, because it’s analogue to other XUnit tools. He also showed some work with the Eclipse plugin and a CI integration into Hudson.

Finally he mentioned that the focus of JsTestDriver lies very clearly on Unit Testing, not on End-to-End-Testing (very important to keep in mind, because I also tended to understand it as and end-to-end-testing solution).

One of the talks I was really looking forward to, was “Selenium: To 2.0 and beyond!”, by Jason Huggins and Simon Steward. Simon is a Googler, and Jason, the former ThoughtWorker and Googler, is now working at his own company, Sauce Labs. While Jason has probably become well-known for those who have been using Selenium, Simon is the man behind WebDriver. The speakers pointed out that both systems are valuable, but both have different pros and cons.

While Selenium is a toolset with a wide range, Simon describes WebDriver as a “developer-focused tool for automated web apps testing”. They showed us a live demo with both tools, demonstrating the difficulty of key up/down/press operations with Selenium and how smooth it works with WebDriver. By the way: I belong to the people who had been driven nearly mad by this key problem…

The plan to merge WebDriver into Selenium 2.0 wasn’t something very new for the main part of the audience, I guess. But they explained why and what the advantages would be.

Strengths and weaknesses of Selenium are:

++ Easy to extend

++ Easy support of new browsers

– – Confusing API

– – Constrained by JavaScript sandbox

Strengths and weaknesses of WebDriver are:

++ Lovely API

++ No constrains by JavaScript sandbox

– – Hard to extend

– – bad support for new browsers

Jason and Simon showed one very attractive feature for those who already have many WebDriver or Selenium tests: By instancing a Selenium Class in a WebDriver test, you can use features of Selenium very easily, and vise versa. You don’t need to migrate old tests. So you (hopefully) have backwards compatibility for Selenium 2.0 / WebDriver.

For version 2.0, they will start co-hosting the code, merge developer and user mailing lists, and merge issue tracking.

An initial release will contain an “Uber-jar” file, which includes two API’s.

They will provide native support for Java, Python, Ruby and C#. And there will be contributions for PHP and Perl.

Beyond 2.0:

More clear design, divided into three parts:

1. Query

2. Execution

3. Interaction

For some of them, JavaScript will be useful, for some of them not. We will see how much Selenium code will remain in each section…

There were two more outlooks: One was mobile devices support, the other one was a WebDriver fork, developed by Opera.

What I missed was a release date for Selenium 2.0 :-)

The statement was like “we are working on it”. I hope it won’t last too long, because after this very entertaining talk I am very curious about version 2.0!

Joshua Williams and Ross Smith talked on “Score One for Quality”. It was on introducing games into working processes, in this case, into Quality Assurance, in order to fight frustration and demotivation. They shared their experiences at Microsoft with “42Projects”. It was focused on bringing back trust, innovation and play.

After a short game called “best bug story” they played with us, they explained why games are working: Because we belong to a generation of gamers. And because 81% of (IT?) business people are 34 years old & younger [oh dear, just 3 years to go…!].

Josh & Ross showed up the pitfalls when using games. There are situations where you shouldn’t play games. e.g. you shouldn’t play “who is the best for Steve’s job?” – when Steve eventually is not the best in this game, he -or you- might have a problem…

Interesting fact: Microsoft used games to review the Windows 7 i18n/l11n project.

Just my 5 ct. to add: Playing games was also a topic at the Agile2009 conference. And even though I actually cannot find it, there must be a book on Agile Games. In agile environments, playing games is a very useful tool. But I don’t agree completely with the speakers how to use games in a production process. But that’s another story, will be written maybe in a few weeks.

The last regular talk of the conference was on “Automated Performance Test Data Collection and Reporting” by David Burns and David Henderson (smartFOCUS DIGITAL). They pointed out how important a site’s performance can be for visitors, page impressions or consuming rates, e.g. 400ms delay may result in 5%-9% loss of consumption. They demonstrated their own solution for performance measurement and tracking, based on YSlow. YSlow is a free and very useful tool, developed by Yahoo. It’s a Firefox Plugin which interoperates with Firebug. With that tool, you can do some manual ad-hoc measurements. The speakers mentioned an interesting feature of YSlow, Beacon, which enables YSlow to send results as HTTP GET requests to an URL.

David&David used this to integrate YSlow measurements in their Continuous Integration environment and wrote a detailed web-based reporting and tracking tool around it.

Google Wave was also a big topic during the days – and we had the opportunity to test Wave in real-life conditions for two days. All the communication concerning GTAC can be found in the wave “group:gtacgroup@googlegroups.com” (you have to be a beta tester). They didn’t have to convince me – I had already realized before, which impact Google Wave will have. But there were many attendees who changed their mind while using Wave and seeing it in action as a collaboration tool. I think it’s even more than a collaboration tool, in my eyes it’s going to revolutionize all kinds of virtual communication.

But back to its usage as a collaboration tool, I want to quote Jason Huggins. He tweeted:

@jhuggins “awesome use of Google Wave @ gtac- A new wave for each talk at the conf. Now the community can crowd-source their note-taking.”

GTAC ended with a discussion in a very funny and relaxed atmosphere. Everybody I talked with was very happy about having had a very good time at Google with so many high-level quality talks.

So, I hope that rumors will turn out as right and the next GTAC will be located in Bangalore or Hyderabad, India.