This was the opening keynote of the conference, done by Johanna Rothman (@johannarothman). Johanna was so nice to publish her slides on slideshare, find them embedded at te end of this article.
Johanna started the talk by taking us with her in her wayback machine to the 70s, when the Star Wars movies have been made, and there have been no dedicated testers, and when developers where used to test their own code (which might seem astonishing for us today). She stated that following these practice, developers fell into their own traps, and that they have been good in testing own stuff that works, and they have been good in testing other´s stuff that doesn´t work.
Johanna pointed out that adding testers means that two persons are doing the same job. Further more it raises the question, if the second person is a professional? In addition: Shouldn´t computers do the testing?
Then we made a move forwards with the wayback machine towards the late 80s, where according to Johanna there have been two camps of people: developers and testers. For testers it was mandatory that they where able to read and write at least a little bit of code. According to this, managers should hire testers that are willing to learn and grow.
Next move with the time machine, and we ended up in 2003 where Johanna published the article “No more 2nd class-testers”.
She told about an experience with a manager she made back then who stated that he had only world-class developers on the one hand, and on the other hand had only terrible testers, without any exceptions on one of the sides.
Johanna states that to make first-class people out of second-class people, it is essential that they are included in:
- Requirements- and Design-Meetings
- building up real domain knowledge (vs. fungible knowledge)
- Pairwork (instead of following a waterfall-ish process)
Interpersonal skills are also very important, e.g. talking to people. As developers understand their domain very deeply, testers should talk to them.
“First class testers are agile tester”, but Johanna stated clearly that all what makes a good tester should be common sense, and that first-class tester not necesseraly have to been agile.
In agile, everyone is developing the product:
Everybody has code, some have code that ships (tester, programmers (what she calls “developer-developers”, documentation guys).
The whole team works together:
- creating the product backlog
- estimating the backlog items
- creating & verifying the acceptance criteria
- konwing about the meaning of “done”
- participating in the demo meeting
- as well as doing retrospectives
All of this is about a working product!
Agile is not all about the development (=programming)!
But what about the managers? Johanna points out that we need managers and leaders.
For her, Agile Test Managers are leaders, it´s their job to
- set the strategy
- remove (organizational) obstacles
- build trusting relationship
It´s their responsibility to do the stratetigally important work. If they´re not doing this (e.g. to take decisions), they´re creating “management debt”.
Also the management should work in iterations, this e.g. allows them to set the strategy and remove organizational obstacles.
Removing organitational obstacles by leaders e.g. means to get rid off individual reviews, which no longer fit the concept of agile team work, instead they should
- build trusting relationships
- share strategy
- share profits
- give the team a team bonus (and the team then decides who gets what)
Trustfully relationships are very important, because what keeps people in their jobs is trust.
Manager becoming champions means no micromanaging of people and their tasks, meeting often enough (one-on-one) with employees to build trusting relationships, which allows managers to see the system.
Also very important are feedback and meta-feedback, Johanna points out, that you shouldn´t do evaluation for praise, but for feedback (and when doing so, you should consider the general feedback rules). In agile teams, feedback is essential.
About coaching and meta-coaching, Johanna points out the following items:
- not just teaching, but offering options, in combination with support
- leaders should not just be a coach to the team, but should also be within the team
- you should ask for coaching
- and you should learn how to give coaching
- ideally, a manager is able to do it.
Furthermore, also career development is a management skill, as well as building organizational capacity, which means knowing your organization´s velocitiy, removing system obstacles as well as reorganizing when the team is stuck.
One bareer to increasing capacity is multitasking. People aren´t ressources, and people aren´t machines.
Another task is to lead the hiring efforts, and here the team should be involved.
Communities of practice are needed for testers, architects, programmers etc.
You should try to do things with people, instead of doing everything with tools.
Final conclusion: Agile creates conditions for first-class testers and first-class leading managers!