“Are you working as a tester or developer in your organization?” – Well, honestly this is a question I do not really have a good answer for at hand. I could say both, but that is sometimes bothering people as they tend to doubt this is possible. Another interesting question is the one about how many testers we have in our teams. Hm, none or let’s say the whole team. The best answer today to any of these kind of questions was given by my collegue Andreas : “We are working in projects where work has to be done and we have people doing this work.” Probably we are in a really lucky situation here as we have managed to spread the knowledge – and also the interest – for different tasks among most team members in our agile teams. This does of course not mean that we do not have core areas of knowledge or interest. But the roles needed in a scrum team should in my opinion not be assigned to fixed persons in a team, but there must be persons in the team that are able to fill out the required roles.
Quote from Twitter:
AndreasEK When can we finally replace “what’s the role of a tester in an agile context” with “what testing skills does an agile team need” #agiletd
Luckily there are as well a lot of other antendees with the same viewpoint here in Berlin. And we have had some very good discussions on this topic, which I personally find very interesting as a member of an agile team.
But now let’s have a look at the conference presentations of day one @ATD 2010 in Berlin …
Keynote: Agile Defect Managemant by Lisa Crispin
This presentation is timewise the longest in the past, so let’s see what I can still squeeze out of my brain. The questions is how much Defect Management is needed in agile teams and how big a tool do you want to “throw” at this problem. I found one point here especially interesting that a bug is not a bug if it is found during development in the same iteration. In such a case it should be simply fixed. I am especially happy as we do so already in our team and if a bug cannot be fixed immedietly then we put it to the whiteboard rather than into Jira if fixing it will still be part of the iteration. Of course there might be a need to keep track of bugs found in production as those can often not be fixed right away. Nevertheless one should rethink what possibilities there are in a team to keep track of these bugs.
Think of one thing your team can do to prevent defects, starting next week. – Lisa Crispin
It could be a full blown Defect Management System, which does not feel too agile. It could be Jira which is widely used in agile teams, but it can also be a note on the whiteboard or some automated test that has been written right away for this defect. As usual there are probably more solutions to this problem than one can see on first sight and teams (we) should not limit ourselves to what we think is the standard way of doing this. By the way: This fits perfectly fine with the presentation given by Rob Lambert and for that reason let’s jump to this presentation right away. Ok, almost right away as it must be mentioned beforehand that Lisa’s presentation can be downloaded here .
And more information on this topic can be found in the blog posts from Gojko Adzic and Markus Gärtner .
Structure kill testing creativity by Rob Lambert
Rob Lambert’s presentation was about creativity in agile teams and how powerful this creativity can be. Let’s therefore start with a very nice quote from his presentation:
Creativity is the process of having original ideas that have value. – Sir Ken Robinson
Basically there are four types of intelligence that can be distinguished (and not only for software development, but in everyday’s life)
- Academic Itelligence
- Creative Itelligence
- Practical Itelligence
- Emotional Itelligence
In the IT industry often only Academic Intelligence is really appreciated, while for example Creative Intelligence is something that should be left to the marketing department ;-), but that is wrong. Software development requires a lot of problem solving and in this creativity is often very helpful.
What is absolutly important for this is that people are encouraged to be creative. Some organisations and companies do the opposite by creating an environment of fear where people try to cover themselves as good as possible by following always all possible rules and not doing anything outstanding. This is of course a very bad thing to happen.
Self-education is, I firmly believe, the only kind of education there is. – Isaac Astinov
With agile we are trying to create an environment of trust where the team can come to creative solutions, by learning new things and working in small cylcles inspecting and adepting the work of the team all the time. Of course there is structure needed also in agile teams, but it should be as less as possible. Another blog post on this session can be found here.
Keynote: Deception and Estimation: How we fool Ourselves by Linda Rising
For me this keynote was definitly one of the highlights of this day together with Elisabeth Hendrickson’s talk that was so full of positive energy (as always :-)), but let’s continue first with Linda’s talk how we fool ourselves.
This was really one of these non-technical talks that give you some insight and inspiration not only for your working life, but also for your daily life and it will be almost impossible to put her presentation into this blog post properly as it was not only living from the topic as such, but also from Linda’s unique way of presenting it.
Linda was introducing her talk with the words that this will be the weird talk of the conference and that people will not like what they will hear in the next hour. At least for me this is not true I can say! So as software is developed by people, or to be more precise by people’s brains, it is definitly worth to have a look how our brains are working. And the first thing to start with is a defintion:
Deception: “Consiously or unconsiously leading another or yourself to believe something that is not true.”
The first good point here is that we deceive ourselves in the estimates we are doing in software development daily. But we do not believe that this is happening to us. Even if there are clear numbers and statistics people tend to believe that this is only happening to others but not to themselves. This is becaue we are optimistic by nature, we make emotional decisions all of the time and we filter out certain information we do not want to take. Linda was giving here the nice example of a questionaire among car drivers and whether they believe that they are exceptional good drivers. All of them responded that they are exceptional good drivers. Well, even those being in a hospital due to crashes they have been causing.
There are no facts about the future. – Linda rising
I really think it is very interesting to reflect on these things and to consider that one simply cannot avoid that this is happening for example in estimation meetings. It is not always only “the other” doing things wrong even though this is a nice thing to believe. (Of course I personally still think “the others” are doing things wrong more often ;-).) But getting the bridge back to agile one can say that estimation meetings are good because we have different persons there with different filters
estimating the same stories and tasks. This is at least increaing the probability to come to better results.
There is uncertainty in every project. – Linda Rising
And probably it is not really desirable to get rid of all this “protective mechanisms” and to see the world 100% as it really is (one nice guy from the audience was shouting “flat” in this moment, thanks for that one). But the only persons being totally honest with themselves are depressed or sociopaths … so not really what you want to be.
I personally always have been – and hopefully always will be – a very optimistic person at work as well as in my private life, but nevertheless I found it very very interesting to have a quick view “behind the curtain” and knowing this will give me at least the possibilty to reflect on these issues every now and then … well, hopefully.
Keynote: Lessons learned from 100+ Simulated Agile Transitions by Elisabeth Hendrickson
Elisabeth had the hard task to give the final presentation of the day when people are typically already a bit exhausted, but as already mentioned her talk was so full of great energy that she was having the full attention of the audience immediately after starting. The talk was about here experiences from over 100 simulated agile transitions. Unfortunelty I did not took the chance to join her tutorial where she was doing this, but I will do this for sure the next time I get the chance to do so.
Anyway the idea behind this is to divide the group into different roles like product managers, testers, developers or even computers. And of course there is also a customer and some work to be done. This work should be done in 15 minutes and then there is a reflect and adept session on the process and then there is the next 15 minutes simulation round. Typically there are up to four of these sessions during which the team is undergoing a lot of changes and is very often re-inventing a lot of ideas from the agile world (like CI and ATDD) to improve their way of working.
People add their own complexity and time pressure (to the simulation). – Elisabeth Hendrickson
Elisabeth was pointing out that every transition results in chaos (for a certain period of time). In the simulation this is typically the case in the second time the exercise is done. But this is ok as it will be passed by. It is also often during this phase that people have the feeling that they are lacking control and even want to have (back) their good old project manager as a role in the team. But it is not control what people are lacking, but visibility and this is what agile methods can give them.
Don’t use communication solutions for visibility problems. – Elisabeth Hendrickson
It can also be seen very well in this simulation that already small changes in the physical layout can make a huge difference in the productivity. Other important findings are that one should not think that daily standup meetings are status meetings and that tests can be used very good as an alignment tool. Because by looking at the team’s automated tests – that ideally are written in BDD-style syntax – one can check right away which functionality has been implemented and is working fine.
There was a lot more in this session and one also have to say that the slides have been great with all the little figures arranged there as team members performing certains tasks, but I cannot really recap everything here, especially as there was some good discussion evolving around the whole topic after the presentation was finished – despite the late time.
As I really like the Robot Framework and are very convinced it has really very good concepts I am of course very happy to meet Pekka, Juha and Janne here. They have been giving a tutorial on “Executable Requirements in Practice” using the Robot Framework and Pekka was also giving a presentation today about “Acceptance Test Driven Development using Robot Framework”. I liked this a lot even though there was not too much new things for me in this. In addition I felt a bit exhausted as I had just finished my own talk about “Testing Web Applications in practice using Robot Framework, Selenium and Hudson”. I really enjoyed giving this presentation a lot and of course I hope the people attending it did so as well.
I am looking forward to tomorrow’s presentations and should try to get some sleep now as the conference day is starting tomorrow morning quite early with some running at 7am. So just in case someone from the conference is still reading this and is having her or his running gear at hand just join us (Andreas and me) in the lobby tomorrow morning. Good Night Berlin!
Besuch beim Europäischen Go Kongress in Oberhof
Am vergangenem Wochenende habe ich die Chance genutzt und den europäischen Go Kongress in Oberhof besucht. Bevor es hier zu Verwirrungen kommt – wir sind hier ja auf einem IT-Blog – es geht um das Go-Spiel und nicht um die gleichnamige Programmiersprache...
3.8.2017 | 5 Minuten Lesezeit
JUnit Tests implementieren mit Mockito und PowerMock
Please find an English version of this blog post here. „Braucht die Welt wirklich einen weiteren Artikel über JUnit , Mockito und PowerMock ?“ Ich hatte da durchaus so meine Zweifel vor dem Schreiben dieses Artikels. Denn es gibt im Netz wirklich ...
25.5.2017 | 7 Minuten Lesezeit
Testing Web Applications with JBehave, PhantomJS and PageObjects
Testing web applications is the one thing that could be really really painful. Nevertheless typically there is no way around it when implementing web applications. Luckily the selected tools and applying best practices can help a lot to improve in this...
16.7.2015 | 9 Minuten Lesezeit
What is Agile Testing? – A comparison with classical QA
When reading articles about Agile Testing the explanation often goes like this: Agile Testing means testing in an agile project environment. Followed by a lengthy description of what agile is (or is not). Hardly any further word on the testing aspect...
29.6.2014 | 7 Minuten Lesezeit
Struggling with Test Automation – Potential problems and how to approach...
Implementing automated acceptance or integration tests as part of a project is a very common thing to do nowadays. Even though already in “the earlier days” of software development often some scripting was done to automate certain testing functionality...
11.4.2013 | 10 Minuten Lesezeit
MongoDB: The Sixth Sense
Finally time for the almost final blog post on this series. It is the sixth lecture from the MongoDB course I am doing at 10gen education . As it is good tradition by now using film titles for the blog I will of course keep up this tradition . Nevertheless...
21.12.2012 | 11 Minuten Lesezeit
MongoDB: Supplemental – A complete Java Project – Part 1
What is the best way to start a blog post on MongoDB and Java programming? Any idea? Take your time, it also took me some time to figure out. And the answer is: Some really big relational table model of course :-). Relational Table View After being ...
16.11.2012 | 13 Minuten Lesezeit
MongoDB: Close Encounters of the Third Kind
Just with the first key strokes of this post I am entering the third week of my MongoDB developers course @ 10gen . Luckily I found another film title that fits in here, well one way or the other . Writing this blog series along with taking the lectures...
11.11.2012 | 15 Minuten Lesezeit
Robot Framework Generic Testdata Framework – From the Idea to the initial...
The basic idea for a Generic Testdata Framework as an extension to the Robot Framework was initially described here . Well, things have been proceeding since then and there is an initial release available for download. This is more then reason enough...
4.10.2012 | 4 Minuten Lesezeit
Robot Framework – Closing the Gap
Ever since I started working with the Robot Framework – already back in the days when I saw it evolving in the Nokia R & D – I am totally convinced of the power of its keyword-driven approach. It is an excellent example of the fact that the best solutions...
6.9.2012 | 8 Minuten Lesezeit
Automated Acceptance-Testing using Concordion
There are plenty of open-source tools available that are supporting the automation of acceptance tests. This also results in a lot of different concepts to do this. For example the Robot Framework is using a keyword-driven approach and offers a lot ...
- Software development
27.1.2012 | 8 Minuten Lesezeit
Executing tasks in parallel using Java Future
Recently I was attending a really interesting presentation by Adam Bien who was using Future as part of his demo application. Future offers a very elegant way to implement parallel execution of tasks in Java. As I found the concept quite interesting...
13.10.2011 | 5 Minuten Lesezeit
Robot Framework and RIDE – To Go
The Robot Framework is a mature tool to implement automated tests. With the help of the GUI application RIDE (= Robot IDE) and supported by its keyword-driven approach even less technical oriented people can start implementing testcases quite quickly...
1.5.2011 | 3 Minuten Lesezeit
Automatisierte Akzeptanz-Tests mit JBehave
Einleitung Im Open Source Bereich haben agile Teams mittlerweile die Auswahl zwischen einer Vielzahl von Werkzeugen für die Automatisierung von Akzeptanz-Tests. Dabei gibt es eine ganze Reihe unterschiedlicher Konzepte. FitNesse setzt für die Organisation...
25.3.2011 | 12 Minuten Lesezeit
Robot Framework – Feature gefunden :-)
Passend zu Ostern bin ich gestern im Robot Framework genau über das Feature gestolpert, dass ich schon immer vermisst habe und welches dabei schon die ganze Zeit da war … aber eins nach dem anderen. Bei automatisierten Tests ist es eigentlich fast immer...
1.4.2010 | 1 Minuten Lesezeit
Agile Testing requires good Design
Automated tests are of upmost importance in agile projects. And automating tests means that those tests are developed; in a similar way than any other software is developed. This is a fundamental difference to manual testing, where tests are executed...
25.3.2010 | 3 Minuten Lesezeit
Database Library for the Robot Framework
We are using the Robot Framework for quite some time now for our automated acceptance tests with very good results. Personally I am using the Robot Framework already for a bit longer time and I find its fundametal concepts really extremely convincing...
27.2.2010 | 2 Minuten Lesezeit
Selenium and SSL Certificates
Selenium is a very efficient tool for testing web sites. The Selenium-IDE , that comes as a plugin to Firefox, makes it easy to record the required steps of a test. And to achieve real test automation Selenium is often integrated with some agile testing...
5.2.2010 | 4 Minuten Lesezeit
Selenium – Last Resort
14.12.2009 | 2 Minuten Lesezeit
Continuous Integration im Überblick
„Ihr seid doch agil, benutzt ihr auch den Hudson?“ Das ist eine gute Frage, die man – so oder so ähnlich – immer wieder von Leuten hört, die durchaus an agilen Themen interessiert sind, sich aber noch nicht wirklich weiter damit beschäftigt haben. Aber...
8.11.2009 | 5 Minuten Lesezeit
Pattern Matching – Java im Vergleich zu Perl
„Perl is born to pattern match.“ – Ich denke das kann man ohne Übertreibung so schreiben. Perl löst dieses Problem einfach extrem effizient und elegant. Das folgende kleine Skript zeigt ein paar Beispiele für reguläre Ausdrücke und deren Anwendung in...
30.10.2009 | 4 Minuten Lesezeit
Agile Testing by Example-driven Development
Agile Testing Days: The Missing Link for ATDD and Example-driven Development by Gojko Adzic This posting will be a small experiment using Twitter. As Gojko’s session was one of the most commented ones on Twitter I just distilled this blogpost out of ...
13.10.2009 | 2 Minuten Lesezeit
Testing Days Berlin – Key Note Mary and Tom Poppendieck
The One Thing You Need to Know … About Software Development Correctness can be confirmed at any time is the subtitle of Mary’s talk and it start off with the clear statement that Waterfall does simply not work. So let’s hear what works :-). The question...
- Software architecture
13.10.2009 | 5 Minuten Lesezeit
Agile Testing Days: Learning is the key to Agile success: Building a learning...
This was really an excellent session and it was especially great as the things teached do not only apply to one’s professional life, but can really be useful beyond. Probably I still have to do some thinking on this, but here is what I was able to note...
- Agile methods
13.10.2009 | 2 Minuten Lesezeit
Some days ago I checked the Google Testing Blog for some interesting new articles when I saw the article about Super Fast JS Testing . Well, basically I have to say “again” as I had read it already some time back, but had no time to really dig into ...
8.9.2009 | 3 Minuten Lesezeit
Eclipse: Resource is out of Sync (no more)
Probably everyone working with Eclipse knows the following message that shows up when a file that belongs to the Eclipse workspace is changed outside of Eclipse: Resource is out of sync with the file system: '' Press 'F5' or select File Refresh to refresh...
20.8.2009 | 1 Minuten Lesezeit
Code Metriken auswerten mit Sonar
Code Metriken sind ein Bestandteil der Qualitätskontrolle für Software-Projekte. Jeder hat vermutlich auch bereits einmal Tools wie Cobertura , FindBugs oder auch Checkstyle eingesetzt. Sonar vereint die Funktionen dieser (und weiterer) Tools zur statischen...
20.8.2009 | 2 Minuten Lesezeit
Agiles Testen – Das Herzstück agiler Softwareentwicklung
Agile Softwareentwicklung … Agilität hat zu einem neuen Ansatz in der Softwareentwicklung geführt. Der Kunde – und damit die Kundenwünsche – stehen nun wesentlich stärker im Mittelpunkt des Entwicklungsprozesses, als dies bei eher traditionellen Methoden...
- Agile Methoden
4.8.2009 | 6 Minuten Lesezeit
Dein Job bei codecentric?
Agile Developer & Consultant (w/d/m)
An allen Standorten
Gemeinsam bessere Projekte umsetzen.
Wir helfen Deinem Unternehmen.
Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.
Hilf uns, noch besser zu werden.
Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.
Do you still have questions? Just send me a message.