Tejas Software Consulting Newsletter

December 2004/January 2005, vol. 4, #6
ISSN 1545-8865

"The Master puts himself last, and finds himself in the place of authority."
  - Daode Jing, chapter 7 (McDonald translation)

"If any man desire to be first, the same shall be last of all, and servant of all."
  - Matthew 9:35

I dove deep for this issue's feature article, and these quotes reflect some of the thinking I went through while writing it. I'm fascinated by the parallels between these different sources, and I imagine that other traditions have a similar philosophy.

So we finish out another year, and you find another newsletter swimming in the mire of your inbox. Thanks for wading through. What's that, you're not getting this in your email? Then dash on over to http://tejasconsulting.com/newsletter and give me the privilege of reminding you that I exist six times a year.

-Danny R. Faught, Software Alchemist
faught@tejasconsulting.com -- http://tejasconsulting.com/ -- +1-817-294-3998

Contents

Tejas Newswire

With a busy conference season behind me, I now have two new presentations and a paper posted on my web site:
My StickyMinds column for November was "Keyword-Driven Testing."

Open Testware Reviews subscribers can read a new feature: "Technology Bulletin: Web Link Checkers" which discusses my experiences with a handful of link checkers. Another recent posting is an experience report on data comparator tools.

Just when I was struggling with how to help a development team start unit testing their code, the book Working Effectively with Legacy Code  by Michael Feathers was published. What I really like about the book is that it's the first I've seen that recognizes that most teams who want to start unit testing already have a pile of difficult-to-test code that they're maintaining. Like many of the recent books on programming, it goes into minute detail on how to manipulate code, which makes it a bit tedious to read straight through, and it has numerous forward references, but I'm working my way through it nonetheless.

Rick Brenner has started an online Library of Personal Trade Secrets, announced in his article "Personal Trade Secrets." Your cost of admission as a charter member is to contribute a tip for how you make your work more effective, which will be posted anonymously. It could be an interesting resource if it continues to grow.

I'm still having fun exploring LinkedIn.com. I recently found a new use for it. I was working for a week in Kansas City, and I was wondering if anyone I knew happened to be there. I don't do a good job of keeping track of the physical addresses for all my contacts, or even what country they live in. Sure enough, when I searched to see who was in my network in that area, I found one person I had met years ago, and another I had been wanting to meet. We arranged to meet for lunch. I did the same thing in Anaheim, arranging to meet a few people I knew who I rarely get the chance to meet. So Eileen, Wayne, Orion, and John - great to see you! If you want to use LinkedIn for geographic searches, note that the interface is a bit odd - you have to search by zip code if you're in the US, but LinkedIn actually consolidates all the zip codes for each metropolitan area. I just use usps.com to find any zip code in the city I'm searching in, and that suffices.

For folks in the Dallas/Fort Worth area - we just had a lively meeting of the metro-sqa group where I spoke about Agile Automation (watch StickyMinds.com in January for a column on this subject by James Bach and me). We're planning our next lunchtime gathering on February 16, 2005 and we're hoping to get Linda Hayes to speak.

I have classes lined up for the Spring at the University of Texas at Arlington's Continuing Education Department, plus an Open House on January 11, 2005, 5-7pm. The classes are "Software Testing Basics" on January 27 and repeated on February 12, "Software Testing Intermediate Topics" on March 10, and "Professional Networking: Developing Meaningful Connections" on April 14, repeating on May 7.

Feature Article
Seeking the Inner Ring

Throughout our lives, we seek to improve ourselves, especially our social standing and our career prospects. But are there some things we shouldn't seek out? I'd like to introduce you to a compelling speech on this subject, and then I'll share a relevant experience from my youth that has weighed heavily upon me for years.

Rings

I've just read a through-provoking speech by C. S. Lewis, "The Inner Ring." An inner ring is perhaps the same thing as an "inner circle." The Wikipedia says that an inner circle "describes the individuals who are given special status..." and goes on to discuss things like secret societies, esoteric teaching, and friendship networks. Lewis warns us against seeking admittance to any of the many inner rings we encounter in life merely for the sake of being there. But this isn't easy. Lewis said:

I believe that in all men's lives at certain periods... one of the most dominant elements is the desire to be inside the local Ring and the terror of being left outside.

