Recalling
that a team member apparently complained to upper management, without telling
me, I set a trap to catch the backstabber.
I fixed the wrong calls and generated a corrected load tape, which I
began to use, but I kept track of the locations of the wrong calls.
We
continued to work hard and I finally managed a customer acceptance test run
that was free of errors. Hell, the team
members jumped around and high fived each other.
I then
set up a schedule for a formal customer acceptance test.
That
evening, I loaded the good customer acceptance test into a computer and keyed
in bad units for one of the calls. I
called in Alvin, one of the four programmers who was working for me, and showed
him an error that would only appear if I used a test, outside of the customer
test set. I told Alvin, “We won't get
caught on this, but I want you to work on it and get it fixed. You're to tell no one about the problem.”
Alvin
assured me that he would work on the problem and that he would tell no one.
The
next morning, I loaded the good customer acceptance test into a computer and
keyed in bad units for another one of the calls. I called in Betty, another one
of the four programmers who was working for me, and showed her a different
error that would only appear if I used a test, outside of the customer test
set. I told Betty, “We won't get caught
on this, but I want you to work on it and get it fixed. You're to tell no one about the problem.”
Betty
assured me that she would work on the problem and that her lips were sealed.
The
same afternoon, I
loaded the good customer acceptance test into a computer and keyed in bad units
for yet another one of the calls. I
called in Charlie, yet another one of the four programmers who was working for
me, and showed him a different error that would only appear if I used a test,
outside of the customer test set. I
told Charlie, “We won't get caught on this, but I want you to work on it and
get it fixed. You're to tell no one
about the problem.”
Charlie
assured me that he would work on the problem, “In total secrecy.”
Later
that same day, I
loaded the good customer acceptance test into a computer and keyed in bad units
for yet another one of the calls. I called in Dana, the final one of the four
programmers who were working for me, and showed her a different error that
would only appear if I used a test, outside of the customer test set. I told Dana, “We won't get caught on this,
but I want you to work on it and get it fixed.
You're to tell no one about the problem.”
Dana
assured me that she would work on the problem and report only to me.
I then
did a pre-test of the good customer acceptance test program, for my upper
management, and they were pleased with the apparently error free test. I told them, “What you see is the efforts of
five hard working programmers. None of
us could have done it alone, each and every one of us contributed. Also, the hardware support guys and the
documentation people contributed necessary efforts. It was a team effort, with a successful
completion that will reflect well on the company.”
The
upper management people seemed pleased that I recognized that the product was a
team effort, although they said nothing to me.
I then
set up a full customer acceptance test, with customer representatives to be in
attendance.
The
big day arrives and we get everyone in the computer lab for the big test, I
load the corrected load tape into the computer and start to run the customer
acceptance test. Things go reasonably
well, although there are the government observers who, as usual, profess to see
problems that no one else sees.
I
point out that the entire test is being video taped
and that we can replay any critical scenes.
(That shuts up the worst of the complainers.)
I run
the full customer acceptance test and things go reasonably well. There are no obvious errors and we should get
the customer's people to sign off on successful completion of their acceptance
test.
Then
Alvin prances in and announces, “I want to show you an error in the
program.” He then grins at me, to show
how clever his betrayal of me (and the company) is.
One of
the Vice Presidents is also smirking at me.
The
President of the company is there and he's not at all happy.
I
carefully state, “As far as I'm aware there are no errors in the program. In any case, none have been reported. I have no idea what it is that Alvin thinks
is wrong.”
Alvin
smirks at me and announces, “Jason, I'll show you an error in the program, an
error that you already know about.”
I turn
and ask the customer representatives, “Do you want to see Alvin's little show?”
The
customer representatives have no real choice and they say that they do indeed
want to see Alvin's show.
Alvin
then sits at the console and runs the test that I showed him, when I was using
a patched program tape with a wrong units call.
Of
course, the test then runs as it's supposed to run, since I have fixed the
problem in the customer acceptance test version of the program.
I ask,
“Alvin, where is the error that you told us about?”
Alvin
snarls, “You tricked me! I saw an error
in the test, yesterday.” Alvin then
stalks out of the area, before I can call the guards to throw him out.
Then
Dana sort of slinks in and announces, “I think that I have found an error in
the program.” She then grins at me, to
show how cleverly she's handling her betrayal of me.
The
same Vice President, who was smirking along with Alvin is now looking
everywhere but in my eyes or in customer eyes.
The
President of the company is still observing the scene and he's not at all happy.
I
carefully state, “As far as I'm aware there are no errors in the program. In any case, none have been reported. I have no idea what it is that Dana thinks is
wrong.”
Dana
announces, “I'll show you an error that I found in the program, an error that
you should know about.”
I
sigh, turn and ask the customer representatives, “Do you want to see Dana's
little show?”
The
customer representatives again have no real choice and they say that they do
indeed want to see Dana's show.
Dana
then sits at the console and runs the test that I showed her, when I was using
a patched program tape with a wrong units call.
Of
course, the test then runs as it's supposed to run, again since I have also
fixed the second problem in the customer acceptance test version of the
program.
I ask,
“Dana, where is the error that you told us about?”
Dana
says, “I don't understand. I found the
error yesterday. I saw a completely
different result from what I now see.”
Dana then sort of slinks out of the room.
I sigh
and ask, “Are there any more supposed errors to be reported?”
No one
steps forward.
I tell
the people, “That concludes the customer acceptance test demo run. If there are specific claims of test
failures, we can review the video playback of the test.”
There
are a couple of guys who want to view specific parts of the test video. (To my surprise, a couple of the senior
military officers also stay to watch the replay.) We replay the key times, within the test, and
the supposed test failures are not seen, even when we rerun the key parts of
the test several times. We wrap up the
customer acceptance test, with the general idea that the military command's
people will buy off on successful completion of the test.
(The
two senior officers stay, after the other guys leave.) One of the senior officers asks me, “Jason,
what was the two two programmers challenging the test
all about?”
I tell
the officer, “I don't know what possessed them to do it, but either they go or
I go.”
The
officer says, “We're considering a follow on contract, given the work that your
team has done.”
I tell
the officer, “I would be delighted to bid on additional work. However, I won't work with people who want to
stab me in the back, especially in front of customers.”
The
officer asks, “How do you intend to approach the problem?”
“I'll talk with my management here and find out if they
want me or the backstabbers. If they
want me, I'll replace the backstabbers.”
The
officer says, “As I said, we're considering a follow on contract, given the
work that your team has done. I'll have
the Commanding Officer discuss the matter with your management.”
I say,
“Okay, I'll wait a bit, before I talk with my management about the problem.”
I
think the entire matter over and arrive at a conclusion as to how Alvin will
handle things. I set things up and then
call in Alvin and I ask him, “You came into a customer acceptance test, made
false claims, false claims that could have prevented the customer from
accepting the software that an entire team worked very hard to deliver. Why did you do that?”
Alvin
snarls, “You showed me an error in the project software and I wasn't gonna let you deliver software with a known error in it.”
I ask
Alvin, “You tell me that I showed you a known error in the project
software. Why did I show you a known
error in the software?”
Alvin
snarls, “You told me to fix the error and it was a trap!”
I
calmly ask Alvin, “You claim that I showed you an error in the project
software, when there was no error. If
you thought that there was an error, did you try to fix the error, that you
claim that I told you about?”
Alvin
says, “There wasn't time for me to do that.
Then, you could have blamed me for failure to fix the error. I wasn't gonna let
you get away with that!”
I then
calmly state, “To defend yourself against some imagined attack, by me, you
decided to perhaps destroy the project.
Why do you think that I was against you?
I openly published a progress report, day by day. Your successes were reported, as were the
successes of each of the project members.
Do you claim that I under reported your successes or reported your
successes as achieved by another project member?”
Alvin
snarls, “I aint gonna talk
to you, liar!” With that, Alvin gets up
and goes to the door. He yanks the door
open and stands face to face with a security guard.”