Even Connect 4 has Feature Enhancements

The basic game of Connect 4 (hopefully I don’t need to explain the concept) has had the opportunity to release feature enhancements. When I was a young lad, I assumed Connect 4 was Connect 4, and there was no improving on the game itself, but maybe improvements on the construction and durability of the great wall of slots. I found out this weekend that I was wrong.

connect-4

When Connect 4 Satisfies the QA Analyst

I recently wrote about When Wrapping Satisfies the QA Analyst, but I’m discovering more and more activities that satisfy my daily analytical need for perfection. While playing the basic game against my five year old daughter, I got bored of winning, or rather, she got bored in general, so we began making cool designs. With every drop of a coin into a slot, I was either happy or bothered by the placement of said coin. Most were fine, I was able to simply drop the same color coin into the mirrored y-axis position, or I was required to remove the coin by sliding it up, holding with one finger, sliding it up, holding again with the other finger, and repeating until the coin was out. This led to some pretty creative designs by my daughter and me, some of which were entirely Picasso in nature. Those were the ones my daughter preferred.

Here’s the final picture of our work, the one she was most proud of designing.

C4 design

How Connect 4 Released a Feature Enhancement

Now back to the point of what I wanted to say. I was playing this basic game, when I looked at the box and saw that there were actually three ways to play our Connect 4 game. All these years I’ve only ever known the basic traditional game, yet somehow Milton Bradley was able to come up with additional versions of the game and apply them to the same basic board. Now I can play Original, PopOut, and Pop 10.

C4 3 ways

This is great strategy and one that we can practice in software development. Sometimes the additional workflow or enhancement to our products is only a few hours away, yet can provide a ton of enhanced functionality towards our software. This type of innovative work should be practiced and rewarded, as it opens up doors to new possibilities with such a low cost to the company.

 

But Wait, There’s More…

My Connect 4 mindset was truly flipped upside down when I was at a party on Sunday for my nephew, and they also had Connect 4. It was the same version that I had, same box design, everything, only their version had FIVE ways to play. Milton Bradley had done it again, spent very few innovative hours and released a ton of new product functionality. In addition to the Original, and the PopOut and Pop 10, I can now play Power Up and 5-in-a-Row. There was a small addition to the construction of the great wall, and bam, two additional games.

Connect 4 Five Ways to Play

With this type of innovation, it not only brings back a classic game from the 70’s, but also keeps it current and fun. When we apply this same style of enhancements to software, it keeps them current and up to date, as well as fun to come back to. These are basic rules to consider when discussing large updates or small enhancements, while weighing the cost value and user increase it could provide.

Explaining Your QA Job to Others

The Christmas season is over and the new year has begun. I spent most of my holiday time at different family member’s homes celebrating Jesus Christ and His birth, while also enjoying delicious food and exchanging gifts. What a great time of the year.

But this also made me think about how I explain my job to other people. Fortunately this year I didn’t have to do too much, as most people know what I do now, but in years past, I have had to answer the questions to the inquiring individual, slightly adjusting the words with each explanation.

Explaining

The Interested Aunt

One of my favorites to explain what I do, is to a close family member who actually cares to learn something new about my life. They ask an initial question of where I work and what I do, and follow up with additional questions about my day to day and what I enjoy most.

My usual response to this type of person, prior to me recognizing their interest, is a basic response like “I’m a QA analyst at a software development company”. Sometimes I’ll increase the initial response to this person with, “I get to test the software that we make for our users”. These responses in combination with this character, lead to an enjoyable and engaging conversation of interest about my job.

The Obligatory In-Law

Such is Christmas that is brings together the extended family that you see but a few times a year. This brings on the obligatory ask, “what is it that you do?”

To this I respond the basic answer above, that I am a software tester at a company called Zywave. You’ll instantly recognize the character’s intent when they say something like “oh cool, that’s fun” or my favorite, when they respond with “Zywave, where’s that?” as if knowing the location of my company will clear up any confusion you may have about my daily duties or roles. I usually don’t follow up with any additional information, and attempt to seek out the next conversation at the Christmas party.

The Loving Wife

My wife is great, she genuinely cares about my happiness and desires me to be in a job that I love and come home from with a smile on my face, and can’t wait to talk about. She endures the painful detailed description of my days and weeks, and appears to truly take interest in what I do. She can also easily name 20 or more of my coworkers and could probably tell facts about each or a small story I have had to share with her.

