Wednesday, December 30, 2015

Aedificamus: Book Review: The Science of Yoga

When I made a commitment to lose weight, get back into shape, and take control of my aging process, I had to come to grips with the fact that years of weight lifting had left some parts of my body in less than optimal condition (yes, elbows, I’m looking at you). Finding exercise I could do that would be effective, help develop strength, flexibility, & endurance, and overall not exacerbate issues I already have, friends encouraged me to look into yoga.

I’d long eschewed yoga because of the tendency of people to put a lot of “woo” into it. As a software tester, I’m a professional skeptic. The pronouncements around yoga had long been high on spiritual and cosmic wonders, touted as a cure all for everything from depression to cancer. Also, I’m comically non-flexible, so I figured this was just not for me. Over time, though, I decided to try it, and in the course of a few months, I saw some marked improvements in my physique and strength, but also in my overall mood. In short, I felt great, and yoga practice had a hand in that. But still, come on, all these goofy claims… isn’t there someone out there willing to take on the topic and do a MythBusters on the “woo” of yoga?

Turns out that, yes,  there is.

William J. Broad is a lead Science writer for the New York Times, so he has the skeptical science part down. He’s also a long time yoga practitioner, starting his practice back in 1970. He, too, was curious about many of the claims, and decided it was time to examine the history and scientific research. The Science of Yoga delivers on its title, in that is investigates, objectively, the benefits and the detrimental aspects of yoga.

Yoga is a fascinating culture. It’s both ancient and totally modern, deeply tied to ancient Indus Valley history and practiced for millennia, and it is the hip go-to cultural balm for our busy times today. It’s steeped in Hindu tradition, and actively used by those with no understanding whatsoever of its long history or spiritual connection. It ties together isometric physical training, breathing, meditation, focus and body manipulation into a fully systemic training approach. It’s adherents can approach the subject with a reverence bordering on hagiography. Broad does his best to be objective, skeptical, and play by the book, but at times even he admits that what science has studies and objectively reported on doesn’t entirely add up with the combined experience of its adherents, including himself.

The book is broken up into several sections, addressing the history of yoga, and really only covering a small slice of the yoga experience. Each section takes on a bit of the history surrounding claims, including anecdotes and historical references to writings and studies done in India, Europe and the U.S. & Canada. He then shows where scientific studies have been performed (or not), the limitations of said studies and shortcomings, as well as where findings are contradicted or confounded by everyday practice. While Broad makes the point early on that science does not have all the answers, it corroborates more than it refutes.

Several broad chapters look at specific areas like overall health & fitness, weight loss & metabolism, mood & psychological health, risk of injury & healing properties, sexual health & performance, and creativity. The short answer is that there is some hard science behind many of these aspects, and in many cases, the science backs up many of yogas claims. It also debunks a fair number of them, but not without accompanying controversy. Yoga is touted as a way to get yourself slim and toned because it boosts your metabolism. Science shows that the opposite is true, it actually slows metabolism, but in that slowing, it also helps the body recover and heal in ways that would be unlikely in the absence of yoga. This seems to be the cadence of the book. There are claims, science either supports or refutes the claim, but in the process, something about the refutation supports another aspect as to why that benefit occurs. Many questions are answered, but just as many fresh questions arise.

One of the chapters in the book deals with injuries, and for a discipline that prides itself on being very safe, yes, you can certainly hurt yourself doing yoga. Having said that, the number of injuries compared to other activities, including being sedentary, pales in comparison to the overall benefits. Plus, most injuries can heal, and an alteration of one’s routine are all that is needed to avoid such injuries in the future.

Added to the chapters is a list of who’s who in the history of yoga, a chronology of developments, discoveries and explorations, and a lengthy bibliography and end notes that adds close to a hundred pages to the core text.

Bottom Line:

"The Science of Yoga" answers a number of questions, and raises many more. Broad makes clear that science is a discipline that observes data and outcomes, and reports on the results. In many cases, claims do not hold up, but while debunking one myth, a discovery shows where yoga is getting it right, and opens up avenues to new ideas and new studies. This book scratched both my skeptical itch and my exploratory yearning itch at the same time. It made me feel more aware of the realities, but just as excited about the possibilities. If the idea of getting under the mystical layers of yoga intrigue you, and you like the idea of putting claims to the test and seeing where those tests lead, or may lead, then “The Science of Yoga” is an enjoyable read.

Tuesday, December 29, 2015

How Do I Work This?

It's another year end, and another chance to come back to the Talking Heads song "Once in a Lifetime", since I feel it to be an apt metaphor for this blog, as well as the past couple of years of growth, change, learning, unlearning, accomplishments and frustrations, steps and mis-steps, and all of the other things that come with being a software tester in a changing software world.

I celebrated five years of Testhead this year, and passed 1,000 blog posts. I also had an opportunity to expand my blogging to some additional areas, including a stint with IT Knowledge exchange and the Uncharted Waters blog. As with many things, times, priorities and situations change, and I wrote my last blog post for Uncharted Waters back in November. It was a good run, and I thank ITKE, Matt Heusser and Justin Rohrman for letting me offer my perspectives on a few things this past year.

This was "The Year of Accessibility" as Albert Gareev and I decided we would combine our efforts and work on talks, test ideas, workshops, presentations, and a stretch goal of preparing a treatment of a book about Accessibility testing. I am happy to say we made some great steps in that direction. we both delivered several talks at various local testing groups, as well as national and international conferences. We proposed and collaborated on ways to present the materials, and we introduced two mnemonics related to accessibility testing (HUMBLE and PaSaRan). We did not complete the treatment for the book, at least, we have not completed it yet. Part of it was time and other things getting in the way, but for me it was also the discovery of and a developing interest in the parallel discipline of Inclusive Design, which I think can be an excellent addition to the discussion Accessibility Development and Testing. 2016 will see me branching into other areas to talk about, but rest assured, this is a labor of love for both of us, and you will see plenty more from us on this topic in 2016 (that is, if Albert wants to keep going with this; I'll not presume to speak for him ;) ).

This year saw many personal changes, most sparked by one defining factor. In April, I said goodbye to Ken Pier, my director, my mentor, and my good friend. He died of cancer, and he left a hole in our testing team that we are still recovering from. After several months of searching, we found another tester to join our team, but we did not replace Ken. We cannot replace him. We can only carry on, while keeping his legacy and influence alive. Part of that meant we chose to integrate our testing team with the broader engineering group. We all report to the VP of Engineering, and we all are "developers" on the same team. In addition, I've taken on the responsibility of being the release manager for the company, which has required some "interesting" lessons in the realities of software development, continuous delivery, continuous deployment and continuous testing, and the limitations that corporate entities may require to make these systems work. In short, this year saw me step into more of a "specializing generalist" role, and to spread into more development initiatives than I had been involved with before. If I thought I was ignorant on software delivery concepts before, it's been made abundantly clear just how much i still need to learn.

This change, and the necessities of the demands of work, required that take a hard look at the things that I could effectively do, as well as the things I could not do any longer. After four years of involvement, I stepped down from involvement as part the Board of Directors for the Association for Software Testing. I did this for a number of reasons. First was the demands of work and home were making it less possible for me to deliver on what I felt the organization should do. I would rather say I cannot do something than say "yes" and not deliver. Sadly, I saw more of the latter happening than I wanted to. Additionally, I feel that organizations are not well served when people become "too comfortable" and "too entrenched". We as people stop growing, and the organization loses out on new ideas and innovations that others can provide. I am still actively involved with AST, both as an instructor and, going into 2016, as what I hope will be more of a content provider role as we develop new materials to supplement current classes and, we hope, create brand new ones.

One area that I have likewise addressed, and has been a big part of my life for the past few months, is a focus on my personal health, and a change of habits that I became determined was necessary. The deaths of two coworkers within the past year, both from the same condition, and one I have genetic markers for, have made it a priority with some urgency for me. Many of my posts have been written around fitness, health, and using software testing principles to re-create myself. For some of you, that's been a nice addition to this blog. For others, probably an annoyance ;). Still, it's part of my learning, and I think much of what I have learned has relevance to testing and discovery, so I will continue to talk about and post those items here. I will, however, be making a slight change going forward. From now on, when you see a post with the word "Aedificamus" in it, know that that post likely has something to do with health, fitness, food or some other learning on my journey to get and stay as healthy as possible. Aedificamus is Latin and, loosely translated, means "rebuilding through practice".

As I bring this year to a close, sometimes I wonder if people still consider this blog relevant, or if what I write has had an impact for other testers out there. Needless to say, I was both humbled and gratified to hear Brent Jensen and Alan Page both mention the TESTHEAD blog as one of their picks for 2015 on the A/B Testing podcast. It was really touching to hear Brent say that he appreciated that I was learning about, and publishing as I went along, the changing landscape of software testing, and where I felt my role in it might lie both currently and in the future. Some years ago, I did an extended review of 'How We Test Software at Microsoft" and I recall Alan Page writing about how he appreciated that I "got it", that I understood ultimately what he and his co-writers were trying to say. For me, it's my turn to return the favor. Thank you, Alan and Brent. thank you for "getting" TESTHEAD, and thank you so much for the shout out in your year in review podcast. I am proud to have you at the top of my list of alphabetically ordered favorite podcasts ;).

