Category Archives: Events

AgileCoachCamp Germany 2010 #accde10 – a reflection

Even though I have tons of work to do these days, I was very looking forward to being at JAX2010, and, before that, attending AgileCoachCamp Germany (ACCDE10), which had been organized by me and a dozen of great agile enthusiasts.

AgileCoachCamp is a series of open space unconferences, which are organized all over the world. You can find them in the US, in India, and next July there will be one in UK, as Rachel Davies announced at ACCDE10. This was the first which happened in Germany, by the way.

Being involved in the organization of the camp makes it harder to me to write something about it. Because it’s difficult to be objective. But: Do I *have* to be objective? No, this is just one of my favourite mindf…. concepts.

Ok, so here is my short, personal, un-objective reflection:

– I liked to be there over the weekend, because it freed my mind from day-to-day stuff and made it possible to step back and reflect on how I do my work and what/how I can improve.

– I met many people I like very much – and I was so happy to see them again. Some of them give me inspiration, some make me think about my personal perspective, from some of them I’ve learned new techniques, some of them make me just laugh (which is IMO not less valuable)

– I got in touch with many new people, and it was a pleasure to meet them!

– I had some very interesting sessions, e.g. the illustration & visualisation session with Christine Neidhardt and Joseph Pelrine, the session on retrospectives, which was moderated by Rachel Davies, where I got some inspiration for my own session on retrospectives at JAX Agile Day. “Out of the comfort zone” was another very interesting topic, brought up by John McFadyen, with a lively discussion about what the comfort zone and what the safety zone is (and whether there may be a “safe zone”, which is different from the safety zone). Joseph Pelrine’s session on self-organization (of course, from a western perspective) made me thinking about the Sanskrit term “Purusha”, which means -among others- the spirit of a group as an autonomous being. I’ll check this and maybe I’ll write something about the parallels of western group dynamics theories (as far as I understand them) and the spiritual Hindu perspective. Deborah Hartmann-Preuss gave a very insightful session on how their work as coach has changed the last years. Again, Christine Neidhardt gave us the opportunity to find out something about our character in HBDI scheme (that was much fun, but also a bit scary, because I found out that my character/mindset obviously has changed nearly 180 degrees during the last 10 years). Martin Heider initiated a session called “Sharpen the saw – how to improve as agile coach”, which is the topic I’m interested in the most. Did I forget any interesting sessions? Yes, probably. There were so many things to join!

– Christine’s Tai Chi Session reminded me being more in the body, not just in my head. Why the h… do I forget this simple but powerful truth again and again and again??

– I found out that beer-driven development and single-malt-driven development belong to the same family of techniques, but differ in details (by the way: Praise Joseph for inventing story pints instead of story points :)).

– I had interesting discussions on agile architecture and special roles in agile environments which helped me to analyze our own process and working environment.

– Even though I 100% enjoyed the camp, my imagination of a quite different unconference grew further by seeing my vague idea of what it might be, confronted with the reality. I still can’t express how it should look like, but after ACCDE10 I’m one step closer to a concrete idea (different story, separate blog entry).

– Open Space: Just to say it in three words: I *love* it! :-)

It influenced my own interactive session at JAX2010 very strongly, because I already knew in advance that I didn’t want to do a session which is well-prepared and has a fix agenda. But just after the camp I was able to let things flow very spontaneously – and visitors’ feedback to this format was very good. Again, a different story.

– Finally: Thanks a lot to Pierluigi Pugliese, who really challenged me with questions right after the end of the camp. We didn’t plan to do so, but it came spontaneously and was so valuable for me to get a clear perspective on some things.

To come to an end: Thanks to all who joined the camp, shared their ideas and gave their energy into it!

PS: If I’d live in the ideal world and I had one free wish, I’d appreciate if participants wouldn’t leave before the closing session. I know, sometimes you have to do so because of train/ flight timetables. But if you have the choice – then choose staying there a bit longer, as an expression of respect towards the facilitator & organizers. Thanks :-)

Session on Retrospectives at JAX conference 2010

Well, so much to do at the moment, that there’s not much time for blogging. :-/

But I’m looking forward to first AgileCoachCamp Germany 2010 (see article below) an to my interactive session on retrospectives at JAX conference, May 3rd. What makes me really happy is the word *interactive*, because I think this the way to do sessions and even talks on agile topics.

So I hope to see you there!

Wavemaking – gently creating radical change!

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.

AgileCoachCamp Germany 2010

April, 30th – May 2nd

Seminarzentrum Rückersbach, near Frankfurt / Main

For further information please visit

Scrum Day(s) Düsseldorf

I will be speaking on Agile Leadership at Scrum Day Düsseldorf.

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.

Furthermore, he will also be the keynote speaker on Wednesday.

For more information, see Scrum Day Website.

I’ll publish my slides online afterwards.

XP Days Germany, Day 2 (part1)

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?”)

Powered by ScribeFire.

