10 Tips for Writing a Good Bug Ticket

Jul 14, 2015 by

I have spent a great deal of time in the last two years writing software tickets for new features and bugging issues that (inevitably) arise. Many of the engineers tell me that my tickets are very clear and easy to understand. I like my engineers (I even baked bug cookies for one who visited me in Utah) so I thought I would pass along my tips to be used by more people.

bug picture

Tips for writing a good bug ticket:

1. Find a way to reproduce the bug. If you can’t reproduce it, the engineer isn’t likely to be able to do it either.

2. Write numbered steps for reproducing the bug and/or make a video showing how to reproduce. Poke at the edges to try to get the bug down to the minimum possible way to reproduce. If you have to write 8 steps to reproduce the bug, see if you really need all 8 steps. For example, maybe reproducing only takes the last three steps – if so, simplify the ticket.

There are many free apps that let you make a screencapture video and share them with a link. I use SnagIt + Screencast. Just find the right one for you.

3. If the bug involves anything visual, include a screenshot. If possible, directly include the image in the bug (rather than a link to the screenshot). It is faster if everyone that has to view the ticket can just SEE the image directly.

4. Try to include some way to test the fix in the wild, like a URL to an example of where the bug is occurring.

5. Avoid words like “it” and “that”… be clear what you are referring to.

No: When it does that…
Yes: When the mouse stops working …
Yes: When the Submit button is pressed and the feedback screen appears …

6. Avoid words like “they”, them”, and “their” … be clear who you are referring to.

No: When they press it, that turns black and their cursor disappears.
Yes: When the user presses the OK button, the dialog box turns black and the cursor in the dialog box disappears.

7. Use the same language as the platform. If “score” is used in the platform, do not use “grade” on the ticket. The engineer who works on your ticket may be seeing the feature for the first time or be unfamiliar with the alternate terminology.

8. If your engineers are foreign, be particularly mindful to use plain english in your tickets. Tickets with complicated wording may get run through a language translator and simple English will translate best.

9. As soon as a sentence starts to read like an if-then-else statment, it is probably best to just rewrite using if-then-else language. When you rewrite, do so with the simplest if-then-else conditions possible.

No: When you are adding a new image and you give it a name, sometimes the name is already in use. We should make it so that you are warned if the name is already in use, and then you can decide whether or not to keep the name.

Yes: If the name for a new image is already in use in the database, then warn the author and have them decide [Use existing] or [Rename].

10. If you are bugging something for a software system that is not your product, you should also include additional information about the computer system or digital product where the bug was detected. In particular, share the type of computer/device, the operating system and version, the browser and version.

Example:
My system is a Macbook Pro running OS X Yosemite 10.10.4, I am using Chrome Version 43.0.2357.132 (64-bit).

If you want to save yourself some trouble with back and forth questions with the engineer, do the following tests and include the results on the ticket:

Did it work in another browser?
Did it work after you quit and restarted the browser?
Did it work after you cleared the cache?

Possibly Related Posts:


read more

The Watch: Killer Feature of the FitBit Force

Jul 6, 2014 by

I recently lost my FitBit Force in a Canyoneering mishap (Joel did say “Are you sure you want to bring your FitBit into the canyon?”) and now I’ve been downgraded to a FitBit Flex.

After many years of not wearing a watch, I’m finding myself yearning for my Fitbit Force and it’s “killer” feature: the watch.

I grew up with a watch. I taught the first few years with a watch. But somewhere along the way, the phone in my pocket and the ever-present time in the upper right-hand corner of my computer screen replaced the need for a watch. Or so I thought …

Since my loss of the Fitbit Force (which would helpfully provide the time if you tapped it), I have found myself missing a watch:

  • in the mornings, when I am too blind to see what time it is on the clock across the room
  • at dinner with others, when it is too rude to pull out a phone just to look at the time
  • on a run or walk with the dogs, when it was easy to check my wrist, but too difficult to unpack the phone from a waistband

I found myself regularly checking my Force in airports, but it was relatively useless when traveling (too difficult to change the time).  I hope that when Fitbit brings the Force back, it is able to reset its time by syncing to the time on the phone it is paired with. That would make it even more awesome.

Of course, you might tell me to just wear a watch, but I’m already wearing a Flex and don’t want to be one of those dorks wearing what appears to be two watches (though I predict this fashion coming back as we all try to make sense of the different feature incompatibilities of various wearable technologies).

When I was a college instructor, my reliable black & white laser printer was one of my most well-used technologies. Now it just sits and collects dust (along with my CD and DVD collections). While the world does seem to be moving away from “things” and towards online services in many industries (music, journalism, movies, education), there are places where the technology pendulum seems to be swinging back to practical things (like the watch).

I wonder if we’ll find the same thing happens in education? Right now online education has been “discovered” by the elite universities and is all the rage (ahem, MOOCs). Maybe in 5 years, small in-person class sizes will be back in vogue.

Isn’t it funny how the perceived usefulness of different technologies changes over time?

Note: I solved this problem with the FitBit Alta, which I love.

Possibly Related Posts:


read more

The Invasive Valley of Personalization

Mar 8, 2014 by

About 9 months ago, I gave a presentation at the World Future Society Conference called The Promise and Perils of Personalization.