This year requires a lot of thanks to a lot of people, some of which I have mentioned already, but additionally I want to say thank you to Erik Davis, Markus Gaertner, Keith Klain, Alessandra Moreira, Justin Rohrman and Pete Walen, my fellow Board of Directors members with AST for the 2014-2015 year term. Thank you for your support during my year as President, and all of your help and encouragement along the way. Additionally, thank you to Ben Yaroch for being an advisor, for letting me know when I was doing something good, as well as when I was doing something stupid. I appreciated the advice every time, even if I did or did not always act on it. My thanks also to Ilari Aegeter,  Alex Bantz, Roxanne Jackson and Eric Proegler for stepping in this year and becoming Board Members to keep the work moving forward. I love the energy you all bring, and I am excited to see what we all do next. My thanks to Justin Rohrman (again), Albert Gareev (again) and JeanAnn Harrison for your continued efforts along with me to facilitate Weekend Testing Americas. We celebrated our fifth anniversary this year, and I am happy to say we are still going strong, thanks in no small part to your efforts. My thanks also to Matt Heusser for his willingness to include me on a variety of projects and to always be a springboard and feedback for ideas both well formed and, sometimes, in need of considerable polishing. I look forward to many more opportunities to keep storming the castle. Thank you Josh Meier and Curtis Stuehrenberg for working with me to keep Bay Area Software Testers a thing. We have a lot of software testing talent in the Bay Area, I want to see that talent grow and us help that process. There's lots to do :). Finally, my thanks to everyone who listened to me speak, participated in a class, joined a weekend testing session, came to a meetup, or read and shared a blog post of mine throughout this year. Thank you for making 2015 a great year for me, and here's looking forward to 2016. I'm curious to see what the title will be next year ;).

Tuesday, December 22, 2015

Aedificamus: "What's Your Secret?" is Really "How Did *You* Do It?"

It all started with a picture. Specifically, this one:

It's a picture of me, hunched over on the couch, holding an at the time tiny kitten. I can make excuses all I want (bad angle, bad posture, etc.), but this picture was the moment when I finally said "Enough!!!"

I have a mental image of myself. This size, and these dimensions, are not it. I made a commitment I would turn this around on August 14, 2015. We were at a celebratory dinner for my son's 19th birthday. When we came home, I weighed myself and about screamed when I saw I was 260 pounds!

Four months and a few days later, my daughter took another picture. Specifically, this one:

This picture was taken Saturday, December 19, 2015, after a day strolling around the Dickens Faire. Having bought new clothes a couple days earlier, and having tipped the scale at 205 pounds that morning, I felt a little celebratory, and wanted to record the moment. Along with other pictures, I posted this one as a way to say "here's what I've done so far, and I still have quite a ways to go."

 I received a number of comments, and a few people asking "what's your secret?". 

As I've pointed out many times, there is no secret other than "do more and eat less", but I want to thank my friend Adam Yuret for, amusingly, pointing something out to me. He said that, as a consultant, he is often asked by clients to share "secrets of success". Were he to answer them with "there are no secrets, just hard work and execution",  the result would be he would have angry clients. They want to have something to grab on to, something that will help them know that, this time, they will succeed. You may know different, you may know there's no magic bullets, but they aren't asking you for a talisman... they are asking "How did you get from Point A to Point B?"

Another friend sent me a message asking a similar question, i.e. "what's your secret", but they made it clear in the message that what they really wanted to know was "what is your system?" They could see I'm doing something that is working, but could I give them some more details about what I chose to do, and why, so they could see it in a broader context? That is absolutely a fair question, and yes, by going back and reviewing the past four months data I have accumulated, I realized I do have a "system". It's not elegant or clean, but I can offer some thoughts on what I have been able to do and learn over the past four months. 

Some of this is going to seem very elementary, and some of this might sound a bit... odd. Nevertheless, after going back and reviewing what I've actually done, here's the system that has brought me to this point in time, with the caveat that what has worked in the past may not work in the future, and it may not work as well for anyone else.

Pick an Activity Goal That is Easy to Remember and Accomplish

I made a commitment to "Walk 10,000 Steps Each Day". Regardless of any other activity I may do, that's the one I treat as a mantra.

For those curious, this goal is cumulative, and you can do a surprising amount of walking just in your every day activities. 10,000 steps is roughly five miles, and an hour and forty minutes of total walking. Since I commute by train, I've worked into my daily commute most of those steps. When you make your exercise part of your daily routine and integrate it into things like your commute, that helps keep it consistent.

I should also add that I allow myself one break day each week, usually Sunday. I'm LDS, and as such, I try to not do certain things on the Sabbath. It's a personal decision, and one that I have found I get great benefit from when I follow it. If I am out for a day with my family after church, and I happen to cover 10,000 steps, I don't get too bent out of shape over it. In general, though, I let myself have that day where I don't specifically train. That chance to rest, I feel, is critical to keep focused the other six days to let me go full force. Often, I will go a little further, say 12,000 steps, on the six days so that I still have an every day average of 10,000 or more.

Focus on Variety in Your Activity, Do What Works and is Engaging, Drop What Isn't or Hurts

I think it's important to have a variety of stimulus to get moving and keep moving. Over the course of four months, I have done weight training, calisthenics, body weight exercises, used resistance devices, played a variety of sports, pulled my Dance Dance Revolution games and dance pads out of the closet, and taken up yoga. Some of these activities have had to be curtailed or modified because of joint pains or prior injuries that I am still recovering from. If something hurts, or I am genuinely just not into it, I will find something else to do. What I do is not as important as the fact that I do something, and do it each training day. This is in addition to the 10,000 steps, although I do sometimes combine my 10,000 steps when I play DDR. When I do that, I split the difference calorie wise, which brings me to...

Get a Good Gauge on The Exercise Calories You Expend, In All Categories

This is not as straightforward as many people think, as calorie expenditures for exercises, and the use of trackers like FitBit, etc. are often normalized over the course of a day. Some activities that seem fairly straightforward and mellow have huge calorie counts, and those where we feel we are putting a lot into don't register very much. Yes, exercise burns calories, but not near as much as we think it does. We also eat more calories than we give ourselves credit for, so counting calories honestly and dependably is important, and needs to be done daily. Check this calculator out to get an idea as to how much certain activities measure up in total calories burned.

A Key Value: BMR + 200

Learn your Basal Metabolic Rate (BMR), and understand that it will change as you lose weight. Your BMR is what you would burn in calories even if you were to stay in bed all day and do absolutely nothing. Your heart, lungs, brain, kidneys, stomach, muscles, bones, and every cell in your body needs to be nourished, oxygenated and replenished. That process is energy demanding. Based on your height, weight, age and gender, you can determine what your BMR is at any given time. Here's a calculator you can use to get started.

When I started this process, my BMR was 2,304 calories each day. Today, at 205, my BMR is 1,961 calories each day. Yep, down by 343 calories. The key here is regularly keep checking in on your BMR. Eat up to the level of your CURRENT BMR, plus maybe 200 additional calories for good measure. Check in weekly to determine where your BMR is, and adjust your caloric intake appropriately. Trust me, you will still lose weight because...

Subtract Your Activity Calories from Your Daily Calorie Budget

