Co authored with Brian Osman
Often at Tyro, we’ve thrown a tester into a team with developers with little structure. The testers and their teams are encouraged to make their own process. I’m tempted to call this free range testing (hence the title of the blog), it’s like letting the tester roam free to see what happens.
We acknowledge that there are no best practices, testers use the context of their team and their risk radars to drive their testing efforts. Testers have different interests, skills and risk radars and this feeds into their unique way of testing. We also acknowledge that testing is a team effort, the tester is a positive influence in their teams testing approach/culture.
This was also stressful, my first 3 months felt like I was drowning and many testers sympathise with this feeling. There is the information overload of working in a new company, often a new industry for most new testers and there is also the stress of trying to figure out how to add value to the team/company. The lack of structure compounds the “sink or swim” feeling. Around this time, I was struggling with a nerve injury and a relapse of depression.
We’ve tried different approaches to ease that stress, some testers may spend a week or two getting familiar with the context of Tyro before being dropped into a team, we now mimic part of the Developers on boarding process too. I’ve recently been pairing for a few half day sessions with a new tester to help them get on board; to help navigate the language, tech and business context. I also get to expose this new tester to my attempts at influencing the testing approach within my team. fresh meat, mwuhahaha.
We have moved from having the test team being outside the engineering practice, isolated and a gatekeeper to being embedded within the engineering practice; where the tester is the champion of testing for their team. We couldn’t have done this change without Anne-Marie.
Champions of Testing
By definition, a champion is someone(s) who;
enthusiastically supports, defends or fights for a person, belief, right or principle.
Each tester is a champion of testing by becoming a champion for testing. By the value of work that is undertaken and the value added to their delivery team, a tester can very quickly increase their credibility. As an oft-times lone tester amongst developers, the credibility card should not be underestimated nor discounted. Increasing credibility and value can help a tester champion (that is to say enthusiastically support, defend or fight) the idea that testing is important and vital to modern software development.
When we talk about testing, we are meaning software testing which in one form is;
executing a program with the intent of finding errors” (Myers, 1976)
“… a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimise the value of her work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project.” (Kaner, 2006).
At Tyro, the encouragement is for testers use their personal freedom to continually optimise the value of her work or in other words, become context driven. The context allows the tester to optimise their approach to testing in both an individual sense (for example exploratory testing, using scripts, tools, test cases, scenarios or whatever may be useful) and in a team sense (for example test strategies, processes, developer tests, team quality and so forth). By so doing, the Tyro tester champions testing by the valued added work that they do.
In a larger sense, a Tyro tester is also encouraged to contribute amongst the tribe(s) and Engineering as a whole. This may be achieved by the work done in different guilds or being involved in different initiatives. A tester may also deliver compelling tech talks which in turn help increase their standing within the engineering community. This helps fuel a testers sphere of influence and thereby championing testing.
Sometimes though a tester may need to be more forthright in their approach with the team by advocating for quality or taking lead in different initiatives. A example of this was the Java de-serialisation issue whereby Marina (as a member of the security cabal) and working alongside developers, took the lead in making sure that the various team areas this issue touched was tested by the appropriate tester. In this sense, the test team championed testing together with the work by the developers and helped provide a Tyro solution.
So why would this be considered championing testing? Unlike some places, Tyro gives people the opportunity to really use the skills that they have acquired and to be able to use them in a way helps the engineering aspects of Tyro to grow. Most often, Tyro will turn a typical corporate blame game sessions into meaningful and value learning sessions and this, alongside, the test work performed by testers, makes for a wonderful opportunity to showcase (or in other words champion) the value a tester can bring to a Tyro world that is predominately developer focused. Thanks to this and the guidance given at a test practice level, champions of testing is encouraged and ultimately allows a Tyro tester to produce their, valued approached to their team (aka free range testing).
In this regard, it has to be acknowledged that champions also included senior management who encouraged and led the idea that testing is absolute to helping good development to flourish. With the drive and encouragement from the top, Tyro has a culture of advocating quality and of the tester producing the best work that they can.
Formality and Ceremony vs. Freedom and Responsibility
In most companies that I’ve worked in (well, the larger ones anyway), there has often been a marked dependency on formality and ceremony. In one large 200+ tester shop, the formality that was determined by the development model, the high degree of separation from developers and over reliance on a large, expensive test management tool (as well as leadership from a mostly non-test, very conservative senior management group) meant that formality was the valued ‘value’ for that testing practice. Along with the formality, the ceremony required to either elicit requirements (as in elicit the requirements NOT stated in the functional specifications or test the words that were written) or present the screeds of artifacts that had to be producedto satisfy the development model, often meant that testers were relegated to writing and template filling as opposed to actual testing. I saw first hand the efforts put into creating documents outweighing the efforts put into actual test activity. As one of two senior managers who had relevant testing experience, the ability to make significant changes was hampered by the culture of the environment.
When i compare this with the culture at Tyro, it is like comparing night and day. The testing culture within Tyro lends itself the other way – towards freedom and responsibility. Now that is not to say that its chaos – from it. A culture of freedom and responsibility still requires guidance, process, frameworks if you will. The greater the freedom someone has, the greater the discipline that is required. This is essential in the current testing climate at Tyro whereby the testers have the freedom to determine the best approach to testing that will add value to their teams. Thankfully, we are not bound by some archaic, test management tool driven process but rather by what approach will best suit. In this regard, it was absolutely vital that the overarching culture allowed this happen otherwise great testers may not have had the opportunity to flourish.
Tyro has a culture of trust. I imagine this is one of those things that is easy to say but hard to live. There is no one asking me to justify my work. It’s up to me to create my own testing process with my team. Each tester has to come up with their own testing process. This can be stressful because it feels like no one is providing any guidelines or approach. The lack of formal structure is nerve wracking because that structure in a previous context use to be a comfort. That structure helped me to understand where I stood. I had to figure that out on my own at Tyro. We trust everyone to make their best effort with the information they had at hand, we don’t blame people when things go wrong but everyone does jump on board when trying to fix something.
Tyro is a unique environment. It is a disruptor in the marketplace and it is an innovator on the testing front. Whilst most banks favour, formality, and heavy weight process and artifact based testing, Tyro aims to produce the best work available through activity. Working alongside developers, questioning the product, looking for leanness and efficiency, adding value and bringing a context driven approach to testing. It has not been an easy road. It has taken alot of encouragement (via coaching) to produce good testers (and in some cases, outstanding testers) with the courage to create, innovate and articulate their own methods.