Tip:
Highlight text to annotate it
X
This chart shows a dot for each response time
for the same request repeated over 48 hours,
produced using LoadRunner.
Traditional teams typically don’t create this graph
because they typically focus on averages,
which filter out spikes shown here.
Since occasional delays impact only a few
unlucky users, no attention is usually paid.
A Java developer may look at his own
application log and see that one spike was
caused by a full application Garbage Collection
that stops the process briefly.
Occasional network resets go unnoticed
because the network team didn’t know about
transaction response times and
developers assumed the network just works.
But to resolve all spikes, often a big meeting
needs to be called to make
individual assignments.
However, Agile teams do tend to ask for this
because they have a sense of ownership for
the entire picture.
And that makes all the difference.
They seek to expose the root causes
even though it’s someone else’s problem.
Agile teams tend to seek an integrated and
comprehensive approach across the
organization because that’s what it takes to
keep systems stable and controlled.
This is why Agile teams often assemble an
integrated set of logs from all servers
impacting a service.
Comprehensive investigations may reveal that a
big report job is scheduled to run while a
full backup occurs, and right in the middle of a
TripWire job that calculates a hash of
every file on the server.
After this was fixed, the total time for
all jobs were cut by half.
This kind of analysis is crucial for
user satisfaction now that users are
spread across all time zones around the world.
When performance testers know the cost of
each process rather than being handed a
black box at the end of a
Waterfall development phase,
they won’t be just scratching their heads when,
say, a DBA does an experiment on the server
without telling anyone else.
And without convening a meeting,
people would know what to do when a
bad configuration change by
another team caused entire server instances to
be moved to another physical machine
automatically.