Your additional activities above and beyond BMR are subtracted from your daily needs. Put simply, "DO NOT EAT BACK YOUR EXERCISE CALORIES". If you have a BMR of 2,000 calories a day, eat 2,200 calories for good measure. Then exercise, work out, go for a walk, do yoga, clean the house, do yard work, play baseball, be a jungle gym for your kids, whatever. Figure out the caloric expenditure of these activities (a FitBit may be helpful here, or some other device, or use the calculator above or an app that has calorie tracking, but again, it will still be an approximation). Subtract those expended calories from your daily BMR+200. If you find yourself going into a fully negative deficit, meaning you exercised more than you actually ate that day, then by all means eat more, but generally determine to not eat back exercise calories. Remember that 3500 calories is the equivalent of one pound of fat, so you need to be running that level of a deficit to actually burn that fat away. 7000 calories is roughly two pounds of fat, and that is a good goal to target each week because...

Pick a Target You Can Commit To, Such as Two Pounds a Week

In the mid 1980's, I was taught that two pounds a week was a good max number because anything beyond that would start catabolizing muscle. I now know a bit more, and understand that no matter what you do, you will burn some muscle in the process of burning bodyfat, just as you will build more muscle if you are willing to accept some extra bodyfat deposits in the process. Also, there's a fair amount of fluctuation with water weight that can cause you to go up or down by several pounds.

The key thing to remember is that your body is very aware of what is happening to it. The human body doesn't care about fashion, vanity or self expression. It cares about survival. It is optimized for that express purpose. We have to work with it so that we don't convince it that we are in a famine, or that we are facing severe trauma. For me, that has meant trying to not be too severe with my weight loss. Additionally, two pounds a week is a good target simply because of mathematics; losing more than that is just plain hard in terms of calorie restriction and time to exercise. Two pounds a week is doable for me. Your mileage may vary.  See this article for a good explanation for the number, why some can do more and why it's not an absolute value.

Be Prepared to Change What and How You Eat, Perhaps Drastically

As part of my process, I developed an approach of "eat it whole, eat it raw, eat it unprocessed, as much as possible". This has meant, generally, that most processed foods I have enjoyed eating (chips, cereals, pasta, packaged bread products, crackers, cookies, soda, juices, condiments, etc.) are no longer a regular part of my diet. That doesn't mean I never eat them, but they are an exception, whereas before it was more the rule. In their place, I tend to eat fresh fruit (raw or from frozen); raw or simply cooked vegetables (again, typically fresh or from frozen); smaller amounts and greater varieties of meats, including eggs; high quality oils, typically in the form of either pressed oils or from nuts; milk products, typically in soft cheeses, yogurt and kefir. I also purchase a protein supplement to help make sure I'm getting enough protein each day. The fiber in fresh fruits and vegetables fills me up to the point that I don't feel the need to eat all the time. I include grains like wheat, rice or oats, but I eat them preferably as unprocessed as possible. I like getting the full berries (red wheat, bulgur, teff, barley, groats, quinoa, amaranth, etc.) and cooking them in a rice cooker (yes, it works the same way, although it needs more water and takes a little longer). Key here is I do not eschew any particular food items, but I try my best to keep them balanced and consume them in a way that my body can reap the most nutritional benefit.

No matter what, though, I find that I have an occasional craving for something sweet and a need to chew something, and vegetables ain't gonna cut it. In these moments, I do have a secret weapon, and that's sugarless chewing gum. Seriously, I chew a lot of gum! I also tend to drink about two liters of water a day.

One thing to point out is that eating clean (meaning focusing on fresh fruits, vegetables, nuts, oils, etc.) can be pricy. On average, I spend $50 a week on food. That does not include meat or other miscellaneous food items. With that in mind, sometimes I have to make economic choices with what I choose to eat. My optimal choice may not always be practical. Fresh is best. Frozen is a good second option, with the benefit that there are no "aspirational frozen vegetables" (they can keep for several weeks in the freezer, and they are often considerably less expensive than buying fresh). Dried would be next (think beans, rice, minimally processed fruits, etc.). I will eat canned food if I absolutely must, but only after a good rinsing because...

Wild Fluctuations With Weight? Hello Sodium, My Frenemy!

Sodium is part of the canning and pickling process, and sodium can be awful to the process of losing weight, especially if you are one to check your weight every day (which, I should mention, I do). It is not uncommon to reach a new low, then spike three pounds, drop two pounds, jump up two pounds again, drop four pounds and then settle at a new low. What is going on?! Days when I see these wild spikes and dips, I can almost guarantee it was because I ate at a restaurant or otherwise didn't have the option to prepare my own food, and excess salt was part of that meal.

Sodium is insidious, it's in just about everything. Don't get me wrong, sodium is important. We'd die without it, but most of us get way too much of it, and definitely more than the potassium we should be consuming to help balance it out. Within 48 hours, most of that weight is gone, usually because I consume enough water to dilute it out, or I increase the concentration of potassium in my system to do the same (bananas are my friend... no, seriously, I love bananas specifically for this purpose). Either way, if you notice that you have suddenly put on a bunch of weight in a day, and you are struggling to figure out why, some of it could be fat deposition, some of it is additional mass in the digestive tract (totally normal and expected), but a good amount of it is water binding due to sodium being a greedy element.

In most of my recipes I do not use salt because I typically don't need to; there's plenty there already. Using it as a flavor enhancer is fine, but be sure you are aware of how much you use and consume, and be prepared the next day when the scale spikes. It'll go away in a day or two.

Pick a Macronutrient Breakdown You Can Live With

Bring balance to what you eat, in the way that makes the most sense. My approach may make sense for you, or it may not. There's lots of mitigating circumstances you have to consider. Health conditions, moral choices, religious considerations, etc. may require you do do different things. Again, being LDS, I do have a couple of food restrictions I choose to follow. Food items and beverages derived from coffee beans and black/green/white tea are not part of my diet. I also do not drink anything with alcohol in it. Outside of those, I consider myself an overall omnivore, with a love for food from all over the world. I've often referred to myself as "utilitarian" when it comes to food. I respect those who choose to be various levels of vegetarian/vegan, and I experiment with recipes in that vein to see what I can do, and often go considerable stretches where I don't eat any meat at all, but I find it overall helpful to my diet and goals, so I keep it as a component, albeit considerably reduced from my prior eating habits before August.

I've experimented with several different nutrient profiles, and the one I like best and find most effective is based on the Zone Diet. I strive to get a gram of protein per lean pound of body weight each day. From there, I aim to get 30% of my calories from protein, 30% from fats, and 40% from carbs. Sometimes I switch the protein and carb percentages (40% protein, 30% carbs, 30% fats).

Regardless of the method, you need to consume less than you burn to create a deficit, and you need to create a long term deficit to have a major impact on fat burning. That is the same regardless of the breakdown you choose to use. Another way I like to help stack this is I use a challenge template that's run at LoseIt regarding fruits and vegetables. Every day, I aim to get 225 calories from fresh or frozen fruit. Additionally, I also aim to get 200 calories from fresh or frozen vegetables. The fruit calories are easy to meet. The vegetable calories, depending on what you choose, might take some doing. Added to that, I try to make a point of varying what I eat whenever possible, so as to get a broad cross section of fruits, vegetables, meats, oils, etc. and also get a broad spectrum of vitamins and minerals in the process. I also take a cheap daily multi-vitamin to cover my bases.

Get Help From an "Accountability Partner"

