Sharing is Caring

 

Here is my blog post about sharing at Songkick, I promised Helena I would post a month ago. Oops!

First a bit of a back story.

I joined Songkick over 6 months ago now! This seems crazy! Where does the time go?!

Time has flown by. I also cannot believe that it has been a month since Testbash Brighton. If you missed out the videos are online now here.

Anyways back to the back story:

If I think back to 6 or 7 months ago and how little I knew and how much I know now (and how much I know I don’t know) about the company and the tech, the domain, the people, job roles and responsibilities, that is an incredible amount of information to have to learn in a short time.

Luckily Songkick does a couple of awesome things that really helped with this. Here are a few ways in no particular order:

On-boarding:

This is new and still being trailed, so it is important to give feedback but the idea and general execution was good.

So what is on-boarding at Songkick? Regardless of the job role you joined as, during the first few weeks you will be invited to presentations (mostly remote ones for me), from different people of the business. These cover many different topics, some are about the domain, certain departments or processes.

This may feel like information overload, but the most important thing to remember from on-boarding sessions, I think, is the topic and who to associate with it, so you can ask more detailed questions later and know who has the information.

These sessions were quite intense, but for me they became handy very quickly, as I knew who to contact to help me figure out who uses a certain system and who we would need to help test a scenario, or even find out what a scenario may be.

Understanding how your users (internally and externally) use the systems your team builds is such valuable information for testers.

Testing specific meetings:

Being the first, second tester in the company for a long time, this was unstructured, which has its benefits and downfalls.

Luckily the approach has been taken that if you have been asked to explain something, you write it up. So there was lots of relevant documentation on how to test certain things. These were super useful, as I did not have to rely on someone to be around, but could figure things out.

We also did mind maps of areas to have in depth sessions on, so I could learn about the other details of the system that may not be obvious. I found it interesting to make a learning plan using mind maps. It has been a nice experience though and I like the informal format of those sessions.

What was important too, was to learn about the history of certain features, to be able to look for backwards compatibility if needed.

As a downfall for an unstructured approach, you could say that, we may have missed stuff in my on-boarding process initially, but then I am not worried to ask if I come across something to be given the information instead. Sometimes that is a more rewarding experience, and also the information is more likely to stick if you had to seek it out yourself.

Dev Talk:

Every Wednesday lunchtime there is a slot reserved for the technology team to do a talk. This is accessible remotely, so anyone interested can dial in.

The topics for this can be anything, new tools, discoveries, experiments, oddities of screen sizes in Android, key takeaways from conferences, etc. Our next one is actually a Docker workshop!

These are relatively informal and more often than not inspire a nice discussion. I like these because they are generally technical and it is a good intro for me to learn some terms and then research them further.

Outcomes of experiments are always fun as well, because they are generally trying to solve a deeper tech problem which is outlined first and then a possible solution is presented. This always gets me thinking about testing the new solution and also if we are missing anything in the current one.

 

Show and Tell:

Show and Tell is a special thing. This for us in the UK happens on a Friday afternoon, involves the whole company, and generally some alcoholic drink. I don’t drink so I don’t care about the alcohol but it seems to be a nice tradition.

Show and Tell is open to anyone in the business but whatever you show cannot exceed 5 minutes. The format is very informal and usually is more of a demo than a presentation. The sort of stuff we see are:

  1. Developers showing improvements to a tool, process, feature.
  2. Business development may show some interesting campaign they won or lost.
  3. Support may show case a nice, angry or funny support case.
  4. Any internal tools that improved productivity.
  5. UI and UX guys may show a new concept or something they learned from research.

What I love about this, is that someone is always showing something. And you get to see what people are passionate about and that they care about their job. It also gives you an insight into problems teams have with tools or products and may give ideas on how to solve them. The other things that is great is that this is that the whole company gets involved to show something.

 

Breakfast Code Club:

I have not been able to go to many of these yet but they are quite fun. The idea is that something to do with code can be shown off. This does not have to be work related. It can be a side project.

For example:

  1. A game
  2. Trying to solve poker algorithm
  3. A pun generator (my fave!)
  4. Solving ciphers.

Sometimes the stuff showcased is work related and this time can be used for a code review as well.