This reminds me of the many invitation-only workshops like LAWST (the Los Altos Workshop on Software Testing) that I wasn't getting invited to a few years ago. When I finally did get invited to LAWST a few times, I either couldn't attend on the chosen dates, or I didn't have much to say about the chosen topic, so I declined the invitations. Reaching the milestone of getting invited accomplished nothing but to alleviate my anxiety that I wasn't worthy of being invited. You could of course make the argument that if I were even further inside that inner ring, I could influence the choice of dates and topics so they suited me better. Maybe some day I could, but in the mean time, I'm no longer fretting so much about whether I'm getting invitations like this.

Lewis recommends that we simply strive to be "one of the sound craftsmen," and in the long run we will find ourselves inside what appears from the outside to be an inner ring, but in fact is not, and is much more valuable. It is friendship. For Lewis, inner rings are apparently artificial creations, built upon active exclusion and forced secrecy. My interpretation is that a circle of friends is secretive merely because the friends aren't going out of their way to announce their mutual bond. If someone were to make a genuine request to join in, they would likely be welcomed, if only they knew that this was something they could possibly ask about. If a newcomer approached one or more of these craftsmen not for the purpose of joining a clique but for mutually advancing some shared interest, it is likely that this association of friends would be introduced to the newcomer in the natural course of things.

So we can generously view the web of semi-secretive gatherings in the software testing field merely as groups of friends who want to learn from each other. Other friends can be brought into the gathering, just as some may go. Should we expect them to grow without bound, once more people become aware of them? That's an interesting question, as the character of a large group is different from that of a small intimate group. Would they be wrong to limit how many people they're willing to interact with? Perhaps the limits will come naturally, as our own circle of friends is limited by how much time we can feasibly dedicate to maintaining the friendships. To do this, we pay attention to some people and turn away others.

The Vigil

Some accomplishments in our lives must be sought, and others must not. I saw a clear example of this as a Boy Scout. There is an organization within the Boy Scouts of America called the Order of the Arrow (OA). The OA is a secret society, in that the members are asked not to discuss the details of the initiation and certain signs of their membership level to people who haven't achieved that level.

The first step to join the OA is to satisfy a set of well-defined requirements, including merit badges, camping experience, etc. Once a year, a certain percentage of those who meet the requirements are nominated for OA membership via a vote of the troop members. So first the Scout must take the initiative to satisfy the requirements, and the next step depends on a much more subjective process, which the Scout can only influence by improving his social standing in the troop. Meeting the concrete requirements can follow a predictable time line, but there is no certainty regarding when and if the Scout will be nominated.

If a Scout is nominated, there are again a set of concrete requirements. This starts with a weekend-long induction quaintly named the "Ordeal." Then, much like a fraternity pledge, the Scout is encouraged to learn more about the organization. A year later, he can demonstrate that he's met the requirements and then be inducted as a "Brotherhood" member.

At this point, the path becomes subjective again, and this is where it got interesting for me. The highest membership level is the Vigil Honor, which is bestowed to a small  percentage of Brotherhood members by other Vigil Honor members. The only prerequisite is being a Brotherhood member for two years.

I was a Brotherhood member. I was active in the lodge and eventually became Lodge Chief. I was planning the induction for the three levels of membership, traditionally conducted jointly over one weekend. I was eligible for the Vigil Honor for the first time, and as Lodge Chief, I was a highly visible candidate. When I asked the person who was planning the Vigil Honor induction about coordinating with the other events of the weekend, he became suspicious about my motives. He sent me a letter, urging me, "Do not seek the Vigil - the Vigil will seek you." Like the other candidates, I was delighted by the chance of receiving the Vigil Honor, but I was not consciously trying to abuse my power to sway the decision or learn who had been chosen.

During the weekend of the induction, I was briefing the people who would be conducting the ceremonies that evening. I made a terrible slip of the tongue, saying "When we are called out for the Vigil Honor" when I should have said "When they are called out." I immediately corrected the error. It was an embarrassing slip. All kinds of things were going through my head at the time - the above-average likelihood that I would be recognized for my service as Lodge Chief, balanced by the growing cloud of suspicion that hung over me.

Just in case, I had brought supplies that I knew would be needed if I would be experiencing the vigil induction that weekend. I didn't need them. The moment came, and I was not selected. I was disappointed, but didn't feel I has lost out on something I was entitled to.

Later that year, we held another induction for those who couldn't attend the first. I was no longer dwelling on the Vigil Honor. I didn't bother to bring the extra supplies with me. But this time, I did need them. I was selected to be inducted into the Vigil Honor, and I scrambled to borrow camping equipment to survive a real overnight vigil under the stars. It was a profoundly moving experience for me, though of course I'm not supposed to tell you why.