Find a support system to help you through the process of losing weight and training. Have an accountability partner, preferably one you are not married or otherwise related to. Our families love us, they really do. They can be our biggest cheerleaders, but they can also be our worst saboteurs, often at the same time and have no idea they are doing that. When you have a dispassionate accountability partner, those issues mostly go away. Your accountability partner can be electronic (apps, spreadsheets, training diaries, etc.) or they can be real people you interact with, in person or virtually. I have found a nice balance. I use electronic means, using apps like Pacer for step data, LoseIt for calories, and FitStar for workouts/training, plus I have a BlueTooth scale that integrates with LoseIt that tracks weight, BMI, body fat percentage and hydration levels (though the last two seem to be related in a strange counter symbiosis, and are not really reliable, but that's another topic ;) ).

Additionally, the Social community within LoseIt has been terrific for me. I take advantage of a variety of challenges that occur within LoseIt, and I am a greedy collector of "badges". It makes the quest fun, and it keeps me looking forward rather than behind. Challenges also give you a chance to cheer on others, and let them cheer you on as well. You can certainly train on your own, but having a support system can be tremendously helpful, especially if you check in regularly.

Having said all of that, this is work. It takes time, dedication, and commitment, and will require it for a long time, not just for the duration to lose the weight, but for the time that follows so that you stay diligent and keep the weight off.

I should also mention that this "system" as described was derived over the course of four months, with the idea that I would tweak some small thing each week. Taken in its entirety, were I to say I was going to do everything outlined here on day one, I would probably have given up. This represents a major paradigm shift in the way I ate and exercised, but I made small incremental changes along the way. Consider it "Agile Dieting and Conditioning", where very small changes made regularly brings you to a totally different place months down the road, but the individual changes were so small and so frequent that they were nearly imperceptible. I would suggest anyone looking to make major changes to their lifestyle do something similar. Don't try to reinvent yourself all in one go. Let yourself experiment with small changes, be open to learning what works for you and keeps you engaged, and make small tweaks on a regular basis. I think "a tweak a week" is a good pace.

Another important consideration is "your body is adaptable". What works at one point in time can stop working later. Plateaus happen. Reversals happen. You will get tired. You will get frustrated. You will get angry. You will get invited to events where you decide to chuck your willpower and self control. It happens. We're human. The best advice I've received, and the advice I frequently give myself and others when this happens, is courtesy my friend and accountability partner Pat over at LoseIt...

"Own It... Log It... and Move On!"

If there is any "secret" in all of this, that statement is it. That's the magic. It's the magic of mindfulness, the secret is owning this process and being wholly responsible for success. When we do well, celebrate. When we backslide, acknowledge and learn. When we discover something doesn't work any longer, adapt. Regardless of what it is, good or bad, euphoric or frustrating, enlightening or damning, "own it, log it, and move on".

I'm not perfect by any means, but I know how this feels, and that is often a big help to others. Start your journey, and let me know if I can be of any help along the way. Likewise, I still have promises to keep, and miles to go before I sleep ;).

Monday, December 21, 2015

Aedificamus: The Inelegance of Achieving Goals

Below is a picture I look at almost every day. I've watched this picture grow since August 30, 2015. It's a graph, with a definite trend, but it's not clean, it's not elegant, and it tells a lot about reality and challenges, disappointments and elation, setbacks and moving forward.

That graph is what weight loss looks like. Often, we see charts that show a straight line from Point A to Point B. That's because they take the start value and the finish value, and then plot it over the total time. It's accurate, but only partially. What is missed is everything that happens in between. The initial drop that gets us motivated, followed by reversals, sometimes the very next day. Sometimes we have plateaus, sometimes, no matter what we do, we get spikes upward that seem to make no sense. We get tired. We get sick. We become demotivated. We lapse. We then weigh in, get frustrated, redouble our efforts, and then start the process all over again.

The reason the map is jagged comes from the fact I made a commitment to weigh myself every day. There's one exception to that rule; while I was in Potsdam for Agile Testing Days, I didn't have access to a scale. That meant that, for seven days, I could not weigh myself to see what was happening. When I got back and weighed in, I had gained two pounds. A setback, to be sure, but being at a conference half way around the world, with its crazy hours and no ability to make my own food for the duration, I was OK with that. The long flat rise in the graph reflects that time, and I can see it for what it is, and what it represents.

December is a perfect storm of a month. My daughter, wife and I all celebrated birthdays within a week of each other. My wife and I also celebrate our wedding anniversary in this same week. As we lead up to the Christmas Holiday and all the numerous other celebrations that come together during December, it is ridiculously easy to see dramatic changes in progress. I can pinpoint every celebratory meal and event that caused the spikes, and each drop that occurred after I got back to my regular habits and practices.

The green line at the bottom is my end goal. By the time I reach it, I will have lost a total of seventy five pounds, I will have a BMI that doesn't categorize me as overweight, and I am aiming for a bodyfat percentage somewhere around 15%. Less would be great, but I can happily live with 15%. I still have a third of the poundage left to lose, and the journey is getting harder the closer I get to the goal. Even then, once I hit the goal, then the real challenge starts, that of keeping my weight at the target long term. I've dropped weight before, but I've not been successful in keeping it off. I am trying to make this time be different.

It strikes me that this process is similar to most of the goals we set. If taken in their entirety, they can feel overwhelming and impossible. The time commitment and dedication required can deflate even the most enthusiastic. This time around, I decided to recruit some help and reinforcement. The first was electronic, in the way of fitness and nutrition apps that helped me plot a course, figure out small changes I could make, and over the course of several months, try out what worked best for me. Some ideas are simple and almost mantra like, such as "get 10,000 steps every day". Some required me evaluating my age and some aches and pains I can't avoid, but rather than being macho and "work through the pain" I adapted what I did so I could work around and deal with the pain proactively. Later, when I lost a bit of weight, or gained strength doing something else, I was able to go back to the areas I was less comfortable with or at the time hurt too much to be effective, and was able to be effective at that point. Little changes, small victories. 

Additionally, I have been bolstered by people that I do not personally know, but who have been tremendously helpful along this journey. I have vacillated on this in the past, but I am becoming more convinced that accountability partners are important, and in some situations, the less emotionally attached you are to those accountability partners, the better. When we are emotionally attached to our accountability partners, we are more likely to forgive lapses, both in ourselves and in them. I don't have that same level of connection with my LoseIt friends, and in a way, I think that's a strength. To be fair, they have been nothing but supportive and wonderful, so I am not saying this as a way to say these people are distant. In fact, I feel like I've grown to know them pretty well. It's just that this is the context in which I know them, the context of losing weight and exercising, so I feel more inclined to bring my best to my interactions. Same goes to my interactions with coding and testing initiatives. I'm likely to give more of my focus and attention to those who both understand the domain I am in, but are not "too close" to me.

As I stare down the twenty plus pounds remaining, I am reminded yet again that no goal worth attaining is ever easy, and that setbacks are how we learn. If it were easy, everyone would achieve it. My thanks to all who find this journey remotely interesting. Even if you do not, but you still spend time to read this blog and message me from time to time, thank you. You all help keep me going :).  

Monday, December 14, 2015

Does the Agile Testing Process Work? - A #BAST Lean Beer Summary (1/5)

On Thursday, December 10, 2015, the Bay Area Software Testers Meetup Group got together and held its quarterly Lean Beer event. Lean Beer is the "evening equivalent" of Lean Coffee, where individuals come together and discuss topics of interest in a loose format. Topics are proposed, the participants vote on the topic that most interest them, and the topics are ranked based on the votes they receive.

Each topic gets a set time to be discussed and at the end of the time, a vote is made to see if the discussion should be continued. if majority votes to continue, more time is added to the clock and the discussion continues. If the votes indicate energy has been depleted for that topic, we close it off and move on to the next one.

We covered five topics at our most recent event, and based on the feedback, and as a point of reference for the members of the BAST Meetup that couldn't attend, these are summaries of what was discussed.

The top vote recipient, and therefore the first topic we discussed, was the "Agile Testing Process", or more to the point, "is there such a thing"? For several of the attendees, it seemed that the Agile Development process worked, but that testing was still treated as an after the fact activity. Isn't the point of Agile software development supposed to be that information about the product is discovered quickly, feedback received, and the ability to deliver software faster is primarily to make better quality software available?

Included in these questions is also the changes that many have witnessed at their respective companies as to not just how software development has changed, but how software testing at those companies has changed as well. For some companies, there is not a dedicated test team any longer, at least not one with a separate reporting structure. The idea of a separate test team and test manager has given way to having an integrated team of programmers and testers working together as much as possible, or to having test be an activity rather than a separate role.

Regardless of the team structure, testing is meant to happen, but how that testing is performed or who does it is open to debate. For those of us who work as testers in our given organizations, our efforts are often spread among various initiatives. Some of us focus most of our efforts on exploration, some of us are primarily working on automation. Some of us have the ability to get into the story writing process early, via the Three Amigos approach, and can apply our testing efforts early on during the requirements stage. Here, we are able to provoke requirements and provide thoughtful analysis and add value by helping see what aspects we need to consider up front before development even starts.