After thinking, reading, discussing, and musing about personalization for about a year, I realized that there is a fine line between useful personalization and creepy personalization. It reminded me of the “uncanny valley” in human robotics. So I plotted the same kind of curves on two axes: Access to Data as the horizontal axis, and Perceived Helpfulness on the vertical axis.  For technology to get vast access to data AND make it past the invasive valley, it would have to be perceived as very high on the perceived helpfulness scale.

I remember the first time I saw Google Now deployed on my phone. It told me that my commute to work would take 16 minutes if I left right now. I had never told Google Now where I worked, I had not told Google Now the route I drove to work, nor had not asked it to calculate my commute time.  While it was slightly creepy that it knew all this information by analyzing my daily patterns, it was also useful, and the trip over the invasive valley was short. Of course, since I now work remotely from home, Google Now thinks I work at the LDS church across the street from my house now. I’m surprised it hasn’t figured out my gym patterns and started reminding me when to leave for yoga.

I think Google Glass is getting a bad rap simply because it is stuck in the invasive valley. The general population really doesn’t see it as providing useful technology for everyday life. Sure, you can snap a picture from your glasses, but if that’s it then you’re just sneaking into the privacy of others. If, en masse, we viewed Google glass as an incredibly helpful tool, I think it would successfully navigate itself up the steep slope to redemption.

Facebook wanders in and out of the invasive valley depending on the news and the latest release cycle of their apps and privacy statements. When the latest Facebook app demanded access to all my texts, I questioned the helpfulness of the feature it claimed to need these things for – account verification for some users. The idea that Facebook would read all my texts simply to add this one feature for some users slid it back down into the invasive valley for me. This feature is not helpful enough to warrant access to all that data.

In describing the “Invasive Valley” of data access and personalization my husband looked at me and said “Forget Big Brother, wait till you meet Big Mother!” and I think that is where we’re headed. Personalization is going to become our new life nagging companion:

Maybe you should walk now? You’ve only got 2,100 steps so far today.

You have symphony tickets on Saturday night, have you made a dinner reservation yet?

I can see that you’ve eaten yogurt for 4 mornings now, should we should add yogurt to your grocery list?

You’ve only gotten an average of 6 hours of sleep a night for 5 nights, I think you should take an early bedtime tonight.

Clearly enough data is being collected about me that Google Now could do any of these (if it had access to my FitBit and Smith’s card). Don’t these all seem like things your mother would remind you of?

Possibly Related Posts:


read more

My New Work Colleagues

Aug 16, 2013 by

Last month, I took a new position as Director of Learning and Innovation for Area9 – they build personalized learning software and learning simulations (e.g. LearnSmart, SmartBook, and SmartLabs). In this new position I am something of a learning software ninja. I propose, improve, design, spec, manage, test, and document new software features. I get to follow features and improvements from conception to completion and it is super fun!  I even write a little code here and there, which I haven’t done seriously since I was a chemist (a long long time ago when I was just out of college). I think the most rewarding thing is that in this job, I’m using almost every domain of expertise that I’ve accumulated over the years: math, science, social media, eLearning, student learning, research, higher education, game design, analytics, and personalized learning.

Since Area9 is based in Denmark, I am now a remote worker (a daily commute to Denmark seemed a little much). I get up super early (5am … my choice) in order to have some overlap in work hours with the Denmark office. While 5am may sound awful to you, the bonus is that my work day is half over by 9am (see, that part doesn’t sound so bad, does it?). Also, my commute time from bed to work is approximately 2 minutes (I have to stop in the kitchen for coffee). I do remember to take showers and get dressed properly, but sometimes not until lunchtime.

It’s a bit strange to think that I used to work in an environment (a College) where I interacted with hundreds of people every week in person. Now my in-person world is much smaller.  I actually take a couple-hour break in the late morning to exercise and go out to lunch with friends just to get out of the house and make sure that I have some human contact!  But I do have some company at the little home office – here are two of my colleagues:

So far, I’ve found that this new remote worker lifestyle is giving me greater flexibility (duh) to actually place some emphasis on having more balance in my life. I’ve gone back to taking karate and yoga classes. I have time to learn some of the things I’ve been meaning to (like programming in Python). And I’m really looking forward to winter because I can easily put in my work hours and then go snowboarding any afternoon I want!

Back in 2011, when I finished my Ph.D., I’m not sure what I imagined myself doing (I probably didn’t imagine myself as a remote worker living in Utah), but this new position seems like a particularly good fit!

Possibly Related Posts:


read more

Navigating Twitter Tutorial: The Basics

May 4, 2013 by

This is a short 6-min tutorial to help new and existing Twitter users learn a bit more about navigating in the Twitter web application. Do you know where to find the code to embed a tweet? How about where to make a new list or follow a list? How do you view a tweetstream as a conversation? What’s the difference between a mention and a reply?  Who can see a mention? Who can see a reply? Learn it here.

Possibly Related Posts:


read more

LinkedIn Connection Timeline

Apr 15, 2013 by

Just a little demo of what the LinkedIn Lab Connection Timeline shows you. A visual representation of who your connections are from different phases in your life.

Here’s How:

  1. Go to LinkedIn Labs Connection Timeline.
  2. Follow the directions to sign in to your LinkedIn account and share your data.
  3. Wait.

Enjoy!

Possibly Related Posts:


read more