The other selling point is that it is a nice way to mingle with colleagues you may not naturally work with and also there are pastries!

P.S:

The film Breakfast Club was released 31 years ago … yep we are getting old! 🙂

 

 

Agile Testing: Frustrations can make us creative

  

creative space design of a restaurant

I love the fact that I have worked at a few different companies and hence have gotten to know so many awesome people.

It also has the great benefit that I still get to take part in different conversations around Agile Software Development practices and especially when the focus is on testing.

The other day I was forwarded a little article by Mountain Goat Software which focused around the fact that in an agile team, at the end of the sprint everyone tests. And some developers may not like manual testing so they will do automation testing or pair with testers to find efficiencies.

“At the end of the sprint, everyone tests.”

I am wondering a few things around this line of text. Why does everyone only test at the end of the sprint?

I know there have been many discussions that “testing” means manual testing being done by a human. But I do think that developers are often using Test Driven Design to write code and hopefully are also running the code they write to test that it does what they intended and maybe also how it does not (depending on experience, mind set, time pressures and learned habits).
Nevertheless the above quote is important for agile teams. I have experienced that as testers you can easily become a bottleneck because the developers think their part is done. Ideally they will have written the code and written automation tests as well. Now the manual testers get to test the new feature works and hasn’t broken anything.

But this leads to the problem that the developers are sitting there twirling their thumbs or starting more work, adding it to the bottleneck until the pipeline completely collapses.

So I like the fact that there was an emphasis put out that everyone should test as the team is responsible for shipping the work altogether.

I do hope though that testers and developers in a team get to test early as well, or maybe even designers or product managers, to make sure that the feedback loops is as fast as possible. The statement has the danger to be interpreted as such that testing should only happen at the end of the iteration. (I don’t think that is actually what they are saying.)

The excerpt I read actually states that the better the agile team the later the testing can occur. This seems wrong to me, but maybe I am taking it out of context and it is referring to the time needed for the whole team to be testers.

 

“Establishing a mindset of we’re all testers at the end, does not mean that programmers need to execute manual test scripts, which is something they’ll probably hate.”

 

The article went out to say that developers may dislike using manual test scripts for testing and hence maybe could focus on other things such as automation scripts.

I actually thing that it will be really beneficial for developers to do manual testing, not necessarily follow test scripts but explore the features they wrote instead.

By all means make sure your code is well tested using automation tools but you will not know if you have written the right code if you do not manually test it. You will only know that the code is written in the right way.

 

Frustrations can make us creative

I recently watched a video that Chris recommended on How frustrations can make us creative and it highlighted how doing something you maybe don’t like can actually result in you finding ways to make it better a lot easier than doing stuff you enjoy all the time. So developers definitely can really gain from doing some manual testing. And not just developers but hopefully the whole team.

A sort of related example of this is, that at Songkick we try and learn about what each department does and were encouraged to help the support teams. This has actually led to improvements being made to the admin systems when developers used it to help solve support cases. It is OK here to JFDI, when an improvement can really help someone.

A small example was that someone added extra information to be pulled in on one screen, so that you do not need 2 tabs open anymore to find all the information you need to close a support case. This was a huge time saving for everyone and was only achieved because a developer used the tools he created for the support team.

So I encourage everyone to test, collaborate and try something that frustrates you and see if you can make it less frustrating to do.

 

 

Don’t get stuck, try something different

 

view when trying a new running route I saw a double rainbow!


If you don’t know by now, 5 months ago (5 months!!!) I joined Songkick.

One of the many things that appealed, apart from working with Amy of course, was to experience another way to develop software, namely Continuous Delivery.

So this post is a bit about, not getting stuck in your job, routine, thought processes, try something different when you can or if what you are doing doesn’t feel right!

How did I get into this topic?

Songkick has had quite a few new hires in the tech team over the past few months and as part of the on-boarding there is a an intro into how we test at Songkick.

For 2016 Amy has been mixing this up by making the session super interactive and it really works.

As part of this we spoke about exploratory testing over test plans and how your emotions can drive your journey through the system when you are hunting for information and bugs.

All this “huh!?”, “oh!”, “OH!?”, “ah”, and “erm” moments can drive your test journey through the application as a tester and developer.