One of the comments that most of us agreed with is that having a dedicated (as in, involved) product owner made a considerable difference. Unit tests and Test Driven Development can be a big help towards designing a product that meets the requirements set forth by the stories. Having a system in place that allows for the software to be built and deployed in a timely manner can be a tremendous help to the process. Automation is important here, but more so to eliminating busywork and pushing things around than actually providing core testing. There is still a need for meaningful testing and applying testing skills to these stories, and part of that involvement is having the discipline to focus on just those stories that can be done in a particular sprint.

Wednesday, November 18, 2015

Aedificamus: Feet Don't Fail Me Know - TESTHEAD's Fitness Journey Continues

One of the entertaining aspects of fitness is the fact that there are lots of things we can do to keep us motivated and targeted to meet our goals. Over the course of three months, I've gotten into walking for long distances, using various resistance devices (bullworker, etc.), doing yoga, lifting weights, etc.

A couple of months ago, I added something to my training that I hadn't used in years, but made a lot of sense to put back into play. In short, I broke out my old PlayStation 2 and several volumes of Dance Dance Revolution (DDR) to help get me back into "fighting shape".

This experience reminded me of a testing situation that I got to deal with about 12 years ago when I worked at Konami Digital Entertainment, and how it influenced my purchasing decisions back then. By virtue of working for Konami, and having made friends with several of the people in marketing and distribution, I was able to get a number of the DDR games for free. To that end, I picked up Dance Dance Revolution Konamix (a PS1 game but playable on PS2), DDRMAX, DDRMAX2, and Dance Dance Revolution Extreme (these later three released for PS2, the latter two in development while I was at Konami). The games themselves had their quirks, as do they all. It's funny to look back today and see a variety of misspellings, or menu options that don't flow quite right, but that went to production nonetheless, back in an age when a bug, if released, was eternal. Still the games themselves were, and are, still fun, and the music especially brings back a lot of nostalgia.

The issue that became a big deal was not with the games themselves, but with the dance pads that were made for Konami. These dance pads had a fairly high number of pads that had an odd sensor issue. Over repeated use, if you were to step on the back arrow while stepping on another pad (common for jump steps and just making movement more efficient), the sensor would either intermittently not work, or it would just stop working entirely. This was not an isolated issue, it turned into a big deal heading into the new year in 2004. In fact, I had been "seasonally laid off", after the Christmas rush of 2003 was over (which was, truthfully, expected, and since I was back in school at the time, I didn't necessarily despair at such news). The problem with the number of pads was large enough that I was actually called and asked if I'd be willing to come back in to help them deal with the issue. I said "of course" and subsequently was rehired and worked with Konami all the way through the remainder of my time back in school. The dance pad issue was a manufacturing defect, and it would be a significant portion of my side customer support work for the remainder of my time there.

Because of this, when I decided to pick up these DDR games for my kids to play with, I was happy to have the games, but I opted to buy different, non-Konami dance pads. There were ranges of designs from foldable soft pads that cost about $30, to hard metal and plastic pads similar to what the DDR machines in arcades had, and these cost around $250 each. Through my research, i discovered a set of pads in between made by RedOctane. These pads used rubber mats internally to make the pads semi rigid, but light enough to be moved easily and stored (in this case, behind the couch in our upstairs family room). During the course of a couple of years, the various games were played by my kids, and myself as well, but then, like many things, the pads were tucked behind the couch and sat there for years. the games were tucked away into the PlayStation 2 games drawer, kept for a later date and time (I believe in the replayability of games, so I tend to hold onto titles for years, because I enjoy revisiting older titles to play them again after a long absence). In November of 2015, DDR and the RedOctane pads made their emergence from behind the couch and from within the storage bins, and returned to center stage in my reality.

DDR has a workout mode on each of the games. What's nice about the workout mode is that you can set a number of parameters. By entering in your weight, preferred step settings, and calorie targets, you can customized a workout that can be as short or long as you need to meet your goal. I've experimented with a variety of the settings, with the goal of hitting 1000 calories. Averaged out, it turns out that 1000 calories is about an hour and forty minutes of "dancing", which really is more stepping on arrows in time. Another benefit of workout mode is that you can turn off the "typical game behavior of "failing when you don't hit the steps well. It's a great feature for game play, but a lousy feature when you want to keep going regardless of steps and score (and believe me, after close to ten years, my step accuracy at standard mode and higher leaves a lot to be desired ;) ). Another nice benefit of having this as a workout option is that it allows me to combine workout goals and step goals. Instead of trying to walk 10,000 steps, on certain days I can "dance" those steps, or at least a fair number of them. this does tend to make calorie counting and averaging a little challenging, but I'm not stressing over it too much. If I'm able to burn 1,000 calories by playing, that's plenty for just about any given day.

As of this morning, I am holding at 214.8 pounds, or just over 45 pounds down from 260 when I started this whole thing August 14, 2015. Variety is the spice of life, and today, I am thankful for an old amusement for coming to the rescue and offering me a bit more variety to add to my activity mix. Though I can't guarantee 1,000 calorie burns every day, every little bit helps, so here's to keeping on :).

Thursday, November 12, 2015

Integral Quality - Live at #AgileTD

Wow, we are at the closing keynote. Didn't I just get here? Seriously, I know it's Thursday afternoon, but time has sort of lost its meaning to me these past few days. Nevertheless, we are at the final keynote talk, and Olaf Lewitz will be closing out Agile Testing Days.

Have we considered the ways that amazing things get created? Is it all an obvious need that just gets met, or does it happen because we notice something, and then we push forward because we believe in the cause and delivering something to meet a need. I think truly great initiatives start from the latter, and many times, I think serendipity has a lot to do with it as well.

Too often, I think we look at what others do, but we don't turn that lens on ourselves. rather than "what can the organization do to be successful, with me coming along for the ride" perhaps a better question is "what can I do to make this organization amazing?"

Olaf asked us to say what we are grateful for through this conference. It would be too messy to do this in person, but there is something I can do, and I'll do it here :) :

Thank you, Madeleine Greip, and the Agile Testing Days organizers, for inviting me to speak at this wonderful event.

Thank you, Meike Mersche, for being a wonderful tour guide, showing me around Potsdam, and buying me Red Bull Cola, as well as being a bright and happy face to see every morning.

Thank you to each and every person who attended my talk, gave positive feedback, retweeted or wrote about what I said (especially Kim Knüp, who dedicated a full blog post of her own to my talk).

Thank you, all speakers, for your time and your talent and energy. You've given me so much to write about these past few days.

Thank you, Albert Gareev, for being my partner in crime and asking me to make 2015 a year of Accessibility, and challenging me to make it the primary focus of what I wrote and spoke about for the year. I have learned a lot because of that, and I think there's so much more we can do :).

Thanks to the readers of TESTHEAD, for being willing to follow along with me when I go on these mad dashes at conferences and posting a dozen or two posts in just a few days.

One of the interesting comments Olaf shared was the idea that, if we remember back to The Matrix, there's a metaphor of a blue pill and a red pill. Blue pill means ignorance and just going with the flow. Red pill means waking up and seeing things as they really are, good and bad. Interestingly, when we have the ability to make choices, we tend to be solidly on the side of the option that gives us choice, and specifically those options that we genuinely understand what is happening.

"Options have value. Options expire. Never commit early unless you know why."

Quality is, frankly, a bizarre thing. It's not elegant and clean. In fact, quality is messy, nebulous, and wholly subjective. Jerry Weinberg's statement of quality is "quality is value to some person". With the number of persons out there, there are just as many definitions of quality as there are people to perceive it. Therefore, the first person who has to decide that quality is sufficient is me. Point blank, would I want to use the software I am testing? If so, why? If not, why not? If I have a steady litany of why not's, then I have a duty and obligation to voice those concerns, even if I may be the only person who recognizes them as such. In short, I have to know what I want first. From there, I need to know what the organization wants, and then I need to know what my customers want (and by that, I mean what all my customers want).

Human organizations have had several revolutions. First was the Tribal Revolution, followed by the Agrarian Revolution, then the Industrial Revolution, and currently the Information Revolution. If James Burke is right, we are in a period of transition, where what was once known and owned by an elite few, will be available to everyone. The bigger question is... what's next? What's the next big revolution? What will the new paradigm be when it comes? How will we fit in it (assuming it happens in our lifetimes)? We have a chance to shape that new future, and we have the opportunity to start with ourselves and our organizations. If we want to see change and better quality. Let's start with ourselves, and take it from there.

Testing my Biases - Live from #AgileTD

