December 7th was the first day of continuous integration. When the day started, we had three locations: A Dev server, a QA server, and a Prototype (Client Demo) server. As a tester, I can see the builds created, and push them to production. Then the stories that are waiting for me automagically move to Accept or Reject for me. This is pretty swift use of Hudson if I do say so myself. Now, I’m not the person who set this up. Instead, I’m the tester who can now pull myself a nice build, test some acceptance level basics, run through a couple of important fixes, and make a decision about when to push this build to the client (Prototype) folder. The build selection isn’t final though, as I have full power to roll back to an earlier build should the need arise.
After several weeks, I’ve loved having the power to get new testing builds. The developer who made this happen is someone I consider very test enlightened. He not only gave me ideas of how to automate what I’m currently doing manually, but understands why it is bad for the team if testing is blocked.
I had a great time presenting at QASIG in Seattle last Wednesday on Pairing Programmers with Non-Programmers and/or Testers Part 2. The recording is available and also the slides. You can’t see the slides in the recording, so it’s a bit odd to just watch as you sort of need both the slides and the talk for an approximation of being there.
Drama Causing Topics
I touched on three topics that I’ve nicely avoided getting into here. One I think I will broach. That is how the intent of the Agile Manifesto has been turned into a way to justify blaming others for “imperfect requirements” rather than using collaboration and critical thinking to improve the requirements. It isn’t a lack of tools causing requirements gaps. It’s a lack of responsibility and commitment. It’s the new “us and them” a new silo. This isn’t what was intended, but it makes sense that when a team perceives others as “outside” that this sort of intentional improved focus by cutting out important items is just another example of inattention blindness.
Another little hidden secret is my distain for the mandate that “All Testers Should Code.” Generally this means to those who say it, “I will hire only those who code in my language and speak my language because everything important is obviously in my language, which is the best.” I prefer not to work with ego-centric folks who are too lazy to understand anything that isn’t easy for them. Imagine if they decided anyone with an accent was too hard to understand? That wouldn’t even be legal. However, their elitism is totally legal if they apply it just to the code. It doesn’t make it a good way to categorize, pick, or eliminate employees, but there is one advantage. They do self-select. When companies do this, some types of testers will simply never apply. I work for clients whom I like and respect. If the becomes untrue, I spend some time without work until it can become true again. I’m not saying that I have the same beliefs as all of my clients, because I don’t. Only that I don’t consider any of them willfully ignorant. When I know of companies who believe all testers should code no matter what they do, I imagine willful toddlers. Spoiled, intentionally immature, elitist people who are unwilling to understand another skill set. I do mourn the loss of what that does to a potentially rich and diverse learning culture. Mandates and absolutes are so ugly. They are a true limit to learning. What I mean by a true limit to learning, is that time and money aren’t the only enemy. By insisting on hiring one TYPE of skill sets you eliminate entire categories of people. If you insist on coding on a whiteboard as a hiring criteria, you automatically define you will get no better than 2nd tier testers. The aspiring developer who doesn’t always have passion for testing. I’m really enjoying seeing small companies, charities, and startups reap the rewards of the cast off pile that large companies missed out on. Adam Goucher told me, “I’m not a good employee anymore.” Basically, I get it. He’s super talented. He doesn’t need his skills to be wasted by people who don’t even bother to understand what he does.
Then we have Marlena C and Matt over at Mozilla. Really unique perspectives. Testers I’d totally dig working with. Apparently in terms of leadership at least, Ebay gets it. They snagged Jon Bach. I’m also talking about Lisa Crispin, Dawn Code, Johnathan Kohl, Selena Delesie, and Fiona Charles. Not all of these folks would certainly be independent and/or working for small companies if testing were amazing and full of learning, freedom, and opportunities at big companies. I still cringe at the useless “SMART” goals that link up into “Initiatives” having nothing to do with real useful value delivered to clients. The endless side projects and political one-upmanship that kills team momentum. However, we start to also see small teams inside of big companies bursting free of the overall culture as well as these small indy companies and those working for small companies! Nordstrom Innovation Lab, FINALLY seeing Ben Simo happy on a team.
So, to summarize, when I hear large companies lamenting that smart people, especially CEOs, aren’t interested in the testing that they are doing, and assume as a result, that all testing must be dead, I’m not at all shocked. First off, when were executives ever interested in testing? I don’t think they ever have understood what we can do in the first place. Those of us in the industry haven’t been interested in the things you call testing at large software companies for awhile. I mean, the things you talk about, I go investigate, and most of the time find out that isn’t what’s largely happening on the teams anyhow. Sadly, most companies have no idea what they are actually DOING for testing on the team. The message gets confused on the way up the command chain. It’s been so severe you’ve created an entire subset of free-floating people who it takes more than money to hire, and many of whom aren’t threatened or impressed by whatever you have to say, because they no longer believe you are in touch with reality in a meaningful way. An entire new type of tester. You’ve been screwing around for so long that most of testing no longer is looking to the large companies for innovation or even useful ways to test. Many of the ways you test don’t transfer. Even when they do transfer, there are cases where they aren’t affordable or viable, let alone practical. If I could draw right now, I’d have for you a cartoon with a brick & mortar urn store with a person behind the counter saying, “Death is DEAD! It must be the Zombie Apocalypse!” and on the other side, a website UrnsDirect with sales up 666% in analytics.
TestyRedhead’s Final Thoughts (Hopefully w Less Chair Throwing than Jerry Springer’s)
Survival isn’t something scary. Evolution favors those who improvise, read change in the weather, and prepare appropriately. We are right at the start of the change still. What you know now is of little relevance. What are you able to learn quickly? What isn’t being done that needs doing? Is that defined as testing right now? I get some flack because I do non-testing tasks. I don’t really care much about that. If it needs doing, and it adds value, I’m open to learning it. Why? Because that’s what it is to be working at a small business. I am a small business. It means I do needed tasks, not that I adhere to a defined role at all times. This is a skill that the testers I talked about above have had for years and years. They aren’t concerned with representing just te
sting. They are concerned about doing good work, being ethical, and delivering value. If you are concerned with that too, you won’t allow yourself to be wasted for long. You won’t work for people who you don’t think are smart, ethical, and deserving of respect, even if that means you may for a time earn less. Through faith comes strength. We are just starting to see what testing can become. This is simply the first time testing itself, as a profession has been severely tested. I believe what will come out of it will be stronger, refined, and better for having faced adversity.