To her, I have taken opportunity to explain all aspects of my job, and though I attempt not to share too much in each sitting, I can probably say that I’ve shared everything I do, and my wife could say she knows nearly exactly what I do for my job.

The Truly Curious Mom

Many people share a similar relationship with their mom or dad that I do, which is a really close one. My mom is really interested in my job and what I do, because she cares a lot about me and wants to know what I do. However, my parents may not necessarily grasp the entirety of my job, because most people can’t unless you work in the industry, so I share with them about my job and the testing of software that I do, sharing more about the industry of software that we design for, and how our products better our user’s day to day process. This character is a good one because they regularly take interest in the job throughout the year, so as the industry shifts and my job changes, I can update them on the newest trends and duties.

001

The Inquiring Friend

I have a very close-knit group of friends and we all know so much about each other, that we could probably pass some lie detectors for each other. But even though we share so much about our jobs and discuss day to day activities, I still take the time to discuss more about the perks of Zywave vs the actual rigor moral of my day. Not so much because it’s a competition, but that is something that every one of us have, company perks, and not everyone fully comprehends each other’s industry.

To this character we discuss things like PTO and benefits packages, office location and layout, as well as the onsite amenities like a ping-pong table and pool table, with a couple arcade games and Foosball, and we don’t forget to talk about the free soda. Again, the attempt is never to one up each other, but rather just to share the pleasures of our jobs, and ultimately congratulate each other for getting such great gigs (since most of us are doing what we love).

The Other Software Guy

Another favorite character of mine, because this is the one that shares a similar interest and ultimately understands the joys and stresses of being in the software industry. However, because of what they do and the fact that it is similar to what I do, sometimes the familiarity causes this type of conversation to be sharing of comparisons rather than an actual interesting conversation. Talking to another software guy does provide the opportunity to share horror stories, and sometimes that is very nice to hear that others also experience similar problems that I do.

Each character has their advantage and disadvantage, neither is necessarily the best or worst, but each provide different conversation which adds to the daily joys of my life.

When Wrapping Satisfies the QA Analyst

‘Tis the season to get together with family, share a meal, give and receive gifts, and cozy up by a warm fire. It’s also the time where stress is at an all time high as you prepare for the holidays by cooking and wrapping presents.

Such a time really pulls out the QA in me.

While I was helping my wife wrap some presents, she hands me a gift and some paper, which has a few horizontal lines on it. This type of paper is a dream because it allows the opportunity to satisfy my need of making a wrapped gift completely “bug free’.

As I wrap the present, I so carefully line up all the trees and bars so that everything matches, pull it tight, fold the corners down and slap some tape on it. Upon completion, I sat back and was mesmerized at my gift, how the lines came together to make a perfect square on the ends. I even said to my wife, “this paper is so satisfying”.

Gift Wrapping

Then I began analyzing my present. Where are the bugs, where could I make improvements to better the wrapping process and make future gifts more pleasing to the eye. In the picture you’ll see many opportunities for improvement, each one made it to my next gift. Although, I realized there is an additional skill needed, more than just being a QA analyst on my wrap job.

I am not a great wrapper. I can wrap a present and carefully take the time needed to make it look pretty good, but without much more practice, my gifts will always look like this.

I’ve been asked why I always analyze everything, why I am always looking at everything around me and “judging” the look or the process, or perhaps the behavior. Truth is, this is just how my brain works. I’ve trained myself to be analytical at all times, and while sometimes that may not be a great thing, it has proven very beneficial in order to improve process and quality of the products I work on.

This type of mindset is a learned ability, if you want to become a good QA analyst in your respective field, or a developer who wants to better your code, start by wrapping a present and analyzing all the good and bad. Take a walk and find problems with houses and sidewalks, simply look around and analyze what is around you, there are bugs to find everywhere.

Now go and make memories. Merry Christmas.

A Game of Mousetrap

Did you ever play the game of Mousetrap growing up? Most people would say yes, that sometime growing up they owned the game or played with a friend. But can anyone say that they actually ever played the game of Mousetrap? I for sure never did, as my sister and I would spend the time setting up the whole trap, run it through a few times, then throw everything back in the box to “play” again next time.

