The Software Testing Club recently put out an eBook called “99 Things You Can Do to Become a Better Tester“. Some of them are really general and vague. Some of them are remarkably specific.

My goal for the next few weeks is to take the “99 Things” book and see if I can put my own personal spin on each of them, and make a personal workshop out of each of the suggestions.

Suggestion #4: …and Recognize That You Will Never Know Everything – Amy Phillips

Malcolm Gladwell and his book Outliers has made famous the idea of “10,000 Hours”. For those not familiar with this idea, Gladwell states that, for many world class performers in a variety of disciplines (sports, academics, arts, etc.) the standout difference between those who have natural talent and those who can exploit that talent to maximum advantage come down to those who spent an enormous amount of time focusing on something and practicing their craft. Anyone can get passably good at something with a little time and effort. To get truly great at something, though, requires tremendous time and attention, to the point that to be world class at something, for most of us, we have to pick and choose what very few things we will genuinely be world class performers in.

Too often, we get overwhelmed by the sheer enormity of some goals. For many people, too big of a goal is just as demoralizing as having no direction at all. When things get to be to big, or we feel inadequate or feel that there’s just too much to learn, paring back and forcing yourself to deal with smaller chunks can be incredibly helpful.

Workshop #4: Practice The Rule of Three

This concept comes from the book Getting Results The Agile Way, written by J.D. Meier and a previous TESTHEAD book review. The key pint from my review, and I think the key point to this workshop approach:

For each of your goals, try to think of every thing you would like to accomplish, and break them out into four distinct regions; the day, the week, the month and the year. Now for each of those, think of the three things you most want to accomplish in each. If you want to just sample this idea, start with one day. What three things would you be really happy about if you were to complete them today? List them, visualize the outcome you want, and then time box and focus specifically on those areas to get them completed. If you do all three and still have energy, bite off a fourth thing, or more if you have it in you. Stretch this idea out to a week (what three things do you really want to accomplish this week), then to a month (what three things) and then to a year (again, what three things). The day level is, of course, an immediate view. The week level is a 500 foot view, the month is 15,000 feet, and the year, well, let’s picture that guy jumping out of a balloon at the edge of our atmosphere, shall we :)?

What makes this technique effective is that it forces the user to make constraints. Any goal that you want to achieve can only be addressed in groups of three. Of course, if you have energy to take on a fourth or fifth item, that’s awesome, but do not commit to anything until you have met the completion criteria contained in the “rule of three”. The cool thing about this constraint is that it allows individuals to breathe. It forces the individual to prioritize and focus on the things that matter the most. It also allows individuals to create parallel paths. If you have it in you to do six things, then focus on two different areas and do three things for both of them.

This also helps in the sense that it gives the participant a chance to actually leverage areas that they are strong, identify areas where they are weak, and seek to balance them for a more general level of knowledge. Additionally, if a participant wants to maximize a strength, then they can specialize in a given area and learn  that much more for it.

By making a game plan that has deliverables that need to be covered every day (and a limited number at that) accountability is easier and more tangible. It’s also easier to see how well you are progressing as the data points to examine are fewer, but more regular.

The trickiest part is making the split on goals, and making sure that the goals you set are those that can be accomplished as sets of three each day. This means, often, that initial goals are set low and may take only a few minutes during the course of the day. For some, this may feel unnatural. Why limit yourself when you are raring to go and have a lot of enthusiasm? The reason is that you want to do what you can to keep that enthusiasm going for the long haul. Some goals might me three tasks and your done, but most are probably much longer and more involved. I tend to think of the math books I had to lug around in grade school, junior high, and high school. Often, I’d think I had plenty of understanding of the problems in the book, or I’d just sit down and plow through a section until I did everything, often at one sitting. The problem with that is that we don’t give ourselves enough time to process what we re doing. That, or we feel we learn enough to regurgitate answers onto a test, and once we’re done, we breathe a sigh of relief, and then we move on or just stop. We end up forgetting much of what we learn when we do things in too large (or not large enough) chunks. Over time, we will learn how to balance our “rules of three” so that we have a good balance between enough work to carry over each day and enough of a challenge so that we actually learn something new, and make it stick.

I recall telling a friend of mine that, if I spent one hour a day, every day, on learning Japanese, that by the time I completed my 10,000 hours, 27 years would have passed. If I spent two hours a day, it would take me 13 1/2 years. Four hours a day, roughly seven years, and if I spent 8 hours a day, then I could become a world class speaker of Japanese in about three and a half years. What’s the problem? The reality is, I really have closer to the one hour a day opportunity level than I do the eight, so I have to adjust t my expectations accordingly. Likewise, the broader and more varied the topics I want to learn, the longer it will take to develop any level of mastery at them. In short, I can’t and I will not learn everything. Even in a discipline that is theoretically bounded like software testing, there are so many disciplines that inform it that, even there, I cannot learn or know everything. I can come close to knowing everything in small slivers. If that’s my ultimate goal, then it makes sense to specialize and go deep on those topics. If I want to be as flexible as possible, then I will want to learn a lot about a variety of different areas, but be content with the fact I will be a master of none of those areas. Ultimately, we have a limited amount of time to learn the things we want to learn. Make a game plan to make the best use of that time, and then attack it with a plan that will go the distance.