Tuesday 28 June 2016

Being Context Driven Tester and defining Testing Community.

When I read the Context Driven Principles, and I think in the testing I do, this is how I interpret them:
  1. The value of any practice depends on its context, so every time I see a testing problem, I try to figure out how can I add value. Sometimes I question the assumptions behind the feature, sometimes I test the way it works, or I try to understand the impact it might have when we roll it to production, and raise a question if I am not sure there might be a problem.
  2. There are good practices in context, but there are no best practices. Being able to learn different approaches and techniques will enable me to choose the best way to proceed, instead of following a written rule about how testing should be done.
  3. People, working together, are the most important part of any project’s context. And when it says people, this is not only the development team, but the rest of the people working in my company, our users, our clients, and the testing community. People who work developing features for the next release, people who teaches me things that will allow me better understanding, people who listens carefully when I am explaining something. The respect I have for all these people drives my work.
  4. Projects unfold over time in ways that are often not predictable, and because we understand this, we automate some tests, we deliver in short iterations, so we get feedback as fast as possible, so we learn from what we just did and think if we want to continue the same path, or if we better try something totally different.
  5. The product is a solution. If the problem isn’t solved, the product doesn’t work. As a tester, the first thing you want to do is to understand the problem, otherwise you won't be able to question the solution, whatever the solution might be.
  6. Good software testing is a challenging intellectual process. And how you manage your life, how much you sleep, how are you able to defocus and to concentrate, what other things do you have to take care of, all this is going to have a direct impact in the quality of your work.
  7. Only through judgement and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products. Judgement and skill are things you grow by learning and questioning, cooperation comes after respect and understanding, and knowing where the project starts and ends is vital to understand where you can add value.
So, as a tester in an agile team who delivers software for our own business, having automated tests, running CI, continuous integration, smoke tests, servers and environments up in the cloud, having Developers, Designers, Frontenders and Backenders, Reliability Engineers and Security Experts... these seven principles apply when it comes to explain the testing I do, the value I add to the team.

This is why I see myself as a Context Driven Tester.

The other thing I like, is my relation with a great testing community, where some other testers identify themselves as Context Driven, and some others don't. But what makes them part of (my) community, is that they provide chances to learn, to share and to teach.

First things first, Jerry Weinberg helped me understand what is my place as a tester in the team, and why it is an important role.

And then...
Michael Bolton taught me how to not trust my own beliefs. If a black ball was able to fool myself, imagine what a piece of working software could do.
Markus and Alan shared how to automate tests and when to do it.
Jon explained how to understand Session Based Testing.
From doing BBST and the feedback of my teachers I saw how hard can it be to perform as a tester and to write down my toughs.
Rob has great writings for performing web testing, and for hiring and training other testers.
Stephen was great teaching about Mobile Testing.
Maaret and Llevellin are doing a great job explaining Mob developing and Mob Testing.
From Huib, Pekka, Richard and Bill I got the chance to understand agile planning and working with mindmaps.
Santhosh is a true example of giving back your learnings to the community.
Simon provides a nice curated list of blogs to read
Keith made me understand how to scale testing, how to understand and respect other kinds of testing.
Michael Larsen showed me how to live blog when you go to an event, and how to set yourself targets and objectives for learning and growing.
Rosie and Morten both run awesome conferences, that gives the people the chance to know each other, share and learn experiences.
Henrik once told me I was the only Spanish Context Driven tester he knew, and this made me think about how to change that.
Tomislav, Marta, Gemma, Maxi, these are the local testers who will join whatever event I come up with, who will share their time for a lunch and talk about testing, who share my same passion and live in the same city I do.
And I'm letting others out, but you get the point, we share, we care and we evolve as a community.

And then there is James Bach. I learnt from this man to take care about my professional career, I learned that I can choose to be a snowflake or a rain drop in the mist, he is not going to teach me everything I need to know as a tester, but his work as helped me, and many others, shaping our career as software testers.

This is how the testing community looks, for me, today.

Sunday 5 June 2016

The end of one song means the next is about to start.

You know when you have a story in your mind, and a tune that reminds you to the story?

Miguel Angel joined our team in February 2014, I remember we were very happy with him joining our team because he was a good developer and a very nice person. He had a good programming skill and a deep agile methodology knowledge, he was a very good fit.

Busted flat in Baton Rouge, waitin' for a train
And I's feelin' near as faded as my jeans
Bobby thumbed a diesel down, just before it rained
It rode us all the way to New Orleans

At that time he was living in Dublin with his wife, and he started working as remote, spending one week every two months with us in the office.

I pulled my harpoon out of my dirty red bandanna
I was playin' soft while Bobby sang the blues, yeah
Windshield wipers slappin' time, I was holdin' Bobby's hand in mine
We sang every song that driver knew

As the team kept growing, we hired his wife. She was also a good developer, and we managed to keep them both working in the same place because by that time, we had two teams working in different things, so each one would get assigned to one team. They moved back to Valencia, and we kept moving on.

Freedom's just another word for nothin' left to lose
Nothin', don't mean nothin' hon' if it ain't free, no no
And, feelin' good was easy, Lord, when he sang the blues
You know, feelin' good was good enough for me
Good enough for me and my Bobby McGhee

Months pass very quickly, and we kept growing our team, we hired more developers, more testers, more Product managers, we kept being busy, holding our retrospectives, code reviews and so on. But at some point we started just maintaining our codebase, instead of aggressively shipping new features.

From the Kentucky coal mine to the California sun
There Bobby shared the secrets of my soul
Through all kinds of weather, through everything we done
Yeah, Bobby baby kept me from the cold

At some point, she left the team. Maybe the role she wanted to perform wasn't one we had, maybe we were not the kind of team she wanted to be working with...

One day up near Salinas, Lord, I let him slip away
He's lookin' for that home, and I hope he finds
I guess that when you remain in the bay for too long, and you don't sail stormy seas, some sailors leave the ship, because they get bored, they miss the excitement of building solutions that will change the world for good, they miss the thrill.

Let me put clear that I totally understand that the company has strategical needs, that we have to ensure that the foundations of our core business will be strong enough, that when we scale nothing will break into pieces... all ships must go into the dry dock from time to time.

But, I'd trade all of my tomorrows, for a single yesterday
To be holdin' Bobby's body next to mine

This week is going to be his last week with the team. Where he will be next I don't know, but I can only wish him the best. It has been a pleasure working with you, sailing these never-ending seas, figuring out how to solve all those issues we been through.

Freedom's just another word for nothin' left to lose
Nothin', that's all that Bobby left me, yeah
But, feelin' good was easy, Lord, when he sang the blues
Hey, feelin' good was good enough for me, mm-hmm
Good enough for me and my Bobby McGhee

Having Miguel Angel on board has been great, just as it has been to have Emma, Carles, Adrian, Gregorz, John, Aditya, Teresa, Marco... and every other fellow we had the chance to work with in the past.

Let's celebrate his departure, and continue our voyage, to wherever the next harbour is. Next steps are continue hiring great people, release features that will make us proud, have fun together and find our way to success.

Journey on.

Atomic Habits book review

  Atomic Habits is becoming a popular book about dealing with you own habits. The book is an easy read, where concepts are presented in a wa...