MouseTrapI think there were actually mice with cheese triangles, that you somehow had to earn, and spend on components to the trap, and work towards assembling, but I never once read the rules or was told how to play correctly. I only wanted to do one thing, set up and catch mice.

This makes me think about how our users will interact with our products. We spend hours designing and developing so that our users have the greatest and easiest experience with our product, only to find out that they may not use it as we have intended. Sometimes we find out that our users will do nothing as we expected, or as we designed, and then we either get to decide to build it out better for them, or let them continue doing their workflow.

Software isn’t the only area of product like this. The game of Mousetrap is one example of hundreds, that were not used as originally designed or developed. Play-Doh, bubble wrap, even Coca-Cola are some products that were originally developed for a certain purpose and were later re-branded for use, due to the market’s need or how they ended up using the product.

As testers of products, we are required to test as the business asks, and then some. We are told to put the product through rigorous testing, just so that it can be used without errors, but what we can’t always test is how the users will actually end up using our product. At Zywave, we have a team of UX Designers, who spend hours studying the market and running usability tests with our customers, to try to figure out how they’ll interact with some of our new development. They do a great job at getting us quality information, but that is still a subset of users.

I wasn’t around in the creation process of Mousetrap to know, but I’m certain when they created the game, their intent was not for the majority of users to only setup and catch mice. They probably intended for use in one way much like we intend our users to use our products in a certain way. It’s just a reminder that we can never be certain of how our users will use our products, so we just have to test a little more to make sure the bugs are few and far between.

Bug or Intended Functionality?

Today I was taking advantage of a deal to get free cheesecake as long as I used this newer restaurant order and delivery service. The delivery service was offering free delivery today, I’d assume to acquire new customers, and offering a piece of cheesecake from a local restaurant at the same time. However, there was one contingency. The order had to be placed today, December 6th, and the order had to be delivered/completed on December 6th. While that seems like an acceptable rule, there were some issues.

First thing to note, this site allows for future ordering as well, and then will place the order and deliver on a chosen future date. I’m not sure if I personally would ever use this feature, ordering my meal online today, but not wanting it for two or three days, but I am able to recognize the value for people that may want to get all the meal details figured out before hand, and then spend the remaining few days preparing their house for the guests.

Now that we know that information, when I went in to order my cheesecake, it presented me with the next available earliest delivery time, two days from today, around 11:30am. This wasn’t going to work, as I needed to close my deal today in order for it to be free. I searched for the ability to change delivery to today, but it did not appear to be an option, and finding the date/time selector was no where near my shopping cart. Additionally, I wasn’t even sure how to check out, because everything was disabled. I eventually found the time selector where it informed me that today’s times were already full, and I must select a time two days from now. At this point I figured out that I could select a time two days from now, and that I would just go to the checkout page and enter the code, to see if it would still work.

After choosing two days from now, around noon, the checkout button became enabled. On the checkout page, I entered the code, and the cost of the cheesecake came right off the total bill. There was also a Change button next to the Date/Time of delivery. I clicked that and was able to select today’s date for 12:30pm. Submitted the order, and sure enough, my cheesecake was delivered right on time.

Bug

So what’s the point of this story? Why do I write about my cheesecake experience today in an overall negative tone, while still expressing the positive outcome of the day?

Most of what I write is to train our minds to be more analytical, to think about our processes and workflows, and evaluate how it went, while possibly considering better ways to do it. With all the websites out there that have a workflow in order to get something done, it just means there are a lot of opportunities for improvement.

I don’t need to go into detail of each area of improvement I would recommend for this restaurant order and delivery site, because often times enhancement requests and user workflow is different for every person, and also because if you’re reading this, you can spend a moment thinking of how to better the experience. As a QA tester, we have an opportunity to speak up during the building process and ensure that the workflow is the best it can be for the user. It doesn’t mean we will always be heard, or that as a team we will build the best user workflow, but it’s important to recognize the value of the team, and how each person looks differently at the workflow.

Testing The Rare Occurrences

Sometimes when testing, we encounter scenarios that are so rare that they may only happen once or so a year, every few years, or perhaps only once in a lifetime. These types of events or occurrences need to be in the back of our mind while they are approaching, so we can be sure to test when necessary.

The Daylight Savings