Oana Juncu makes a straightforward statement right out the gate... We make decisions based on our invalidated assumptions that we take for granted facts. Life may be better if we become aware of this.

Every one of us has biases that we use to create a short-hand for our world view and thinking.  Most people are unaware of this, and they feel as though they are being very rational and analytical, when in truth they are reacting via a system that has been honed over eons of time. The fact is, we all cope day by day by making assumptions. We make decisions based on our assumptions that we take for reality. We act on a survival instinct. We can make very quick decisions and we can seem very forceful and decisive, but in fact,  we are often behaving in ways that are wholly irrational.

Each of us has had an experience where we have convinced ourself of a reality, only to be given new information that opens up our view, and when we see the new "reality" we cannot unsee it.

Cognitive dissonance is what happens when we have an experience where an outside "reality" interferes with our own perceived reality. If we are open to the possibility, it may be very low. It may be much higher if we resist the outside reality. The greater the resistance, the greater the cognitive dissonance.

As testers, we love playing with biases. We try to recognize when they are present, we do our best to de-bias ourselves, and then we feel smugly superior that we have gotten beyond all that. I question that premise, because I think that there are several layers of bias that we need to work through. There's the superficial biases, and then there are those that associate with the core of our beings. Some of these biases are not so easy to set aside. Take belief in a higher power. I have no problem with feeling there is one, regardless of now illogical or irrational it may be. I've had many experiences in my life that have convinced me there is one. For other people, they may have had the exact opposite experience. In a scientific approach, there is a far greater burden of proof on me, in that I cannot prove that there is a higher power. Were I totally rational, I would then say "well, then there isn't one"... and I'm not willing to do that. I understand full well that that is a bias in action, and it is a bias that I can play with, I can consider, but at the end of the day, as it stands right now, I will not put down. Not really. That's how powerful that bias is, and that's why I struggle when I see things that contradict my view, and feel at ease when I see situations that confirm my view.

I sometimes feel smug when I discuss cognitive biases surrounding politics, because it's so easy to see which biases are being applied on both sides (I'm from the USA, so for all practical purposes, there are two (arguably) separate parties with different views of the world). Some people are partisan for one party or another. I've decided to have no affiliation with either, so I can step back and see both the intelligent and ridiculous when it comes to political discourse.  I can see the biases in action, but more important, I am at a point of indifference where I can be dispassionate either way. By having this outlook, I can more readily see the fallacies and biases in action with other people. The more closely I've held a bias, the less likely I will be objective with my observations.

Think of the old television program "Let's Make a Deal". For those who don't remember this old game show, one of the premises was that there was a part of the show where a contestant could pick from three doors (Door #1, Door #2, and Door #3). Two of the doors have goats behind them (iow, no prize). One door has a brand new car behind it. We make a choice, and someone else makes a choice. We see that their choice is wrong. Do we change our decision, or do we hold our place? The Status Quo fallacy tells us to hold on to the value we have, because we have a 50/50 chance at this point, but we will very likely hold onto our original choice, and not change it. Why? Because we've already made a choice, and the surety of our choice is more comforting than making a new choice. The odds are equal either way, but most people will not make a change even though the odds are even that they have made a right or wrong choice.

In the world of finance, we are often affected by the Loss Aversion Bias. What impacts us more, receiving something of X value or losing something of X value. Most people react more strongly to loss then they do to gain. Studies have been done (sorry, don't have them off the top of my head, you'll have to trust me for now ;) ), that it takes an almost double level of gain to negate the feelings of loss. Mathematically, it doesn't make sense, but we value the loss more highly than the gain, or perhaps we more acutely feel the loss than we do the gain.

Imagine that you have a chair in front of you. You are asked to draw the chair. Taking out the relative artistic skill of the people drawing, what might we think the outcome will be? Each of us will draw the chair from a slightly different perspective, depending on where we are sitting, but generally, we will draw a chair, because we know it's a chair. Now, let's imagine that we can somehow lose all perspective of the fact the item we are drawing is a chair. It's a form, we can draw it, but we lose all perspective of the item being a chair... do we end up with something different? Can we separate our view? Do we make something different? Chances are, we make something simpler or abstract; it's just a shape. The strange part of this for me is mentally blocking out a shape that I *know* I am seeing. What's interesting is that, for some, they were able to make a more accurate representation of the chair when they were trying to defocus from what it actually is. Others went with a simpler and more freeform design.

From Reality to Obvious

There are steps and filters that shape what we consider to be obvious. Reality is what exists, regardless of our feelings of it. Obvious filters through our experiences, our fears, our frustrations, and our beliefs. Therefore, what is "obvious" to us may not be obvious to someone else, or at least, not in the same way.

“We don't see the world as it is, we see it as we are”
― Anaïs Nin

If you want to test your biases, here's a process to play with:

- State an hypothesis about how a given product should work to meet a customer’s needs
- Define a set of question to validate/invalidate the hypothesis
- Define metrics in respect to what type of answers received
- Collect facts
- Present results

Does this look a lot like the scientific method? It should, because that's really what it is. If we are applying the scientific method appropriately and honestly, the process behind the scientific method will help us defocus our biases. It may not entirely eliminate them, but it is very likely going to make you aware of them.

Nowhere and Back Again - Live from #AgileTD

Today's middle of the day Keynote is being provided by Thomas Bradford. You have to love a guy that describes himself as "a Certified Software Organization Failure Expert, and has personally witnessed the implosion of dozens of organizations. He is dedicated to creating a world where those organizations don’t drag good people down with them."

Thom worked for PayPal, and was looking for a new opportunity. He was contacted by a friend who was describing a company that needed a lot of help. He declined originally, but ultimately, he gave in and decided "OK, I'll see what I can do to help!" He grilled the company asking what they would be willing to do. They had zero tests, and needed someone willing to come in and help them resolve that. Through some continued conversation (and perhaps a few insults here and there) he said OK, and took the job.

The company's product was a Java monolith. It was a mess, and it had methods that were five hundred lines long. Ultimately, they decided to move away from the monolithic app and convert it to micro-services.  He also suggested they walk away from the app they are developing, moving off of Java and coding a replacement in NodeJS.

Key takeaway:

If someone told you you could be twice as productive at work, what would you say? Would that excite you, or would it actually terrify you? It's not like you are going to get more money, have to work less, or get any real benefit out of it (well, there is equity, if you are lucky). Truth is, most of us who work in tech aren't doing bad, realistically speaking. We tend to be paid pretty well, but we have also inherited a lot of dysfunction because of this need for speed. Agile itself doesn't really fix that. Not by itself. People have to decide to do better because they want to make their lives better and the lives of their customers better. Sometimes that means doing something totally insane, like burning down your original infrastructure and starting over.

Sometimes it is essential that we break free of our comfort zone. When enough people create comfort zones, they create entrenched processes that are often inviolable. They are safe, but they are non-productive, regardless of what the charts and reports say.

The key to the success is being willing to start over, to stop doing things that are useless, and put the value of people over process. If the organization cares about the process over people, you are not in a good place. Sadly, that's probably 80% of companies, but someone has to be brave enough to say "enough".

Test Management Revisited - Live from #AgileTD

Today's theme seems to be BBST remembrance. Selena was one of the participants in my first BBST class, and Anne-Marie Charrett was one of my instructors for that class. In many ways, I've always considered Anne-Marie one of my favorite teachers, and therefore, I tend to make a point of attending any of the talks she presents at any conference I attend. To date I have not been disappointed, and I have no reason to believe today will be any different :).

The Main Statement for Anne-Marie's talk is "Test Management is still vital for large organizations but it needs to be re-invented to be able to work in an agile context".

In my own world, I have been a Lone Tester more times than not, so Test Management was by default my domain. Today, I am part of a small team that has two dedicated testers, one contractor who does automation almost exclusively, and a bunch of side stuff that I do as well. Test management happens, but it's probably a bit more haphazard than I would like.  In that guide, it helps to think about what Test Management actually means. Test Leadership might be a better terminology.

