If you are familiar with scrum – then I recommend that you give the scrum guide a read. This documents the scrum framework and is maintained by Scrum’s creators, Ken Schwaber and Jeff Sutherland.
While reading through the latest revision of it (on page 6) it has a section that specifies the characteristics of the development team. One sentence that stood out was the following
“Scrum recognizes no titles for Development Team members other than Developer, regardless of the work being performed by the person; there are no exceptions to this rule;”.
It goes even further…
“Development Teams do not contain sub-teams dedicated to particular domains like testing or business analysis.”
This was the first time I had seen this and led to an interesting thought… on the current team I work on we have 4 developers, 1 scrum master, 1 product owner and 2 testers…. should I fire our “testers’ and replace them with developers.
The advantage of everyone having the same title
One advantage of everyone having the same title is the emphasis of cross functional teams – I see benefits in this including reducing the bus factor of a project. Also, if we embrace the concept that we are all developers, but that we also need to do testing – then we all need to be capable of testing an application, which would lead to a better rounded developer / individual – one who is able to critically look at a situation and try poke holes in it and stress test it yet is also capable of developing.
Also, this would reinforce the concept that the team is equally accountable. If something fails, it would not be the testers problem or the developers problem, but the teams problem… everyone equal including equally accountable.
Is it possible to have developers testing software?
So is it really possible to have developers testing software? I posed this question to a friend of mine who has been in the industry for a while and this was his response…
From experience though, you get people who have a testing mindset, and you get those that don’t. I am sure that to an extent the skills can be taught, but certain personality types are better predisposed to making good testers. A good tester *wants* it to break, on some level. I am not sure how you get a developer out of that ‘happy path’ mindset.
I tend to agree with him, that really good testers have a certain personality trait, just like really good developers have certain personality traits. However, I think it is possible for developers to learn how to do testing… I mean, it was just a few years ago when I would write an entire system without any test code… now days I am throwing all sorts of tests at it like unit tests, and integration tests – not necessarily because my personality suits this, but because I realize the importance of these tests and have learnt different approaches from conferences and training courses that show me how to write good tests.
What happens to our testers – Do they add value? Do they need to learn how to develop?
What should we be doing with our testers now? They definitely add value to the team in their current form. Do we try and make them developers? The reality is that they do not want to be developers, and I am pretty sure if we tried they would probably quit.
Do we pretend to call them something they are not – so do we have an internal joke where we give them business cards with the title developers and snigger every time they make the claim? There is as much value in that as upgrading out machines by simply renaming them from I5 to I7’s… it doesn’t help one little bit unless the machine can perform as an I7. Likewise, changing the title of our testers to developers adds no value unless they have the capability of doing that.
So, I would like to know, what was the real motivation for giving everyone the same title in the team, what do you think, is this a good idea?