XP Days Germany, Day 1

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.

Powered by ScribeFire.

GTAC 2009 – Lightning Talks

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:

When I wanted to publish my own slides yesterday, I had to face the fact that Philipp’s Macbook I had worked with, obviously hadn’t liked my talk and had erased everything except the master slide.

Don’t cry, folks, my slides weren’t on World Heritage List. I will write it down again and publish it here, with some additional comments to the slides.

GTAC 2009 – Day Two

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:

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.

So, guys, immediately stop thinking about firing your in-house QA people!

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.

Jeremie Lenfant-Engelmann, JsTestDriver, @GTAC09

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.

Online resources:

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

Jason Huggins and Simon Steward, Selenium / WebDriver @GTAC09

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.

Some guidelines for games:

– Set clear objectives

– Use rewards carefully

– Keep duration short

– Implement “Broad Appeal” mechanisms

– Focus on “Organizational Citizenship Behaviour” [what an expression…]

– Support

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.

As a special service for you, I looked for the documentation of this feature – and this is what I found:

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 “” (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.

GTAC 2009 – first day

So, first day of GTAC is over – I’m back in my hotel room, now doing some extra-work especially for you, after having had a workday of twelve hours. I’ll give you a short overview of the talks we had.

But let’s start with the most important things: Office standard and food (dedicated to Alex, just in case he reads this ;-)). Even though I thought, the Google office in Seattle could not be topped, I have to admit: I was wrong! This office in Zurich is so unbelievable, guys. They have base camp capsules from South Pole as telephone cabins, a library furnitured in Old-English style, an indoor jungle (sic!), a massage room, fitness center, gaming zone, … and amazing food (mostly organic). Wow, congrats to Google, you managed to impress me (against my will).

Ok, back to the conference: The first and main difference compared to the event in Seattle is that this a very small, intimate convention: They selected just 100 people from those who wanted to attend – 40 Googlers and 60 Non-Googlers. All the more I appreciate being here.  And in order to prove me a liar (see my last posting): During his opening remarks Jürgen Allgayer, Director of Engineering Productivity EMEA, explained in detail the criteria of the attendee selection process.

The keynote was held by Prof. Niklaus Wirth, creator of some programming languages. Here’s something of what he said:

– Theoretically, tests should tend to zero, because testing is always about finding bugs, not about preventing them

– Programmers should have a very, very deep knowledge of software design and systems

– Programs shouldn’t be dependent on underlying structures

– Universities actually don’t provide what a programmer really needs (mostly because professors stopped coding years ago)

My personal opinion concerning the last point: But companies mostly neither do! So, if they both don’t – what could be the solution?

The first regular talk was called “Precondition satisfaction by Smart Object Selection in Random Testing”, by Yi Wei and Serge Gebhardt from ETH University Zurich. It was on Random Testing, evaluated academically. They compared an “or” strategy vs. a “ps” strategy. “or” uses objects randomly to feed methods under test. The problem is that this produces many failures, because many objects don’t match the test case’s preconditions. In the “ps” strategy, there is a check if created object match the preconditions, and if yes, the predicate validation pool will be updated. They closed with a recommendation of using both strategies combined.

The next talk was on “Fighting layout bugs” by Michael Tamm, optivo GmbH. This is the talk I’ve enjoyed the most so far. He demonstrated very clearly a proof of concept, live demo included, on testing the layout of a web page. He suggested three ways of doing that:

1. Integrate HTML validation into your Continuous Integration environment (I preferred the suggestion of writing a seperate test for that). Use the W3C validation service, which is downloadable for free, so you can maintain your own validation server.

2. Also make use of the W3C CSS validation server (same way like HTML). To achieve this, styles must be written in a *.css file (I think you generally should do this!). If you start them with * html, the service is also able to deal with CSS hacks.

3. Use the fighting-layout-bugs library, which is actually a PoC, but as I mentioned, Michael did very impressing live demos.

So, what can be said about this library? It can be used for layout bugs which occur despite of having validated HTML and CSS. The principle on which it is based is quite simple: Using Javascript and Image Processing.

Example: Too long texts overlapping some edges.

1. use a jQuery expression, make all text on a page black, capture a screenshot.

2. use a jQuery expression, make all text on a page white, capture a screenshot.

3. Everything what differs on these screenshot, is text.

4. Let the text disappear, find out where on the page the edges are, take a screenshot.

5. Compare these screenshots, then you know if there are any overlaps. If they are, you have a layout bug.

6. Mark the layout bug with a red circle.

Please keep in mind: All this is done automatically.

Michael demonstrated the same thing with low-contrast-bugs.

It was really quite impressive, so much that the audience gave spontaneous applause to his live demo.

If you are interested in learning more, have a look at:


Then came a Googler: Nicolas Wettstein on “Lessons learned from testing GWT Applications”. First he showed that the massive use of web apps has introduced new challenges into programming and testing, because you have to re-invent all the tools you already have for desktop apps: IDEs, Debugger, Testing tools, etc.