When Anne-Marie started at Tyro Payments, she joined a team that had five testers as the test manager (and then lobbied to be called the test lead). Tyro prided itself on being a very Agile shop in the programming sphere. As you might guess, the testers were *NOT* Agile (sound familiar? yeah, I'm sure it does). This is what happens when testers are treated as a control, but are not perceived as being part of the overall programming flow. The developers were doing lots of automation and also some of their own manual testing, so why did the company need testers again? Anne-Marie came in to help solve this problem.

The first thing that Anne-Marie focused on was creating a culture for the testers to decide who they wanted to be and what they wanted to be perceived to be. the team wanted to be autonomous, responsible, autodidactic, be able to identify an effective test process, and to be courageous. Anne-Marie introduced a lot of coaching, and generally coaching is focused on specific tasks. As a test manager/leader, the coaching works best when a specific task is being performed, and the coach can be there to give 1:1 feedback. Having experienced Anne-Marie's coaching first hand over the years, I can say that this is probably a really cool experience.

This type of opportunity worked well with a smaller team, but as the team grew and developed, there started to be a break down in the effectiveness of the approaches she was using. Doing 1:1 time with a team of ten is rather hard, if not impossible. At this point, Anne-Marie decided that they needed to look at an alternative to the approach they were using. One of the key decisions they made was to delegate a lot of the traditional test management responsibilities to the rest of the team. They created a Trello board and asked everyone to take over key areas like hiring, training, retros, reporting, etc. so that Anne-Marie could focus her attention on the area she was best suited for, which was coaching and mentoring. She also allowed the decision making to be delivered down to the teams, so that she didn't have to make all the decisions. This worked until the team got larger once again. Delegating the tasks was a help, but now with fifteen testers, the coaching was becoming rote and check list oriented. How can she get back into the key area she wanted to be to help people get skilled up?

Slack was a lifesaver in the company, even though the company was anti-electronic communication. The test team decided to buck that trend, since the team of testers was becoming more distributed. I completely understand this, as my company lives and dies by Slack ;). The other benefit of a tool like slack is that it captures learnings and sideline conversations that can prove to be very beneficial later on.

A challenge of being a tester is that a lot of the work we do goes unrecognized. If we have worked well on a product that is in good shape, who is going to know what you have done. As Anne-Marie points out, if you don't tell your story, someone else will tell your story for you. Reports will likely not be read, but blog posts have a lot better chance of being read (I can attest to this :) ).

And they grew again, and the system started to break down again. Noticing a pattern here? One challenge of delegating and allowing people to make decisions is the fact that they WILL make decisions, and some of them you WILL not agree with. It's vital that you can be OK with that, or at the least, have a chance to share your thoughts but still be willing to step back and let others make decisions and grow. A cool quote to remember is "when a flower doesn't bloom, you fix the environment in which it grow, not the flower (Alexander Der Heijer).

Infographs were a modification that they started to use rather than create standard status reports, and they were able to visually represent things that were oftentimes hard to describe or demonstrate in other means.

As of today, Tyro has twenty two testers (up from five) and the changes and modifications are consistently coming. They have to keep adapting and changing their approach, and ultimately they want to break down barriers. In short, they have learned how to pivot, and going forward Anne-Marie hopes to look at listening to her organization and better understanding their needs.

Ultimately, testing is a practice, like medicine. It's not up to the doctor to keep you healthy, but they can help you if you decide you have something wrong and need help. keeping healthy is ultimately the person's responsibility, and in an organization, testing is everyone's responsibility as well. Test practices are there to help when help is need, create information and sharing that information. The test team is a brand, and it needs its own sales pitch. It's vital to think about how you and your team is perceived. Doing good work is not enough.

There's a lot of things we can do to make test management effective. Ultimately, that needs to be the primary goal.

Agile Leadership Lessons - Live at #AgileTD

Selena Delesie and I have known each other for about five years. I met Selena as one of my co-participants in the BBST classes, and we have had an ongoing correspondence and bumping into each other at events over the past few years. Selena has focused on being a coach and a consultant. She has a broad range of experiences and a unique presentation style, and I'm excited to see her delivering a keynote today :).

Ask yourself, if you could have dinner with any person alive, who would it be? Why? What do like about them? For me personally, I'd like to hang out with Gerald Weinberg and earn a bit about how he got where he is today. I'd also like to hang out with Larry Winget for awhile because I think he's a hoot and his personality is bigger than life.

Selena emphasized that her "must meet" is Richard Branson, and while she didn't get to meet him directly, she did get to interact with him at an event she was attending. She said that some of what she admires about Richard is his ability to listen deeply. We tend to want to make our views known, and by doing so, stake our claim on our knowledge and experience. More important is being able to listen deeply and learn to understand the challenges people are facing. My expertise doesn't matter if the expertise I have won't help the people I'm conversing with or hoping to lead or help.

How can we improve on collecting information and ideas? In general, the best thing is to just stop and listen to the people we are working with. Ultimately, it's all about the people on your teams that you work with. It's important to realize that, if you are going to be a technical leader for a team, your goal is not to make yourself shine, but to make the entire team shine. As a leader, your goal is to help other people be successful. If that's not your thing, you need to consider a different line of work. Additionally, do all you can to make people smile. When people smile, they open up and amazing things happen.

Who can you improve your relationship with? For me, I think it is important to have a good overview of the business as a whole, so foster relationships with people outside of your immediate team. Build relationships with people who can help you understand what is happening in the entire organization. As you learn what other people in your organization deal with, and what their pain points are, we can help alleviate that pain, or look at our work differently.

Be addicted to learning. Discover what domain knowledge exists in your organization, and be prepared to go where the needs are, rather than just what you want to do. For me, the most pressing need in our organization at a time was to understand the entire build process for our software, and that led to me becoming the release manager for our company. Do i know everything about the process? Hardly, but I have a chance to learn and experiment regularly, and provide basic improvements to the process here and there, and that's made a world of difference in my work reality this past year.

We don't learn by following rules. We learn by experimenting, by doing, and yes, by falling over and getting back up again. It's a challenge to learn new things, especially in areas that are not comfortable to us. It's also important to carve out the time to get good at what we do. Part of that requires us being willing to say "how may I be of service to you?" It's not enough to just show up and do things for our benefit alone, we need to be wiling to be of service to each other and our organizations.

Another question to consider is "what problem are we helping to solve?" One member of the audience said "harnessing all of the brainpower of the organization". Another said "to get a better shared understanding of the software we are developing". Another said "hiring more team members". For me, it's "making sense of the infrastructure and feature needs to help identify the real critical issues that our customers need".

Agile means being adaptable and flexible, and yet we still find that old habits die hard. We may think our teams are agile, but in many ways, there is a lot of tradition and process to overcome, and many of the methods we use are often counter-productive. Remember that change is a given, but how you respond is a choice. Don't be afraid of adapting and trying something different.


Early Morning Pub Chats - Live from Agile#TD

Day three. Lots of conferring, lots of fun, way too little sleep (LOL!).

It’s always a challenge going to these events because my body fights the local time. It’s frustrating to realize that it’s two AM local while your body still thinks it’s 5 pm at home, and regardless of what your body thinks time is, 6 a.m. local time will arrive and it doesn’t matter what your time back home is, you have to get up and go.

This is the third Lean Coffee of the conference, and will sadly be the last. I enjoy thee gatherings because we have a totally impromptu discussion on topics I might not have considered asking about, but I learn new things each time.

Target Coverage and How to Get There:

What do we do when we have a long term team that seems to work everything out of their heads? The challenge is when we are trying to get a baseline understanding of the coverage that is being applied. How much testing is actually being done? Do we know? can we figure that out? How do we implement an approach that lets us see what is being covered? There are a variety of Code Coverage tools out there, but that helps if the people doing the primary testing and the code optimization are the same people.

However, in the case of the person presenting their dilemma, those are not the same teams. They are automating acceptance tests as they are creating them, but their legacy system doesn’t have much in this regard. the trick is that coverage is often hard to quantify. If the idea is statement coverage, that’s easier to get a handle on since unit tests can give you statement coverage, but test coverage is a bit more nebulous, since there are so many potential permutations. Using an API testing approach can help to fill in the blanks here. Buy setting up tests that utilize the service layer, many of the business rules can be automated or exercised through the API rather than trying to use the UI for this. visualizing coverage (drawing diagrams of the workflows) can help to make the visibility of areas to test more clear.

Coaching Developers to Test Earlier:

With the idea that Agile encourages testing being an activity rather than a role, many developers are getting into the role of doing testing as well as writing code.