On the flipp-side to this is boredom. Boredom is another emotional state to avoid. Question why you are bored. Have you exhausted your testing journeys, do you need to mix it up by using different devices?

Boredom and feeling a little stuck was what drove me to try something different.

First a quick back story.

As part of a merger in early 2015 Songkick is doing some re-aligning of technologies. To keep it as vague as possible. I have been part of one of those teams working towards one platform. This has been super exciting and provided a great learning experience as I could learn about both companies technological history.

But this means we have some (or a lot of) manual regression testing we do as a team. This is generally unusual for projects there but a way of providing confidence for the team and whole business.

Now where am I going with this?

My boredom (don’t tell my team, I keep telling them that all testing is fun) came from the fact that I was regression testing something that we did have confidence in, over and over again on different devices and browsers, but it is quite a risky project so we rather test twice and in person alongside automation.

In the retrospective I was surprised how concerned everyone was that the testing was left to one person while the rest of the team tries to finish off other tasks before the release date. 

One of our team members had the great idea to block out some time and get everyone to test for an hour together.

Go with the energy.

Straight away I jumped at this and expanded on the idea. We discussed that this 1 hour session will involve all team members and we will test on different devices and browsers.

I was however not keen on providing a list of testing tasks or test plans as I wanted everyone to feel free to explore, so I created some user scenarios for everyone to have and try. They were meant as inspiration of what to test and a way of visulaisin how the software may actually be used.

 This seemed to work well, although the volume of scenarios I supplied was frightening some initially, but by emphasising that these were ideas and did not have to be ticked off we got somewhere really quickly.

Make it as easy as possible.

One major thing with testing systems can be the test data. This can be time consuming to create and manage, putting people off spending time on testing. I took this away from the team and provided them with different test data options for the various scenarios. These were the same selection of test data meaning we had a mini performance test of several users, accessing the same data. Being in ticket sales though we generally deal with short and high spikes of data which we are testing using automation. 🙂

Entice them

This can be as simple as buying jaffa cakes or bringing in some home made cookies. Always works a treat!

 

Trying a new recipe!


Results?

We had a focused testing session and logged several issues. None of which will block our release, thank god, but some which would have taken ages to find for one person.

Also we logged improvements on usability, as our designers and usability experts took part and got to experience the app first hand in a repetitive situation.

Overall this was a success, we got many eyes and devices to be used at the same time and it was a great team experience!

So don’t get stuck but do try something new! You never know what you may achieve. 

Thoughts: Should I stay or should I go now?

  

 The last Testing in the pub podcast was about leaving testing and why do testers move on or stay in the profession. I thought it was a nice exercise to think about why I left testing once and why I am back and here to stay.

Spoiler: I am not thinking about changing away from testing in the immediate future. I still feel like I have only just discovered testing as a career and profession that I enjoy and grow in.

But I did reflect a little bit on the subject and why do I stay in testing, but maybe change job relatively often and how did it come to this? Well let’s start at the beginning because I have left testing as a whole before.

The Beginning:

Straight out of uni I knew one thing and one thing only, I wanted to stay in the Brighton and Hove area. This meant getting a job.

Being bilingual and having just studied German at university I looked into jobs which would utilise my language skills and found a localisation tester job for a 3rd party games testing company.

I passed their onboarding process and started to work there. It was semi-freelance in that you had to grab as many hours as you could to survive. But I loved the experience and often found issues that weren’t just language related.

I liked the fast paced environment of working on different platforms and types of games. There were a couple of issues though, the work was fun and didn’t seem like “work”, it was slightly unstable in that you had to fight for the hours on a project and I did not see a career path.

In the company there were leads who were mostly project managers for a certain language or game but there was no progression to stay in testing. This made the job seem like a dead end to me and I didn’t look into it any further when a different language based (sales) job appeared locally.

Leaving:

Eventually (because I hated sales) I found games testing again. This time as a full time tester. It still just seemed like a fun job and not a career but then something happened.

  1. I was working with someone (now an amazing friend of mine) who had been a professional software tester prior to this job and pointed me in the direction of great articles and testing practices. And she just made me think, a lot! In a good way!
  2. I had an amazing QA manager who made you aspire to be like her. She was awesome, inspiring and supportive even though she was based in Canada while we were in the UK. (Still sad we never worked closer together).
  3. I became curious and started to google more about software testing and not just games and localisation testing.
  4. I won a ticket to go to a software testing conference.

