Professional Documents
Culture Documents
Changing The Hand You're Dealt: Better Designs Through Problem Redefinition
Changing The Hand You're Dealt: Better Designs Through Problem Redefinition
$9.95
www.StickyMinds.com
Changing
The Hand
Youre Dealt
Better Designs Through
Problem Redefinition
December 2006
Volume 8, Issue 11
Cover Story
CHANGING THE HAND YOURE DEALT
BETTER DESIGNS THROUGH PROBLEM REDEFINITION 18
A parable and a program fragment show how small changes to the problem can simplify the solution. by Payson Hall
Features
Columns &
Departments
TECHNICALLY SPEAKING 9
Believing Is Seeing by Lee Copeland
What you dont know can hurt you, and what you do know can too.
CODE CRAFT 10
The Ajax Balancing Act by Tod Golding
The path to Ajax has its pitfalls, but using it carefully can put you ahead of the game.
In Every Issue
Mark Your Calendar 4
Whats Happening
@ StickyMinds.com 7
Product Announcements 37
Ad Index 40
TEST CONNECTION 14
Rock, Paper, Scissors by Michael Bolton
The requirements process isnt linear. Learn how its elements influence each other.
MANAGEMENT CHRONICLES 16
In Search of Commitment Clarity by Michele Sliger
Overcommitting yourself means overcommitting your team.
CAREER DEVELOPMENT 32
[Featured Department]
Better Software magazine and StickyMinds.com We invite you to visit StickyMinds.com, the online
companion to Better Software magazine. StickyMinds.com covers the same pertinent topics as the
magazine, putting the power of information at the click of your mouse. Weekly columns, headline-making
bugs, hundreds of technical papers, an online Tools Guide, discussion boards, and so much more
make this your site for 24/7 brainfood to help you build better software.
www.StickyMinds.com
DECEMBER 2006
BETTER SOFTWARE
M A R K YO U R C A L E N DA R
Publisher
Wayne Middleton
Director of Publishing
Holly N. Bourquin
Editorial
Atlanta, GA
Editor
Heather Shanholtzer
www.sqe.com/getcertified
Technical Editors
Mike Cohn, Brian Marick
www.sqe.com/getcertified
Design
San Francisco, CA
Creative Director
David Parrish
www.sqe.com/trainingivs
Art Director
Sarah Rice
Advertising
Director of Sales
Heather Buckman
www.sqe.com/getcertified
Orlando, FL
www.sqe.com/stareast
Circulation Coordinator
Justin Bridegan
Las Vegas, NV
www.sqe.com/bettersoftwareconf
BETTER SOFTWARE
DECEMBER 2006
www.StickyMinds.com
brain food
for building
better
software
Whats Happening
EDITORS PICK
Pointer
Conference Material
Smaller-Scale Web Sites Need Performance Testing Too!
Even a smaller-scale Web site requires careful planning and execution of performance tests. Making the critical decisions
in a timely manner and identifying the performance goals are still prerequisites to a successful test. However, smaller
sites dont necessarily have the resources required to do large-scale testing, so compromises have to be made. This
requires good test planning. In this presentation first delivered at the Software Test Automation Fall 2003 Conference,
Dale Perry explains how to test a small site that is looking to grow, as well as the successes and pitfalls of achieving
reasonable goals. www.stickyminds.com/powerpass8-11
www.StickyMinds.com
DECEMBER 2006
BETTER SOFTWARE
Technically Speaking
Believing Is Seeing
by Lee Copeland
In 1949, Jerome Bruner and Leo Postman
of Harvard University published the results
of an experiment in belief and perception
that would become a classic. Subjects
were shown a series of five different
playing cards in random order for fractions of a second. The exposure times
used in the experiment started at 10 ms,
then increased as follows: 30 ms, 50 ms,
70 ms, 100 ms, 150 ms, 200 ms, 250
ms, 300 ms, 400 ms, 450 ms, 500 ms,
600 ms, 700 ms, 800 ms, 900 ms, and
finally 1,000 ms. Each card was presented
three times at the varying exposure
times until correct recognition occurred.
If at 1,000 ms recognition did not occur,
the next card was presented. Correct
recognition was defined as the subjects
giving two successive responses of the
cards actual color and shape.
The interesting part of the experiment
was that some of the playing
cards had been altered:
Some hearts and diamonds
had been changed so that
the symbols were black (instead of the usual red), and
some spades and clubs had
been changed to red (instead of black).
The subjects recognized 100 percent
of the normal cards within 350 ms, but
only 90 percent of the incongruous
cards were recognized when displayed
even for 1,000 ms (a full second). When
the cards were identified correctly, it
typically took the subjects four times
longer to identify the bogus cards.
The reason is simple. The subjects
unconsciously denied what their visual
systems presented to them. Because they
knew that all spades and clubs are black
and all hearts and diamonds are red,
they couldnt accept the reality of what
they observed.
When presented with a black three
of hearts, one subject gave twenty-four
successive responses that the card was a
black three of spades. For sixteen
successive responses, another subject
identified the card as a red three of
Sticky
Notes
For more on the following topic, go to
www.StickyMinds.com/bettersoftware.
DECEMBER 2006
BETTER SOFTWARE
Code Craft
10
www.StickyMinds.com
BETTER SOFTWARE
DECEMBER 2006
GETTY IMAGES
Code Craft
BETTER SOFTWARE
DECEMBER 2006
www.StickyMinds.com
Like any technology, Ajax has its pitfalls and dark corners. You may end up
enriching your client only to find youre
hammering the server with too many
requests. Or you could expose yourself to
a whole new realm of security concerns.
The road to Ajax is littered with potholes
of this nature.
The main challenge, as I see it, is to
find a compromise that enhances the
user experience without fundamentally
compromising the fragility and robustness
of your solution. If you can find the
combination of tools that strikes that balance, youll be ahead of the game. And
for now, we just have to get comfortable
with navigating the continually shifting
waters of the world of Ajax. {end}
Tod Golding is the founder of Blue Puma
Software, a technical consulting company
that provides software training, mentoring,
and development services. He has twenty
years of experience as a software developer,
lead architect, and development manager
for organizations engaged in the delivery
of large-scale commercial and internal
solutions. With an extensive background
leveraging .NET, J2EE, and Windows
DNA technologies, Tod has become
equally skilled with C#, Java, and C++.
He has worked and consulted at a variety
of companies, including Microsoft and
Borland. Tod is the author of Professional
.NET 2.0 Generics and a contributing
author of the XML Programming Bible.
Test Connection
BETTER SOFTWARE
DECEMBER 2006
Reference
References are things that we can point
todocuments, mock-ups, prototypes,
or models. They may contain tables,
pictures, diagrams, maps, and so on.
References can refer to other references
(This product shall use the protocols
www.StickyMinds.com
Test Connection
Inference
Conference
www.StickyMinds.com
DECEMBER 2006
BETTER SOFTWARE
15
Management Chronicles
BETTER SOFTWARE
DECEMBER 2006
GETTY IMAGES
by Michele Sliger
Management Chronicles
STORY LINES
Consequences of overcommitting
include resentment, burnout, poor
product quality, low morale, high
turnover, and missed delivery dates.
Overcommitting doesnt just put you
in a bind, it puts the rest of the team in
a bind as well. Be fair to your team and
to your stakeholders, and make every
effort to make realistic commitments.
Use the review at the end of the iteration to assess whether or not the
team overcommitted, and be sure to
scale back your commitments for the next
iteration to better reflect reality. This will
allow the team to establish a consistent
pattern of meeting commitments while
working at a sustainable pace.
Revisit the release plan at the end
of each iteration to make sure that any
change in the teams velocity is accounted
for in the overall release plan. Its better
to know sooner rather than later if you
cant complete all the features originally
agreed to.
www.StickyMinds.com
DECEMBER 2006
BETTER SOFTWARE
17
Changing
The Hand
Youre Dealt
By Payson Hall
18
BETTER SOFTWARE
DECEMBER 2006
www.StickyMinds.com
A Puzzling Parable
I was first exposed to the problem redefinition strategy in
a math puzzle. A shepherd died and was survived by three
sons and twenty-three sheep. In his will, the shepherd left half
of the sheep to the eldest child, one-third to the middle child,
and one-eighth to the youngest child. Since the sheep were to
be used for their wool, the sons werent thrilled with the notion
of cutting up sheep to account for fractions. As they stood by
the road arguing about how the division should occur, a wise
woman came along, leading a sheep of her own to market.
When the problem was explained to her, she considered it for
a moment, and then praised the boys for not being too quick
to butcher the sheep, which she said was not really necessary.
They looked at her curiously, and she said, Let me lend you
this lamb as a tribute to my friendship with your father. She
then led her lamb into the herd. Now the division should be
simpler. The eldest child smiled as he took away half
(twelve) of the sheep to begin his herd. The middle child
breathed a sigh of relief as he took one-third (eight) of the
sheep from the pen and led them home to his farm. The
youngest child watched as the old woman led her lamb from
the pen and continued down the road toward the market,
leaving him with one-eighth (three) of the herd.
Too often during the design process we find ourselves
worrying about the complex implementation of messy details
(like dividing live sheep), without first seeking ways to minimize
complexity by redefining the problem. Subtle changes to the
problem being solved can have surprising benefits in terms
of simplification.
www.StickyMinds.com
DECEMBER 2006
BETTER SOFTWARE
19
BETTER SOFTWARE
DECEMBER 2006
www.StickyMinds.com
Klondike Rules
In Klondike, a regular deck of fifty-two cards is used. To start the game,
seven face-down piles of cards are dealt in a row to form the board. The first
pile of the board contains one card, the second has two cards, the third has
three, and so on. The top card of each board pile is turned face up and placed
on top of the remaining cards in that pile. The rest of the deck comprises
the stock.
The goal of the game is to maximize the number of points scored during play
by making a series of legal moves (described below) between piles of cards.
Whenever an ace is revealed during play, it is placed in a separate pile in a
suit row above the board. On the aces you may build an ascending sequence
of cards of similar suit (e.g., on the ace of spades you may place the two of
spades, followed by the three). The cards placed on the aces may be moved
individually from the top of the face-up piles of the board or from the discard
pile. A point is scored for each card played on the suit piles. To win the game
and achieve a perfect score, all four aces must be placed in the suit row and
the ascending sequence must be built completely to the king of each suit (a
total of fifty-two points). Once a card has been placed on a suit pile, it may not
be moved for the rest of the game.
To play the game, the cards are dealt onto the board and the player makes
legal moves of cards between the piles. On the face-up piles of the board you
may place a card of alternate color that occurs next in descending sequence
(e.g., if the top face-up card of a pile is a black nine [clubs or spades] then a
red eight [hearts or diamonds] can be placed on that pile). Cards placed on top
of the face-up pile may be the card or cards comprising another face-up pile or
a card from the discard pile. When one face-up pile is moved to another, all of
the face up cards in the original pile must be moved as a group. The highest
value card (the bottom) of the face-up group being moved must be legally
playable on top of the receiving pile. When the face-up cards are removed from
a pile, it may reveal a pile of face-down cards (if the face-down pile has not
been exhausted), and a face-down card may be turned face up on that pile to
replenish the face-up pile. When a pile is completely exhausted, the vacant
place on the table is eligible to receive any king that is on the board or is
revealed later during play. If a king is not immediately available, play continues,
leaving the vacant place on the table unused until the game ends or a king
becomes available.
Cards from the stock are turned face up one at a time and placed on a
separate discard pile. The top card in the discard pile may then be played onto
any of the other piles (either the board or the suit row) at any time. Once the
top card from the discard pile has been played, any legal moves created by the
play may be taken. When a card is played from the discard pile, the top card
remaining in the discard pile may then be played. When the stock has been
exhausted and no legal moves remain, the game is over.
1
2
3
/* step eliminated */
If value of card_to_play = (top card in its suit pile) + 1
move to its suit pile for score
Else
Do for each face-up pile (until placed)
If (value of top face-up card) = card_to_play + 1
andif (color of top face-up card) card_to_play
move card_to_play to face-up pile
End do
If not played by an earlier step
card_to_play is not playable (place in discard pile)
Sticky
Notes
For more on the following topic, go to
www.StickyMinds.com/bettersoftware.
www.StickyMinds.com
DECEMBER 2006
BETTER SOFTWARE
21
When it comes to teamwork, the United States Marine Corps (USMC) epitomizes the concept. The
USMC is the most elite fighting force in the worldand with good reason. Teamwork is a key
ingredient to accomplishing a mission, and its something marines do very well. After all, theyve
been doing it for over 230 years. Though many other traits and principles make the USMC more
successful than any other branch of service in the world, teamwork is the glue that holds it all together.
Much of what I learned while serving
as a sergeant in the USMC has helped
me build and manage test teams more
effectively. Whether I am working with
permanent test teams or quickly assembled
SWAT teams to deal with a project
emergency, many of the basic USMC
principles and concepts apply.
In his book Systematic Software
Testing, Rick Craig (a retired USMC
colonel) writes about USMC leadership
principles, and David Freemans book
Corps Business describes how Marine
22
BETTER SOFTWARE
DECEMBER 2006
P r i n c i p l e s f o r B u i l d i n g
S t r o n g T e s t T e a m s
By Sean Buck
DECEMBER 2006
BETTER SOFTWARE
23
24
www.StickyMinds.com
BETTER SOFTWARE
DECEMBER 2006
automation framework that the development team can easily manage and that is
robust enough to handle maintenance
issues, then I explain any constraints. (In
one particular instance we were limited
to the automation tool we had in house
and the timeframe in which we needed to
complete the project.) I let him propose
the solution. If that solution meets the end
objective and addresses all constraints,
then we move forward. As questions or
problems arise, I am happy to help, but I
always ask for the teams solution before
I present my ideas.
This concept works only when you
have two key ingredients. First and foremost, you have capable people you can
trust. Capability ensures a better chance
of making a good decision. Second, you
have a clearly stated end objective. Even
capable testers can make wrong decisions
if they are unsure of the desired outcome
of the assignment.
Reward Failure
It hurts me when I see people disciplined for failure. They may have done
their best, but managements focus is on
the negative aspects of the failure and
discipline follows. In the USMC, we
were often pushed to failure. We were
purposely given impossible assignments
we would fail. The purpose for this was
to push us to the very edge of our
capabilitiesto discover our limits.
People involved in weightlifting or
strength training understand the concept
clearly. One exercises with a weight until
the muscle is completely exhausted. The
muscle can lift no more, and muscle
fibers are actually torn in the process. A
time of healing is required for the fibers
to repair. But, the next time the muscle
is worked, the muscle is stronger, and the
point of failure is further than it was
the last time.
The brain can be exercised in much
the same wayto the point of failure. If
you know a marine (or if you are one
yourself), you know that a marine is up to
any challenge. This is because a marine is
not afraid of failure. Failure is not the
end of the world. To marines, failure
means that they gave their all and
learned something about themselves in
the process.
Leadership by Example
I saved the most important principle
for last. Leadership by example is something I truly believe in. As the leader,
you establish the success of the team by
living, breathing, and doing everything
you want the team to do. Not only will
your teammates emulate your behavior
the behavior you wantbut you will
also gain their respect. If you are the
first one there in the morning and
the last one to leave at night, your team
knows you are serious about what you do.
If you lead by setting the example, it
is easier to counsel those with behaviors
that need correction. How can you tell
someone to stop showing up late when
you yourself are late? How motivated
will team members be if you make them
work overtime, but you leave early?
Your team notices how you act and will
learn from your actions. Though the
example focuses on punctuality, this
concept applies to all behaviors and
attributes of the job. This is especially
true in the area of knowledge. How can
you mentor and bring up your testers
skills if you yourself are not continuously
www.StickyMinds.com
Conclusion
As our culture focuses more on individual superstars, Ive noticed that
organizations are losing focus on the
team concept. Much of a teams success
depends on having a leader who can
take a group of individuals and mold
them into a high-performance team. Take
charge of your team. Increase your
success by building a common ground,
training for capability, managing by end
state, rewarding failure, and, most
importantly, setting the example with
your own actions. {end}
Sean Buck is the team manager of
the SDLC team in the process methodology and training department at the
Capital Group Companies Inc.
(www.capgroup.com). The SDLC team
helps improve the internal systems
development processes by coaching,
mentoring, and consulting. Sean is a
former member of the United States
Marine Corps and has been leading
teams for more than a decade using
USMC principles. Email Sean at
swb@capgroup.com.
Sticky
Notes
For more on the following topic, go to
www.StickyMinds.com/bettersoftware.
DECEMBER 2006
BETTER SOFTWARE
25
26
BETTER SOFTWARE
DECEMBER 2006
www.StickyMinds.com
I s T h e re a n
Assessment
in the House?
Diagnosing Test Process
Ailments In House
By Ruud Teunissen
www.StickyMinds.com
DECEMBER 2006
BETTER SOFTWARE
27
BETTER SOFTWARE
DECEMBER 2006
testing capabilities.
It is also important to define the
scope. Will you assess all projects or
a subset? Will you assess all testing
levels (unit, integration, system, acceptance, performance, security, usability,
etc.) or a subset? Will you assess
the testing only on new development
projects or will you include application
maintenance work? And what about
testing on development work youve
outsourced?
Some organizations stop after the
assessment. They may decide their testing
processes are good enough. Other oganizations realize the need for improvement
but do nothing; after the assessment is
completed, its ho hum and business
as usual resumes. But for some organizations, the assessment is just the beginning
of a substantial program of continuous
process improvement initiatives.
The ultimate impact of the test
process assessment is often directly related
to the level of management support for
it. If executive management initiates the
assessment, the impact is strong, and
more recommendations are typically implemented, even within areas that are
not directly related to the testing
process. If test management initiates the
assessment, the impact usually is limited
to the testing process itself.
Performing an In-House
Assessment
Performing an assessment in house has
substantial benefits. First of all, its less
expensive than hiring outside consultants.
Second, an in-house assessment team
knows your organization, its people, its
processes, and its habits in substantially
more detail than an outsider could
learn during the relatively short assessment period. Your process improvement
suggestions might be more realistic,
better tuned to your situation, and
more achievable.
But in-house assessments have drawbacks as well. First, you are part of the
process that is being assessed and might
be biased. If youre a tester, you may not
be popular with members of other
disciplines, so they wont tell you their
weak spots. After all, soon you may be the
enemy again and might use anything
www.StickyMinds.com
they said against them. The most common drawback is the perception that
your findings and recommendations
no matter how well reasoned and well
presenteddo not have the clout that
an outside assessor brings.
Here are some tips for leading a
successful in-house assessment:
Define why you are performing
the assessment and what you hope
to accomplish. Is the assessment to
compare yourself against the model
or against other organizations in
your field, or will it become the basis
of process improvement activities?
Choose and use a formal test
process assessment model. Make
sure you know it well before you use
it. Use it to make sure your
assessment is objective and
your conclusions are legitimate.
Create several questionnaires from
the model, tuned to the interviewees,
to guide your interviews so you
dont forget major topics of interest.
Familiarize yourself with all parts
of your organization and how it
really tests software. Gather and
analyze documents that describe
the current processes. Look for
discrepancies between the way you
claim to do things (process definition documents) and what you
really do (project documents).
Make sure you choose a representative sample of people to interview. Its easier to interview your
friends, coworkers, and people
nearby, but they may not be the
best sources of information.
Dont just interview testers. Testing
is near the end of the software
development pipeline. Decisions
made in project management and
development significantly impact
testers, so be sure to include people
from these areas in your interviews.
If you must interview several people
together, make sure they are peers.
Otherwise, youre bound to get the
DECEMBER 2006
BETTER SOFTWARE
29
30
BETTER SOFTWARE
DECEMBER 2006
www.StickyMinds.com
Sticky
Notes
For more on the following topic, go to
www.StickyMinds.com/bettersoftware.
Career Development
The Scoop on
Employment Trends
in 2006
The Better Software Magazine/StickyMinds.com
Salary Survey
With all of the glitches, security breaches, mergers, lawsuits, product launches
(and delayed launches), its been an eventful year for the software engineering
industry. But our top story is how you fared in the workplace in 2006. Hundreds
of Better Software magazine readers and StickyMinds.com users logged on and
gave us the scoop on the industrys employment outlook. Find out the who, what,
when, where, why, and how of your software engineering peers!
Who?
Hello, Wisconsin! (and South Africa)
80
70
60
50
40
30
20
10
0
32
BETTER SOFTWARE
DECEMBER 2006
www.StickyMinds.com
Career Development
What?
Job-function Junction
Where do you fit in? Are you a QA manager working in
healthcare or a development director for a commercial
software firm? Maybe youre the entry-level IT guy at the
local power company?
Computer science
is the most popular field
of study at 29%.
50
25
40
20
30
15
20
10
10
When?
Trailblazer or Homesteader?
Do you mosey from job to job in search of greener pastures
or do you stake a claim at a company and stick around until
the cows come home?
www.StickyMinds.com
DECEMBER 2006
BETTER SOFTWARE
33
Career Development
Where?
Why?
What gets you out of bed in the morning and off to the office
with a spring in your step? Are you all about the moolah, or
does a flexible work schedule keep you coming back for more?
35
30
25
20
15
10
5
0
Less Than
$30K
$30K $50K
$51K $70K
$71K $90K
More Than
$90K
100
80
60
40
20
0
Respondents could select more than one answer
60
50
34
BETTER SOFTWARE
DECEMBER 2006
www.StickyMinds.com
40
30
20
10
0
Respondents could select more than one answer
Career Development
How?
Feeling Outnumbered?
It might not be as bad as you think. Our survey shows youve
got a lot of support.
50
40
30
20
10
0
40
35
30
25
20
15
10
5
www.StickyMinds.com
DECEMBER 2006
BETTER SOFTWARE
35
Product Announcements
Borland Lifecycle Quality
Management solution
CUPERTINO, CABorland Software
Corporation has unveiled the Borland
Lifecycle Quality Management (LQM)
solution, an integrated ALM product
suite that links business requirements,
code, testing priorities, and activities in
an automated and traceable way.
Borlands LQM solution specifically
helps to align and support the following
processes:
Requirements definition and management
Test management and execution
Architecture and design analysis
Development test and defect prevention
Automated functional testing
Performance and scalability testing
Defect tracking and version control
For additional information, visit
www.borland.com/us/solutions/lifecycle_
quality_management.
AccuRev 4.5
LEXINGTON, MAAccuRev 4.5 is
designed to be at the core of a multivendor
application lifecycle management
(ALM) process through its enhanced
AccuBridge SDK, combining process
and issue-based SCM with leading IDEs
and third-party lifecycle tools.
PSS Robot
MINNEAPOLIS, MNProductive
Software Systems Inc. (PSS) has developed
a tool to help analyze the impact of
change before it is made. With Robot,
finding, analyzing, and seeing the context
of how source code is used allows you to
judge the impact of change, with search
results given in full view and the option
to immediately edit code with your
favorite editor.
PSS offers a free 30-day demo on
Robot and its capabilities. For more
information, call (866) 417-8300 or visit
www.prodsoft.com.
www.StickyMinds.com
DECEMBER 2006
BETTER SOFTWARE
37
Science of Happiness
According to the man
obsessed by happiness, author
and scientist Mihaly Csikszentmihalyi, happiness isnt just a
pleasurable state of being. You feel good
when your consciousness is in order.
Disorder and chaos in the mind create
stress. Pleasurable activities, like
watching TV, dont in themselves
create happiness. They just restore the
consciousness to temporary order without
adding to the chaos. In the book Flow:
The Psychology of Optimal Experience,
Csikszentmihalyi argues that for you to
feel truly happy, your consciousness
needs to grow. Studying situations of
psychological growth, Csikszentmihalyi
discovered a state called flow. Flow is
an intense state of concentration, a state
so hungry for attention that no room is
left for casual worries. In a state of flow,
only the task at hand matters. The back
cover of the book condenses flow best:
When in flow, people typically feel
strong, alert, in effortless control,
unselfconscious, and at the peak of their
abilities. Athletes, artists, musicians,
chess masters, and surgeons work best
in flow.
Tick-the-Code Inspection makes it
possible for software engineers to enter
flow while checking code.
Sticky
Notes
www.StickyMinds.com
DECEMBER 2006
BETTER SOFTWARE
39
Index to Advertisers
ACULIS Software Development Services
AutomatedQA
Bredex
Critical Logic
Empirix
Display Advertising
Shae Young syoung@sqe.com
www.aculis.com
15 & 17
www.automatedqa.com
www.bredexsw.com
12
www.critical-logic.com
31
www.empirix.com
38
www.sqe.com/emtd
30
ibm.com/takebackcontrol/flexible
www.iTKO.com/lisa
35
www.mercury.com
www.nvp-inc.com
40
Parasoft Corporation
www.parasoft.com
11
www.rallydev.com/bsm
37
Seapine Software
www.seapine.com
Software Planner
www.SoftwarePlanner.com
40
www.sqs.com
Back Cover
www.sqe.com/getcertified
www.sqe.com/training.asp
36
www.sqe.com/stareast
13
TechExcel, Inc.
www.techexcel.com
Worksoft
www.worksoft.com
Rally
STAREAST 2007
40
BETTER SOFTWARE
DECEMBER 2006
www.StickyMinds.com