The Trust Gap

I spent the last week in Iceland the same idea kept cropping up:

Businesses and by extension products don’t trust people enough

I think this is a byproduct of the idea that every business should be able to capture every customer, if only things are spelled out plainly and loudly enough.  By assuming that you can reach everyone you fail to target your natural customers and end up diluting the effectiveness of your brand.

Nowhere was this more apparent to me than on Laugavegur in Reykjavík, Iceland.

A hyper concentrated cluster of over-marketed retail ‘opportunity’.

A street that has been utterly culturally carpet bombed by crass, loud and lowest common denominator messaging to the point that walking down said street is reductive to the whole idea of being a tourist in another country.

None of the businesses up and down this street trusted their potential customers to discern the value of their products.  All was spelled out, in English, and illustrated in large print photos and diagrams.

Restaurants loudly proclaimed: Italian Restaurant! Authentic Italian Food! Pasta – Meatballs – Bread! in both English and Icelandic.

American_Bar_Iceland
Near the start of Laugavegur. Next door to this was an English Pub named… “English Pub”

In their effort to capture anyone who might want to visit an Italian restaurant, the ambiance one might want from an Italian dining experience is lessened.

A consequence of all the businesses on this street following the same methods means the draw of visiting Iceland’s main shopping street has evaporated outside of the simple gravitational pull of many businesses being in one central location.

Authenticity and trust have been exchanged for maximum value extraction.  But they’ve missed the forest for the trees and collectively lowered the value of the entire shopping district.

Building these same businesses: Bars, restaurants, tourist shops, with a sense of trust that visitors can gleam value for themselves would help raise the level of authenticity and sense of place of the street and in turn deliver real value to each business by customers that self select the experience they want.

I think this lesson applies more broadly everywhere, but the shock of seeing this in such a pronounced way in my once quaint home town forced me to put these thoughts to [digital] paper.

I trust you’ll gather my general intent.

How do you create a QA Process at a Startup?

QA Process header image

My last post was an overview, but this one will dive into some of the problems I encountered when I was first getting started as the de-facto quality stakeholder and dig into what REALLY mattered when it came to the actual process of QA. Fitting into the development cycle is critical.

Dissect the Workflow

There is no better way to learn the workflow than to follow a feature through the factory and out the door.  Make it a priority to see a feature from design to deploy as soon as possible.

Every team has idiosyncrasies that make experience a better teacher than a ReadMe.

When I was hired on my job description clearly included committing actual code so I also had the advantage of being able to make several early commits and deploys that far and away gave me a better idea than just being told. Do this if you can.

Once you know the workflow, agile or not, you can get a better picture of where QA fits.  Almost always at the end of a cycle, but often interspersed with development under certain conditions. If your team uses a kanban board, a flow chart, a spreadsheet, or project management software the next step is to carve out a QA section and OWN IT. This is your wheelhouse, and when a ticket or a story enters it it must bend to your will.

Remake the Workflow

If having a QA engineer/Tester/Test Engineer wasn’t part of the teams workflow, or if testing was less of a process that was owned and more of a vague responsibility placed on each developer… then the workflow will need to change. You’ll be the catalyst here.

In order for your work to be effective you’ll need to start asking for things to happen upstream, long before they land in your lap. One of the best ways is to get your hands into the ticket/story system and outline steps that need to happen as that ticket is passed along to a developer. If your lucky like me, buy in from your manager here will be easy and they’ll be eager to help make that happen.

One of the simplest process wins early on was to simply request that every dev write a few short summary of how the feature should work, how it shouldn’t work, and finally how they had tested it.

Now you know how the “Happy Path” was tested (or if it was tested at all..) and you can immediately compare this summary with the feature spec in the story and make sure nothing was missed.

Take Ownership

I was very skittish about walking into a new team, a new workflow, a new product, and a new codebase and then starting to make demands to make my life easier.

You need to suppress that doubting voice, ultimately you were hired to improve the product and build a process that makes more stability a foregone conclusion.

At a startup the only constant is change and you can rest easy knowing your changes will be the least of anyones concerns. As long as you explain the benefits of your decisions people are normally more than happy to hear the initiative being taken.

If you’re building a QA process for a startup then you are also the key stakeholder for Quality and by fiat you now have the opportunity to start instilling good habits. Don’t hesitate to advocate from a place of confidence if you know your changes will result in a higher quality end result.

When your team members start to reap the benefits of better quality any prior doubts will be washed away.

A Year of Startup QA

A picture of json that describes this post

This year marked the first full year of QA at the startup I work at, working as the first QA hire on an existing engineering team. There were a lot of challenges, but I wanted to share some of my take aways and challenges that were overcome.

Starting from Scratch

There was not a system in place for me to plug into when I arrived, testing was happening, deploys were happening, and code reviews were happening all somewhat organically and maybe haphazardly.

I had what amounted to a clean slate and worked to build up some systems from there.

My first step was to learn the product. The most important thing i’ve done since I started last year was to become a product expert. Knowing our product intimately continues to be one of the best values I bring to the table and allows me to be more targeted and succinct in testing.

As the product grew I also began to maintain documents outlining a lot of the more esoteric behavior, outside of repo ReadMes. This has saved my hair more than a few times.

My second step was to integrate myself into the Dev team workflow. Finding out where QA lives in the release lifecycle is important and defines a lot of the actual QA work that gets done. In our semi-agile team framework QA became the last step on the Kanban board. I like to think of that part of the board as ‘active development part II‘. In an ideal state i’m working hand in hand with the devs assigning and closing out bug tickets until we have a stable feature.

The third step was deciding on tools. We use Asana as our management software, ticketing system, and QA tracker. I’ve enjoyed using it as I’ve reinvented the QA ticket process several times because it affords a lot of flexibility in the organizational structure of your tasks (tickets).

I use Google Apps for spreadsheets, where I document feature behavior, or maintain checklists that are shared with third parties.

And I use CasperJS to automate a lot smoke testing that would otherwise eat a huge amount of my time.

I’m still searching for a good lightweight tool to organize functional test cases, an essential part of reducing the bus-factor of the QA team (1).

Wrap-Up

If I had to describe my year in one word it would be: Iterative

I haven’t built the best QA system, nor the best processes, but in the last year they’ve grown to better match the challenges we have everyday. The next year will be even (iteratively) better.