Much later I found out that I had been selected all along, but at the first induction my name was struck off the list at the last minute. Though I was not trying to seek the Vigil, my actions implied otherwise, and those actions were highly visible. Now years later I still hear the mantra "Do not seek the Vigil" repeating in my thoughts any time I feel like I'm seeking recognition.

When to seek?

Clearly, some recognitions and affiliations must be sought, and others must not. The hard part is knowing which is which, and how to deal with the gray area in between. I'm still trying to figure out all the things Lewis was trying to say about inner rings. But I can take his conclusion to heart, that we should simply strive to do good work and form genuine friendships. As humans, we're going to make some mistakes along the way. And we still have to choose how we seek out the work and make friends in the first place. No one said life was going to be easy!

My thanks to Matthew Heusser for pointing me to Lewis' speech and to Matthew Heusser and Dave Millman for giving me early feedback on this article.

Feedback on the October/November 2004 issue

Carl Nagle responded to my "Consultant as Human" feature -

Absolutely, "YES!"  Many of the long-term consultants on "the circuit" have the congeniality of barbed wire.  Best case? Maybe that of a wooden fence whose aesthetic side is facing the other way.

Carl, I like your colorful description. I'm pretty sure sure many of the consultants are aware that they're giving this impression. They're getting so much business anyway that they don't have to care what people think.

I encountered that in many separate occasions over the past several years at different conferences.  It contributes greatly to the "they're just here to drum up business; they are not really here to help me solve my problems" mentality that occurs to folks after a conference or two.  Though "let us help you solve your problems" is the what these conferences are supposed to be about. It makes one stop attending.  It makes managers decide to stop sending employees.

Well, I do go to conferences to drum up business. But I can't imagine how I could do that any other way than demonstrating how I can solve people's problems.

I hope that people who organize conferences see your comments. They're the ones who will suffer in the long run when the speakers don't provide immediate value to the participants.

Thanks for the outlet!

Glad to help. :-)



Anne Wiser wrote:

Once more I really enjoyed the newsletter. You've been the most responsive, open, friendly and available professional I've ever interacted with so I really don't think the success will go to your head and ruin your natural instinct to reach out and help others.

Thanks, Anne. Actually, I've had big ups and downs in my business, and I suppose I've hidden the downside pretty well. So I certainly won't try to claim to be the most successful consultant out there.

The fact that you create and maintain QA information sites and lists like the ones at testingFAQs.org among others is proof that it is deeply rooted in your personality to help and be of service to the general community without direct monetary gain from it.

I think this tendency to share comes from the gift culture of hackerdom. Eric Raymond writes about gift cultures in "Homesteading the Noosphere." But I should point out that I actually am generating money from testingfaqs.org now that I'm selling ads.

Anyway, that being said, I have a question: do you know about data-flow testing techniques?

I have heard of it but I haven't done it myself. I rarely hear anyone mention the idea any more. There are chapters on this subject in Boris Beizer's books Software Testing Techniques and Black-Box Testing.  Both are somewhat academic.

The Jlint tool claims to do dataflow analysis on Java code.  There's also the old ATAC tool for C code.

Alternatively, you would probably know of web sites where people can post and respond to QA questions like that.

There are many email and web-based forums for discussing testing techniques. The one I usually turn to is my swtest-discuss mailing list.



Robin Goldsmith (Go Pro Management) responded to John Hebley's query about testing during the Inception phase in the Rational Unified Process:

The good news is that RUP has acknowledged testing can and should occur throughout every iteration of every development phase. The bad news is that RUP overlooked the need to plan and design tests, which indeed should be early-phase testing activities.

As John Hebley has suggested, RUP is not clear on recognizing that development is more than just code; and every artifact/deliverable of the development process should be tested by relevant means at the time it is developed. For many supposed testing and requirements experts, and possibly for RUP as well, this mainly concerns issues of clarity and testability.

My recent Artech House book, Discovering REAL Business Requirements for Software Project Success, describes ways to test that requirements are right.



James Lyndsay (Workroom Productions) wrote:

Blimey, you're doing a lot of standup! Good luck with all the keynotes, special sessions etc.

Thanks, James. I survived a late flight on the final connection of a redeye just a few hours before the keynote, a dodgy microphone, a wireless mouse that preferred to play music rather than change slides, and the best of all, deleting a tool I was about to demonstrate because I wanted to show the installation process, then not being able to find the installation package on my disk. It all worked out just fine in the end.

Copyright 2004 by Tejas Software Consulting
Permission is granted to redistribute this newsletter if the entire contents are kept intact.
#####

  Back to the newsletter index     Back to the home page