This all happened within 18 months and shaped my mind for the future.

After the conference where I tried to speak to as many people as possible I realised that testing was not just what we did. There are many forms, more engaging environments and also more challenging environments and I wanted to see more.

The next steps I took were to activate my twitter account and to start posting in the Software Testing Club forum.

 

Leaving – with a purpose:

Why did I leave that testing job? There was no room for progression. Learning was stifled, management wasn’t great locally and it seemed like every day was full of negativity. Don’t get me wrong I loved my role (mostly) especially when it involved doing more stuff with the teams abroad (as challenging as cross time zone working can be).

Being curious about actually testing software and not doing what seemed like a glorified editor job, I applied to as many positions as Brighton and Hove had to offer and eventually got lucky.

I would like to think that my enthusiasm and involvement in the community helped a great deal in securing the job. And I would also like to think that maybe I helped to start a small testing revolution that Emma is continuing. 🙂

Leaving again!?

Unfortunately due to personal reasons and when an opportunity occurred that would solve some of my personal issues, I left that job. If I could have stayed I would have but the other opportunity was great and my personal issues meant that long term I couldn’t afford the commute to the previous job.

So sometimes we leave testing jobs for other testing jobs due to personal reasons which is also fine I think. Maybe we can see this as location being a factor and maybe also renumeration.

This next job was a bit bigger and initially maybe more than I could handle but I think I did it to the best of my ability.

I hired and managed a small team of testers within a year of starting there. This pushed me a lot and I learned a lot and engaged with the community in a totally different way. I guess initially I spoke mainly to peers who were also testers that report to someone but not managing anyone and then suddenly I was trying to find good testers and also provide a good environment for them (shame the business wasn’t quite up to that though).

Leaving again again!?

The community can be such a great place to network. Attend meet ups and just strike up conversations.

This is how  I came to leave again and end up where I am now. The challenges are completely different and I am learning a lot which was part of the appeal to move on to a new role. Also in the podcasts the guys mention that sometimes you move on to work with people you admire and respect and this was the case this time round as well.:)

So why did I leave testing jobs:

  1. No career progression
  2. No learning or development opportunities
  3. Location and renumeration (in combination with new challenges)
  4. New environments and testing challenges to explore
  5. Gaining experience
  6. No room for creativity
  7. Slow development progress
  8. Personal reasons
  9. Opportunity to try something new like managing and hiring
  10. Opportunity to work with great people from the community

 

Why haven’t I left testing?

  1. It is always challenging
  2. Problem solving
  3. Creativity
  4. There are inspiring individuals in the community
  5. The community
  6. Love testing and contemplating and thinking about it
  7. Love for technology
  8. Love for design and how it affects users
  9. Provides the opportunity to be a certain user (almost like acting which I wanted to do but was always too scared to)

 

Have you thought about your journey and why you are still in testing or not?

 

 

Thoughts: Starting a meet up

IMGP1338.JPG
Cornwall April 2015 – Arthur’s Castle

Myself and Emma with help from loads of others have been running the Brighton tester meet up for a year now.

As we start 2016 with 2 meet ups already planned which you can find here and here, I thought I would put my thoughts on on how to start a meet up in my point of view.

January meet up – Introduction to stubbing and mocking using Wiremock

February meet up – Ghostbusting User Stories with Alan Parkinson

 

Whenever we post a meet up 9 times out of 10, I get asked if we can organise meet ups somewhere else too but you don’t need us, you can do it. 🙂

In my view there are some simple ingredients to starting and then being able to run a meet up.

 

Find a set up you like

First of all, attend some meet ups and find formats that you like that you may want to replicate.

 

Venue

Find out if there are local venues with wifi and projector facilities that do community events for free. A lot of them do! In Brighton the Skiff is such a venue and there are a few pubs as well. Just make sure it is not a football night.

Think about your audience size and choose a venue where people won’t be too crowded and hot and also not too far away from each other. The idea is to encourage people to chat and network.