Then he shortly explained  what GWT (pronounced “GWIT”) is – In brief: AJAX apps, written in Java.

This has the advantage of being

– versatile

– strongly typed

– i18n ready

– able to handle browser incompatibilities

Nicolas mentioned 5 Pitfalls related to testing GWT apps:

1. Complex asynchronous callbacks

2. direct DOM operation within the code (because Java cannot handle it)

3. mixing Java and JavaScript (same reason)

4. static / global access (oh, yes, the tester’s alltime favourite!)

5. no separation of concerns (mixing up domain logic, with services, views, etc.). He suggested an MVP solution instead of using the wide-spread MVC pattern. MVP means Model-View-Presenter. He also suggested to separate the services from the presenter logic in order to make things very clearly. In this case, the view communicates with the presenter level (not directly with a model, as in MVC). I hope I have written it down correctly – otherwise please give me a hint!

Furthermore, he mentioned a remarkable sentence:

“Software testing is not about writing tests, it’s about writing software that can be tested.”

Another talk (yes, pretty much stuff for just one day! :-))  was “Automatic workaround for web applications” by Alessandra Gorla and Mauro Pezzè (University of Lugano, Italy).

Here’s what they said:

– Assuming you make use of an external application on your own web page.

– When the external app has a bug, the classical approach is: Find the bug, report it, wait for bug being fixed, wait for a new version being released

– That costs much time, in the meantime your web site and your customer  have to live with the bug!

– The new approach: Runtime fixing.

– Automatically finding a workaround by using e.g. intrinsic code redundancy or equivalent sequencies.

– They provided a live demo, based on user feedback.

I liked the idea of using workarounds, even though it’s very academical at this time). But I’m wondering why they combined it with user feedback whether a workaround would be useful or not – instead of having an automated frontend test, which could check if a workaround is valid. In my opinion this would decrease the rate of false positives and would not mix two different problems.

The regular talks closed with Mark Micallef’s “Achieving Web Test Automation with a Mixed-Skills Team”. That was quite interesting because this was a talk very close to daily business. In fact, it was a case study on BBC’s web site creation and testing.

What Mark told us is also my own experience: Test Analysts have a completely different skill set and motivation than Test Engineers – and this is a good thing!

The more technical it is, the more a Test Engineer’s motivation will increase – and vice versa.

Beyond this, he described what actions he performed with his mixed-skills team:

1. Define Success (and failure)

2. Utilize Abstraction

3. Unify technologies (worth to remark that they have many technologies in their production environment: .Net, PHP, Perl, Java, Flash, … – but they decided to use just one common language for any automated testing activity: Ruby / RoR, with Cucumber as Behaviour Driven Testing Tool. That allowed them to write tests in good plain English. Something also Test Analysts and Product Owner can make use of).

4. Think about process – on a basis of the four testing quadrants (I think it was Lisa Crispin’s model).

I chatted with Mike during lunch and we had an interesting conversation about ATDD / BDD, DSLs and this stuff. Thanks a lot, Mike, it was a pleasure :-)

Last but not least in the evening there was an opportunity to give some lightning talks, just 5 minutes for each. There were eight slots, and I took this as a chance for curing myself of my most-favourite mindf***: Well, to be honest, it’s my fear of talking “officially” in English. Yes, it’s ridiculous, but it’s true: When I chat with other people in English, I really enjoy it and I don’t care if I make mistakes (neither when I write blog articles). But in some situations which tend to be formal, I’m convinced that I am not able to speak English – so this was a good challenge for me… ;-D And though I was nervous like hell and everybody in the room could hardly ignore it, I eventually managed talking about “5 ways to improve your developers’ sense of quality” (in Agile environments), in front of the audience. I hope it was not recorded. Now I’m convinced that, after a few more talks, I’ll love giving talks in English nearly as well as I already do in German. I can forget my fear – I’m over it, looking for a new one.

Slides will be published here – tomorrow, hopefully.

Well, these were Christiane’s adventures from GTAC 2009, day 1 – please stay tuned, more to follow!

GTAC 2009 in Zürich (Switzerland)

Actually I’m hanging around in my hotel room in Zürich, waiting for the GTAC to start. GTAC means the annual Google Test Automation Conference. It’s the fourth time Google hosts this conference, and the second time I’m attending (first time was last year in Seattle, USA).

The specialty with GTAC is a very typical Google thing: You just cannot pay for attending the conference – you have to ask them if they’d be so kind to invite you (fortunately, in my case they did…). And I guess the algorithm for inviting people or not is their second most carefully guarded secret after the Google Page Rank. :-/

Well,  however: I’m looking very, very forward to joining the GTAC and I think I’ll benefit a lot from attending – especially since this year’s conference theme is “Testing for the Web”!

So, stay tuned, more to follow tomorrow!



4th Annual Google Test Automation Conference
October 21st, 22nd, 2009
Zurich, CH