While not every town in America recognizes daylight savings, and especially the whole world, it is a strangely impactful event that really messes some people up in Spring, and one that some looks forward to in Fall. Most go to bed at night wondering if their alarms or phones will auto adjust for the new time come 2:00am, and there are some like myself who set multiple different alarms on different devices to prevent waking up late to the Sunday morning activities. The latter of course being a Spring problem.

When testing, it’s important to note if your product has time as an important factor, and if so, what happens when the clock strikes 2:00?

I thought it was interesting when I checked the weather for tomorrow’s day and noticed 1:00am written twice. That actually took me a moment to process and then made entire sense as we will relive the 1:00-2:00 hour tonight.

Seeing this made me think of the testers over at The Weather Channel app team, and the scenario they had to test which occurs twice a year for only specific regions of the world.

The Leap Year

I recall a few years back encountering a production bug with a user’s data who had February 29th as part of their information. Though I don’t recall exactly what field, it unfortunately wasn’t an obvious field like birth date, but rather something like CreateDate or an audit field which caused the user’s login page to look a little funny. This led to deeper investigation with a temporary fix of moving the date to something more regular until we were able to push a more permanent fix to production.

This would be another scenario where testing is so rarely encountered, but something noteworthy when the time approaches.

The Others

A couple other events to consider when testing is phone numbers and license plates. Recently I wrote about the increase in character count on the license plates in Wisconsin. That impacts things like the database and the UI that the DMV uses for license plate renewal and registration. It also has an impact on the software that car dealers use when distributing new plates. It is possible that any software was designed with this in mind, but testing and validation becomes slightly different, as now they accept letters before numbers, and vice versa.

I was recently thinking about phone numbers and how the seven digit numbers are soon to max out with the distribution of phone numbers growing so fast. They were able to assist the problem slightly with the introduction of area codes, but the problem will reiterate itself again soon I’m sure. Of course they can separate regions and add more area codes, but I wonder if and when they may add a region code like they did a few years back when people used to type 1 before the area code.

While I don’t know much about the phone number industry, it’s just another one of those events that occur so rarely that it may never be tested or designed originally, but perhaps the kind of thing we as testers should be aware of if the time is approaching soon.

Fortunately we are still a long way off from a five digit year!

What other rare occurrences have happened in the past or are yet approaching that we as testers have had or will get the joy of testing in our lifetimes?

The Importance of Clear Text

Took my wife out to dinner and while looking through the menu, we noticed a whole bunch of typos on the restaurant menu. I don’t recall seeing any spelling errors, but there were double commas, single and double spacing between ingredient listings, written out numbers like three but also condensed like 2, etc.

The Tech Writer

At Zywave, we have a technical writing department that ensures accuracy and consistency of on-screen text and our help materials. I actually began my career at Zywave as a tech writer and learned so much from the position. At times it may seem like a tedious job, or some outside the department may even have thoughts of its purpose, but I recognize the incredible value they provide. So often people can forget how important the consistency of text can be and the damage it could have on the users’ workflow if there are a lot of mistakes.

Last night I found myself searching the menu attempting to find yet another typo, that I wasn’t actually reading the menu searching for what I wanted to eat. I was so distracted that I had to continue the distraction further, and therefore not accomplish the task.

At one point, my wife said to me “restaurants should just hire us to proofread their menus”, to which I responded “they could bring us in, provide us a free meal, and we just analyze the menu throughout our meal”.

The restaurant we went to was not the first with menu mistakes. In fact, it may not be surprising to hear that nearly every restaurant we visit, we find a typo somewhere in the menu. Perhaps these menus are proofread before printing, but likely not by trained professionals that look for issues and correct them every day. Our human eyes are naturally drawn to mistakes, which is why we see it in human behavior before we recognize anything normal. This tendency easily distracts us from the workflow we’re in, so it’s important to have clear concise text.

Being a good QA tester is not just finding the bugs in functionality, it’s being a fully developed, well rounded analytical thinker who can evaluate all aspects of the product, including text and design, and ensure accuracy and consistency across the product. Training our minds to look for all these things can make us stand out in our work performance, while also having a positive impact on product output.

Next time you’re at a restaurant, see if you can find a mistake, I almost guarantee you will if you look hard enough. Also, here is a comic just for fun, not entirely related, but perhaps what some think the Tech Writer position is about.

Related image

Disclaimer: I have no tech writer review my writing, so it’s entirely ironic and accidental if there is a typo in the above piece.