Also do not rule out local companies. You would be surprised how many are happy to host a networking event right in their meeting rooms. All it takes is meeting someone, getting an office manager or HR contact. Maybe try their twitter or contact pages and just ask.

 

Hosting

Hosting is also really important. Be the host or find a host. A host is a great idea because it means there is someone anyone feels they can approach. The host can do a general welcome, and introduce people. A good host can really put everyone at ease.

 

Food/Drink and Sponsorship

During tech talks I generally have experienced there to be beer and pizza. Be careful not to alienate your audience though. For example order veggie and meat pizzas and have soft drinks available as well.

For providing drinks and food you may want to look for sponsors especially when your audience grows past 15 people. Or ask for a donation at the end/beginning of the event.

To be able to get sponsorship, have a sales pitch ready. What do you offer in return? Any advertising, space for the company/person to do a pitch of their product?

 

Speakers

Finding speakers can be really hard but I would suggest actually approaching and inviting people instead of putting out an ad asking for speakers. Use the 6 degrees of Kevin Bacon (since social media it is only 3) and find someone who likes to speak at events and invite them directly.

 

Social Media

Then find yourself a twitter account with an unusual hashtag and tweet the hell out of your meet up. Also using meet up platform really helped us be found.

I like to also scour local technology event calendars and add the meet up to those. If you don’t meet too often this is not too time consuming. And you could always double up with someone and be a co-host to split the tasks.

 

Have you got any questions or suggestions on how to help others start to organise events? Why not come to one of our events this year and then give us feedback, meet other testers and snoop around company offices. 🙂

Real Life: How to survive commuting?

 

Picture taken on the commute home


I watched a presentation by @medickinson on presenting/public speaking for introverts. She makes a great point on how introverts get over stimulated more easily than extroverts.

There is actually some science behind it in terms of how we actually have different tolerances to the stress hormone dopamine.

During the presentation of this data I realised that maybe I am not imagining that going to big cities makes me really tired. Big cities can be really overstimulating.

We are presented with tonnes of adverts, it is noisy, there are tonnes of people, there is less space than in the countryside. Just now I realised that me being an introvert means that it is no wonder that this tires me out.

This gave me the idea of the introverts survival guide to commuting.

To put into perspective I have commuted locally in all sorts of ways, by bus, walking whenever I can, cycling, driving etc.

But what I had never done before was travel really far and do that by train.

This changed 3 months ago, when I joined Songkick in London.

With no intention of moving to London I knew this meant tackling the commuter train.

 

My platform at 6:30am


The commuter train to and from London is sort of special. You get different types of people at different times.

The earliest I have managed is 6:31 to London and it is full of snoring people and zombies.

Today someone was asleep opposite me with his eyes open! Scary!

I am also a sleeper even at 7am, but I wasn’t initially. I think the actual commuting and being in the city has made me so tired that I need the morning to myself sleeping.

In case sleeping in carriage full of people worries you, here are some other survival tips:

1. Noise cancelling headphones – Great for those noisy snorers, loud eaters, or blocking out the ones that actually talk to each other!

2. Kindle – light, easy to hold and read. A book will do as well but can be bulky to carry around.

3. Tablet/Phablet – download videos onto your tablet or phablet. This can be some great distraction, or even learning experience. I download Ted talks on a regular basis. 🙂

4. Podcasts –  my new favourite! Podcasts are a must for at least the morning if not evening as well. My general favourites are: Criminal, Your are not so smart, Serial, This American Life and Welcome to Nightvale.

5. Music – maybe even try new music! You will hardly ever get an hour to yourself to just listen to something new. Then when you like them and want to see them live near you, why not download the songkick app.!? 😛

6. Good backpack – What do I mean by good!? Well it depends on your use cases but I need one that is cushioned, has a laptop compartment that is cushioned, big general compartment for running gear, lunch, water bottle and other bits and pieces. Waterproof is a major win as well, especially if you walk around London a lot like myself. I also like wide and well cushioned straps that you can also fasten across your body. I know the look sucks but if you are late and need to run you don’t want the bag to jump all across your back.

