The post is Part 1 of a two-part blog series on changing tester skillsets written by Craig Smith, an Agile Coach in Suncorp’s Business Services division.
Imagine this scenario. You are standing in an elevator with a senior manager and on the ride to the ground floor, after the usual pleasantries, the manager asks about what you are working on at the moment. Depending on your role, the conversation might go a little like this:
Developer: We are implementing that new web site functionality using the flux capacitor add-in we developed this week, and we anticipate the increased speed will increase customer retention by 10%.
If you are a Business Analyst, the conversation might go like:
Business Analyst: We have been looking at the idea for adding that new product line to the website and think it should exceed our first quarter targets!
And finally, the conversation with the tester might sound like:
Tester: We discovered 6 new defects today!
Manager: (coughs) OK?
The “speed to cool” is a term that originated in marketing to describe the interest that somebody has in your elevator pitch by measuring how long it takes them to say the word “cool”. Developer and analyst roles are often well understood by management and linked directly to the delivery of business value, but testing is often just seen as a necessary evil. As a testing community, we need to change the perception so that we are seen as “cool”, particularly as more organisations are trying to find success with Agile methods that put a large emphasis on quality.
What is Cool About Testing?
Most testers who care and are passionate about their craft already know that testing is the coolest job on the planet. The challenge is to ensure that the coolness is infectious so that we can attract new recruits to the role.
The problem the profession faces is that currently we are not attracting enough young people to the testing role. Partly this problem is due to the fact that most universities and colleges don’t offer specific classes (let alone an Information Technology major) in testing, which results in business and technology graduates being attracted to the key roles of developer, business analyst and project manager. As a result, often testers are recruited from key business users who understand the system inside and out or software developers that show a passion for quality.
Interestingly, since 2002, the popularity of forensic science degrees have tripled due to the popularity of television series such as CSI: Crime Scene Investigation. If you think about it, testing is software CSI, going to the scene of the crime, investigating the scene thoroughly and collecting evidence. Software developers are innocent until proven guilty, and as testers we are the Gil Grissom’s and Horatio Caine’s of software development. How cool is that?
One of the challenges in modern Agile teams can often be reminding employers that testing is still an important skillset. Test automation frameworks and continuous integration which are often implemented and maintained by software developers can give the incorrect illusion that they can pick up all of the testing effort. Developers are good at seeing code through rose-coloured glasses, and their tests are very good at testing the happy path scenarios. Whereas testers are very good at seeing the sad path as well as the edge cases around scenarios (and this is often where the defects are normally found!)
Testers Complete the High Performing Team
To create a high performing Agile team, a lot of collaboration is required. Good requirements elaboration comes from collaboration between the business and developers. Good acceptance criteria comes from collaboration between the business and testers. Good automated tests come from collaboration between the developers and testers. A high performing Agile team comes when all three roles are collaborating together.
One of the challenges when it comes to collaboration on Agile teams is that testing is no longer the domain of a quality analysis team. It is everybody’s responsibility. This collaboration and responsibility means that each of these key roles needs to expand their skillset.
For developers, one of the key changes over the last ten years has been an increase in testing, which has been fuelled by the introduction of xUnit and open source functional testing frameworks and approaches like continuous integration. As a result, developers have moved their skillset to include more testing skills. With the increased usage of automated testing frameworks, testers now need to have increased technical skills and a basic understanding of the architecture of the system under test. Business analysts are in the perfect position to assist with user acceptance testing, especially due to their relationship with the business and collaboration with the developers and testers.
The Changing Skillset of a Tester
Agile testers are like Robocop: part man, part machine, all tester! The new generation of tester needs a wider skillset than ever before.
- Collaboration: Working closely with analysts and subject matter experts to ensure that testable acceptance criteria are created for all stories
- Estimating: Involved in developing estimates for projects at a story level, for tools and infrastructure and also for deployment/release activities
- Recruitment and Development: Attracted to an organisation because testing is considered a cool career path that offers a variety of opportunities and a way of continually developing my skills
- Reporting: Providing metrics that give insight into project health and system quality, not just numbers of defects
- Agile: Understanding of Agile project delivery and the differences between testing in the different phases of a project
- Qualifications and Training: Recognised qualifications in testing and continually updating and maintaining skills
- Architecture: Understanding of the system architecture and able to create tests that verify individual components and the system as a whole
- Development: Taking an interest in development practices and able to monitor code quality metrics
- Community and Teams: Part of a community of testers that are embedded within teams but share common values
- Tools and Techniques: Use of both manual and automated techniques using the preferred testing tools based on the situation
- Strategy and Planning: Involvement in a project at all stages to ensure that testing provides the greatest value and ensuring quality objectives are achieved
- Automation: Work with developers to automate tests that provide business value and identify system risks
Get Forensic on your Skills
The challenge for testers is to take a good look at their skills and their current development plan and ask the following question: Do I have a testing skillset (or am I just doing testing)?
There is a wide variety of good resources available to assist testers to get to the next level, and many employers are looking for resources that meet these new skill levels. A combination of traditional testing knowledge along with an understanding of technical approaches and new approaches to test automation are a great foundation for the next generation tester.
Increased Speed To Cool
The journey to make testing cool really depends on the skillset of your entire team and the Agile maturity of the organisation. The next time you are riding the elevator with your manager, think about how you can make the testing role more interesting and ensure you can get them to say… cool!
In a future article we will take a further look at some of the tools and techniques you can use as a tester to help increase the understanding and maturity of quality within your team.
Craig Smith has been active in the IT industry for over 15 years. He has been an agile practitioner for over 10 years and is a Certified Scrum Master and a member of both the Scrum Alliance and Agile Alliance. He is currently working within Suncorp’s Business Services division as an Agile Coach, on a number of high profile technical and business projects. He is a regular trainer for the Agile Academy and has presented at a number of international conferences such as Agile 2008, Agile 2009, Agile 2010, Agile 2011, Atlassian Summit, ASWEC, CITCON, Agile Australia, STANZ and OSDC. You can find his blog at http://cds43.wordpress.com or on Twitter at @smithcdau.