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 - Presentations posted,
keywords, link checkers, Feathers book, finding friends when you
travel, things to do in Texas
- Feature Article - Seeking the
Inner Ring
- Feedback
- Barbed wire personalities, the gift culture, dataflow, testing in all
phases, standup
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.
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.
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.
#####