7. Water – I have broken out water separately here because recently I have been feeling faint on the train, especially when I have had to stand up. It is very important to keep hydrated during your commute, kids!

8. Snacks – In similar vain as water, you never know how long your commute may be. In three months I have had 4 or 5 trains be on time. Carry some snacks with you in case you don’t make it home in time for dinner.

9. Notepad and pens – The commuter train can be a great place to unwind and let your thoughts wander! You never know what great ideas you will have. Make sure to have pen and paper to hand to write them down!

10. Knitting – Now I unwind with crafting. I can’t really sew on the train (I don’t do hand sewing) so I knit. I have so far made a cowl, a hat and working on a jumper. It can be really nice to not feel like you are wasting your time by just waiting.

 

This has been knitted 80% on a train


11. Coffee – Now a good coffee can make the day! Make sure you are friendly to your coffee provider so they start recognising you and make you your usual! This saves time in those moments where you got out of bed a few mins later than usual and you can still catch your normal train!

 

Coffee! (although I have since given up – no coffee for a while now)


Also keep your stamp cards. Commuter train coffee can really drain your pockets!

12. Apps and Social Media – make sure your trainline’s twitter account and news page is easily accessible! You never know when there may be too many leaves on the tracks causing a delayed or cancelled train! You will be thankful for making checking these part of your morning routine, because they may enable you to have another half hour snooze!

These are some ideas to get you started. I left out actual work here, but do feel free to do some work on the train or write your next blog post up, as I am doing. 🙂

But let me tell you it was not easy! Now after three months of commuting it is getting better, but I struggled with exhaustion, travel sickness, leg cramps (suddenly walking 8-10km a day) and I even passed out on the train (this showed me that commuters can be nice and helpful).

Agile Testing Days: Making a web for everyone by Michael Larsen

Wow Agile testing days is in a class of its own. So relaxed fun and full of friends old and new! Everyone is a hugger so be prepared. 😛

This morning I listened to 2 sessions. One by Michael Larsen I want to mention now as it was about a topic close to my heart, accessibility.


In my places of work we have ignored this in the past and actually it goes hand in hand with good UX design and responsive design so why don’t we make that extra effort up front?

Here are my notes from Michael’s talk.

Why accessibility as a topic?

  • We should build products that are designed to allow as many people as possible to access information.
  • Allow people with disabilities have a similar experience as their normative counterparts.
  • Good design that helps all of us.

Why focus on accessibility?

  • In some countries it is the law. Why limit your user base.
  • It is the right thing to do
  • It is good business.

Can you put yourselves in peoples shoes? What about blindness? Deafness? How would that affect your app usage? Have you ever turned on the screen reader on your computer?

Michael highly recommends the following book for more information as well. A web for everyone.

Types of disabilities:

  • There are normative/primary disabilities: Deafness, blindess
  • But there are also secondary disabilities, that we all can related to. IE. phone call at a loud concert.

Products are not just designed for a small group of people. We can all go from normative to significantly disabled without notice. What then?

Principles of web accessibility:

  • avoid making assumptions about your users’ ability
  • you can only guarantee that someones tech can send texts thats it
  • users time belong to them not us – don’t take control of either without good reason
  • provide good text alternatives for non text content
  • use widely available technologies
  • use clear language to communicate your message
  • make your sites usable, searchable, navigable
  • design your content for semantic meaning and maintain separation between content and presentation
  • progressively enhance your basic content – allow content to degrade gracefully

Heuristic Be HUMBLE

  

Humanise – understand the emotional content

Unlearn – step away from your default, maybe with using duct tape to resritct movement or using gloves. Try to control your computer with your voice.

Model – use personas, consider pace and behaviour differences

Build – learn about the tools to test with and discover the barriers

Learn – what are the barriers how do users perceive understand and operate

Experiment – put yourself in literal situation, collaborate with designers and programmers and provide feedback

Different terminology

Design accessibility up front – be agile about it – but use a different term. Accessibility has baggage associated with it this tends to be around money and law suits which has a negative connotation.

Use inclusive design

I really enjoyed this session and can’t wait to explore the topic further and order the recommended book. 🙂 Also a tip from my last place. If you just start paying attention to simple things like using alt tags and nudge the team you can make a real impact without much effort to your user base!