Kim mentioned that there has been a challenge in her organization with trying to help the developers get into the habit of testing. From my own experience, there needs to be buy in from the programmers to ensure that testing is happening with the programmers. There's a benefit to asking the programmers to share their unit tests with you, the tester. By asking about the unit tests, and saying that we need to see what is happening so we understand better what is being covered, it sends a clear message.

Also, in our organization, no story is considered done if there are no unit tests or integration tests written by the programmers, so that helps make sure that unit and integration testing are done. For many programmers, they consider that "enough", but there's a lot more we can encourage them to do to test as well as having us do explorations and cover other areas. It's really helpful to communicate that we are trying to not be a bottleneck, so having the group work together to cover testing needs and to spread out the testing effort among the whole team helps encourage that philosophy. Some programmers will be resistant, but if the cultural expectation is that everyone tests, then we can get everyone else involved easier.

Distributed  Testing and Team Integrity:

A challenge with teams that are distributed is that many people fall through the cracks and the sense of team unity disintegrates. When testing gets spread among a number of groups, and people are assigned to different groups for differing periods, there's a struggle to get everyone to share what they are doing, specifically domain knowledge. The idea of sharing ideas and developing a "community of practice" can help here.

Having a rotating book club, or getting the testers together to say "what are you all working on, and would you be willing to give a quick summary of something you are learning?" Lean Coffee is actually a great mechanism for this. It can be a challenge to have teams that report to different managers, so it may be helpful to get the managers on board with the community of practice concept. The key is that there needs to be  real knowledge exchange, not just another status meeting to have to sit through.

What's New in Agile Testing?:

The area of DevOps and Continuous Delivery is an interesting avenue that is becoming more prominent. Containerization is a hot topic, and the tools discussion are able to become a runaway train very quickly. there's always something new and shiny to get involved with, but the principles of testing in an Agile context are still pretty consistent. The real newness is the experiences that people are bringing to it. Agile itself is not exactly "new". It's fifteen years old now, which in technical terms is fairly ancient. For each organization, though Agile may be brand new to them, and there's lots of opportunities to go in and have a broad range of experiences. Tools come and go, and what's the new hotness one year may be old hat the next, but each organization gets the ability to try those things as they mature and determine what matters to them.

Sad to realize I won't be doing this tomorrow morning, but fun to realize I have lots to ponder and consider when I get back together with my team. Thanks for following along, day three proper is about to get underway.

Wednesday, November 11, 2015

We're all Searching - Live from #AgileTD

One of the interesting things about being a member of the “Twitterati” is that a lot of people can get to know you and what you represent, and they can get a good idea of who you are and what you look like. Mike Sutton spotted me from about 20 yards and yelled out “hey, it’s Michael Larsen, the TESTHEAD! Good to see you!” When I noticed it was Mike, I gave him a big hug, and we chatted for a bit. It was an awesome experience of two people who knew each other but never met knowing enough about each other to be fast friends in person.

Mike started his talk from the premise of asking “How much do you really care about your organization? Do you really care enough to test beyond the basics of your product? Are you willing to really go down the rabbit hole?"

Can you say that your work has an enormous impact on your personal growth and joy? If so, that’s awesome. If not, why not? Do you have the power to shape your work so that it can bring you joy? Mike’s not trying to make this sounds like some twinkly stardust idea, he’s saying that we put so much of our life energy into our work, we should do all we can to make it be something that brings us joy and purpose. If what we do is making us miserable, we should do what we can to either find joy in it, or break free and find a place where we can experience joy.

Mike’s core point of his talk is searching. Growth is challenging, it can be painful, and it can be frightening. but growth is what brings us new experiences, and new experiences can bring joy if they are positive. Companies do the same thing. They make be searching for revenue, for people, for markets, and each level of growth makes the search that much more intense.  If everyone is searching, and everyone is, what does that mean about what we are searching for? What does this search impact? In short, what do we care about, and how far are we willing to go to follow through on our search?

To be frank, most of the time, when we make a business decision, we are effectively making a guess. It may be a really well educated guess, but ultimately, it’s still a guess. There’s enough variability in the world that we don’t really know what will happen when we do most things. Chemistry is one thing, emotional economics is something else entirely. Agile teams are ultimately places we can roll with different guesses. We don’t have to take the safe gamble or structure things in a rigid fashion. Agile asks us to experiment, and if we fail, let’s learn quickly from it and regroup. Great in theory, a little more chaotic in practice. Development may be agile, but what about the rest of the organization? Are they harmonious or are they cacophonous (yes, I’m referencing yesterday’s keynote ;) ).

Think about what you are great at. Most testers love exploration. We are curious as cats. We have a passion to collaborate, and ultimately we want to make things better. That’s second nature for our software, but why isn’t it second nature for our organizations? Are we as willing to poke at the holes of our organization? If not, why not? Is it from an informed place, or is it from fear? Are we scared of what might happen if we explore our organization? Do we run the risk of offending others? Possibly, but we might discover something important.

We don’t nee to ask permission, though we may want to make sure we’re not breaking something that could get us arrested. Be OK with the fact that some people will not approve, but if you are willing to test the organization, you may find that you discover something deeply valuable to that organization. Counter intuitive? Maybe. Start asking what value we provide. Why do we exist? Beyond the money we are earning, why does our company exist? What kind of organization do we want to have?  Dare to ask, and let's take on the ultimate testing project. Find out what makes your organization tick, and find the bad points as well as the good points.

Ask questions. See where they lead :).

Designing Inclusively - Time Delayed from #AgileTD

As you might guess, it is not possible to live blog and present at the same time, and the network has been dropping frequently with the number of participants, so I'm a little late getting this one out ;).

My talk was about Accessibility foremost, but I also made some recommendations to consider using Inclusive Design to help the process. With this being an Agile testing conference, it fits well with the idea of moving the testing forward. Rather than trying to shoe-horn Accessibility after the fact, what about designing up front with the idea that you will make your products effective for the broadest number of users as possible. Wouldn't it be great if you didn't have to make special accommodations for that, or have to make multiple paths to make that happen? Inclusive Design makes that possible.

Accessibility deals with the absolutes on the disabled scale. The fact is, an app that is visual will be unusable for a person who cannot see, unless special accommodation is made to allow for interacting with assistive technology. For many of us, we may be able to see, but we may be developing challenges around the clarity of that vision. I fit that model right now. Readers are a part of my reality, whether I like it or not. Anything three feet away from me? Crystal clear. Anything within three feet? I start to lose clarity. Text? Ugh!!! I've gotten to the point where I have to have readers to interact with my phone.

What I've described is what would be considered a secondary, or situational, disability. I'm OK in most cases, but for a particular range of interactions, I need help. I don't need Accessibility level of interaction, but there are some methods of displaying information or controls that would make my life a bit easier if I don't have to dig for my glasses every time I want to look at my phone or my computer.

I highlighted an app I am currently using, and that several people have heard me discuss on my blog in the past couple of months, called LoseIt. It's been a terrific app for counting calories and tracking exercise, and it's helped me meet a key goal, that of losing weight and getting into better physical shape. Additionally, I appreciate the decisions that LoseIt has made, intentional or not, to make many parts of their app usable by a broad group of people, even those of us who struggle to read small screens and even smaller type. The main screens are accessible with a side swipe, and the main displays are based on dials, sliders, pie charts and bar graphs. What does this mean? A lot of information can be communicated in that small space without my having to hunt for my glasses. Yes, the areas where I have to interact intensively I still need them, but for a quick glance at overall stats, the displays are such that I can look at them and get feedback that is meaningful even without my glasses on. That's a good example of inclusive design in action. I have no idea if LoseIt did that for that purpose (and truth be told, if they did, they could use some bolder contrast options) but it's appreciated nonetheless.

I had some fun questions after my talk, and a really good point was made by one of the participants, in that she told me she was working with a company that developed games for young children, and that try as they might, they were not able to effectively test the games at a level that was effective for their target audience. She likened this to the limitations of testing with personas for other disabilities, where we can imagine that we understand the issues, we can empathize with the issues, but we can't really be stand-ins for those individuals and the challenges they may have or the development level they are at. I agree completely. At the end of the day, I will likely never be able to listen to a screen reader at the speed that a friend of mine who is sightless can listen to it and make sense of it (literally ten times faster than the default setting). We can be surrogates, but we are ultimately poor surrogates. Our experiences in their shoes can help, but it can't replace the feedback they can give.