<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>Agile Testing</title>
      <link>http://www.aphids.com/agiletesting/</link>
      <description></description>
      <language>en</language>
      <copyright>Copyright 2008</copyright>
      <lastBuildDate>Thu, 12 Jun 2008 16:09:16 -0600</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=3.2</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>A social animal?</title>
         <description><![CDATA[<p>Jon Williams <a href="http://weblog.infoworld.com/ny-cto/archives/2008/06/agile_and_the_s.html">makes the following observation</a>:</p>

<blockquote>Agile development practices require a developer to be social. There's a daily scrum, pair programming, end-users on team, kaizen meetings and the like, all situations which require high social interaction.</blockquote>

<p>I can agree with that. He then follows with these questions:</p>

<blockquote>(a) Does Agile push developers out of their comfort zone to be more social, OR (b) Did Agile come about because developers want to be more social?</blockquote>

<p>My answer is neither one; for me, context is the deciding factor in my sociability. Like many software engineers, I'm an <a href="http://en.wikipedia.org/wiki/Introvert">introvert</a>. Put me in a large group of people whom I don't know well, and I will clam up and try to escape as soon as possible. But if you put me in a small group of people I know well, I seem like the life of the party.</p>

<p>For this reason, I <strong>love</strong> working in an agile environment! I'm part of a small team who I know well and trust. I thoroughly enjoy interacting with my team. In fact, at my current job, I've taken on the role of social organizer and of helping others to form more personal relationships. My wife finds this role amusing since I'm pretty closed down in many mixed social settings with her.</p>]]></description>
         <link>http://www.aphids.com/agiletesting/2008/06/a_social_animal.html</link>
         <guid>http://www.aphids.com/agiletesting/2008/06/a_social_animal.html</guid>
         <category>Agile - General</category>
         <pubDate>Thu, 12 Jun 2008 16:09:16 -0600</pubDate>
      </item>
            <item>
         <title>Deconstructing my unofficial career goals</title>
         <description><![CDATA[<p>Some of my unofficial career goals up to this point included: 1.) never being in a position where I had to use PowerPoint on a regular basis, and 2.) spending as little time as possible with sales, marketing and advertising people. In the past, I've associated both those activities with pointless waste of time.</p>

<p>Well, since I assumed my new role as QA Architect here at Borland, I've violated both those goals. However, the good news is that I don't feel either one has been a waste of time. </p>

<p>As for PowerPoint, I'm in the role of designing and implementing processes throughout the company, and PowerPoint is one of the tools in the box for that roll-out. Granted, some of the people who attend my presentations may still have my previous association, but I try to make my presentations as short, painless and useful as possible.</p>

<p>And sales and marketing folks. This morning, I spent over two hours in a meeting with representatives from sales, marketing and advertising. That meeting was also not a waste of time for me. Those folks are trying to figure out how to get the word out on how we've improved our own software development process (using agile) and changed our own tools to support those changes. I've been a big part of that process improvement, so the sales, marketing and advertising people were actually listening to me and others from R&D this morning.</p>]]></description>
         <link>http://www.aphids.com/agiletesting/2008/06/deconstructing_my_unofficial_c_1.html</link>
         <guid>http://www.aphids.com/agiletesting/2008/06/deconstructing_my_unofficial_c_1.html</guid>
         <category>Odds and Ends</category>
         <pubDate>Fri, 06 Jun 2008 11:32:53 -0600</pubDate>
      </item>
            <item>
         <title>What does &apos;done&apos; mean?</title>
         <description><![CDATA[<p>Here's a problem that I've been thinking about recently. I'd love to hear feedback.</p>

<p>Scrum dictates that each user story that a team commits to in a sprint should be complete at the end of the sprint, and the story’s acceptance criteria define what ‘done’ means.</p>

<p>Certain types of enterprise testing can pose challenges to this principle. Performance requirements, for instance, are often based on scenarios that transcend individual user stories. </p>

<p>Here is an example: the application under test supports two different user roles, and the performance requirements stipulate the required performance of individual functions when certain numbers of users of both roles are using the application concurrently. User stories A, B and C cover functionality performed primarily by one user role and stories D, E, and F cover functionality used by another role. </p>

<p>If the team implemented stories A, B and C in one sprint, the team would not fully know whether stories A, B and C meet performance requirements until stories D, E and F are complete and the entire scenario is run with all user roles.</p>

<p>Certainly, the scrum team can minimize these sorts of problems by changing the order in which they implement stories or other strategies. And the team gains a certain amount of value from performing partial tests, but fundamentally, enterprise testing poses these types of challenges, and scrum teams have to deal with them.</p>

<p>If the scrum team cannot work around this sort of challenge, then they should consciously acknowledge the challenge, figure out a compromise to agile principles or scrum practices in order to deal with the challenge, and specify the risks involved in the compromise. And most importantly, all of this should be communicated to the customer at the sprint review.</p>

<p>Using the example above, a portion of the sprint review would go something like this:</p>

<blockquote>Here’s the challenge we faced: in this sprint we completed stories A, B and C to the best of our ability, but we cannot fully know whether these stories fulfill all performance criteria until we complete stories D, E, and F.

<p>Here’s the compromise we came to: we have completed these stories to the best of our ability. We did as much as we can, short of the full performance testing scenario, to verify that the stories meet performance acceptance criteria. </p>

<p>Here are the risks involved in this compromise: It’s possible that the stories do not perform as well as expected in an enterprise deployment. But since the missing variable pertains to unfinished functionality, users will not be executing that functionality at this time anyway. </p>

<p>Here’s how we plan to address this compromise: we plan to complete stories D, E and F in the next sprint. At that time, we’ll be able to run the entire performance scenario and verify that stories A, B and C meet performance requirements.</blockquote></p>

<p>At that point, the customer would be able to accept or reject the stories. However, if the team has been working closely with the customer from the beginning of the process, the customer should have known about the challenges and have worked with the team on how to address them. The risks presented at sprint review should not come as a surprise to the customer.<br />
</p>]]></description>
         <link>http://www.aphids.com/agiletesting/2008/06/what_does_done_mean.html</link>
         <guid>http://www.aphids.com/agiletesting/2008/06/what_does_done_mean.html</guid>
         <category>Agile Testing - General</category>
         <pubDate>Thu, 05 Jun 2008 08:32:39 -0600</pubDate>
      </item>
            <item>
         <title>Inside the box</title>
         <description><![CDATA[<p>I'm really enjoying my new job as QA architect at <a href="http://www.borland.com/">Borland</a>. One part of my job is to help some of our agile development teams in the US and Austria to form effective working relationships with our enterprise testing team in Singapore, and then, based on those teams' experiences, to create a general process that other agile teams can use to implement the same types of changes. This is the <a href="http://www.aphids.com/agiletesting/2008/05/enterprise_agile_testing.html">enterprise agile testing</a> initiative that I've referred to before in this blog.</p>

<p>Anyway, while reviewing my proposed process with our company's agile evangelist, I realized that my proposed process works very well within the given constraints of our company, but that I had given no thought to questioning the constraints themselves. Most of those constraints are very much outside my control, but my coworker pointed out that there is value in thinking how much more my process could adhere to agile principles if some of those constraints were changed or removed, and then presenting that information to the people who do have the power over the constraints.</p>

<p>Without making this blog post a therapy session, let me just say that I think this ability to work well within given constraints goes back to my childhood. As I was growing up, there were many not-so-great aspects of my family life that I couldn't change, so my coping strategy was to excel within those limitations.</p>

<p>This inclination to make things work within given limitations served me well earlier in my career, when I was just in the position of implementing process. But now that I'm also in the position of defining processes for others, I need to keep this inclination in mind so that I can make an intentional effort to think outside the box.</p>]]></description>
         <link>http://www.aphids.com/agiletesting/2008/05/inside_the_box.html</link>
         <guid>http://www.aphids.com/agiletesting/2008/05/inside_the_box.html</guid>
         <category>Odds and Ends</category>
         <pubDate>Fri, 30 May 2008 17:01:35 -0600</pubDate>
      </item>
            <item>
         <title>Enterprise Agile Testing</title>
         <description><![CDATA[<p>Sorry I haven't posted in a while, but I've been pretty busy. My primary task at work currently is an initiative to help our agile teams work effectively with our enterprise test engineers located in Singapore. My earlier posts about this initiative (<a href="http://www.aphids.com/agiletesting/2008/04/agile_testing_with_globally_di.html">here</a> and <a href="http://www.aphids.com/agiletesting/2008/04/agile_testing_with_globally_di_1.html">here</a>) represent only some of my earliest thoughts. Since then, this initiative has really begun to come together as a strategy for doing enterprise testing in an agile environment. I'll try to share more of my thoughts soon.</p>]]></description>
         <link>http://www.aphids.com/agiletesting/2008/05/enterprise_agile_testing.html</link>
         <guid>http://www.aphids.com/agiletesting/2008/05/enterprise_agile_testing.html</guid>
         <category>Enterprise Agile</category>
         <pubDate>Sun, 25 May 2008 16:01:55 -0600</pubDate>
      </item>
            <item>
         <title>Agile programming is no hooey</title>
         <description><![CDATA[<p>In InfoWorld, Frank Hayes offers a very brief introduction to agile: <a href="http://www.infoworld.com/article/08/04/28/Agile-programming-is-no-hooey_1.html">Agile programming is no hooey</a>. This might be a good high-level starting place in an introduction to agile.</p>]]></description>
         <link>http://www.aphids.com/agiletesting/2008/04/agile_programming_is_no_hooey.html</link>
         <guid>http://www.aphids.com/agiletesting/2008/04/agile_programming_is_no_hooey.html</guid>
         <category>Agile - General</category>
         <pubDate>Wed, 30 Apr 2008 10:06:47 -0600</pubDate>
      </item>
            <item>
         <title>They think they&apos;re &apos;doing agile&apos;</title>
         <description><![CDATA[<p>In my discussions and reading, I hear a lot of people declare that so-and-so group thinks they're agile, but they aren't really. I don't think this type of either/or judgments are very useful--there isn't really a checklist of criteria for judging whether a group is truly 'doing agile' or not. </p>

<p>I think there's a more useful question to ask: has a group understood and embraced the <em>principles</em> of agile or have they viewed it as just a set of practices to be adopted (e.g., short iterations, daily stand-ups, etc.)? </p>

<p>It doesn't do any good to tell a group, for instance 'To be agile, you need to do X' without explaining the principle behind the practice.</p>

<p>Unfortunately, <a href="http://www.sqaforums.com/showflat.php?Number=479094">this</a> sounds like a group that doesn't grasp the principles of agile. I really feel for the tester who posted the frustrated message to the forum. He seems to be trying to embrace the principles with team members who don't see them too clearly.</p>]]></description>
         <link>http://www.aphids.com/agiletesting/2008/04/they_think_theyre_agile.html</link>
         <guid>http://www.aphids.com/agiletesting/2008/04/they_think_theyre_agile.html</guid>
         <category>Agile - General</category>
         <pubDate>Tue, 29 Apr 2008 10:16:32 -0600</pubDate>
      </item>
            <item>
         <title>On the same page</title>
         <description><![CDATA[<p>Throughout my career as a QA engineer, I've used the following informal question as a basic sanity check: Does my gut tell me that everyone involved is on the same page? Do the developers, the QA engineers, the technical writers all have a common understanding of what they're developing? Most of my jobs had no particular defined process, so this sanity check was particularly important. </p>

<p>I've found this question also to be useful in an agile team, but the dynamics are a little different. </p>]]></description>
         <link>http://www.aphids.com/agiletesting/2008/04/on_the_same_page.html</link>
         <guid>http://www.aphids.com/agiletesting/2008/04/on_the_same_page.html</guid>
         <category>Quality Assurance - General</category>
         <pubDate>Fri, 25 Apr 2008 20:17:17 -0600</pubDate>
      </item>
            <item>
         <title>Evidence for working in small groups</title>
         <description><![CDATA[<p>From 37Signals' blog: <a href="http://www.37signals.com/svn/posts/995-if-youre-working-in-a-big-group-youre-fighting-human-nature">If you’re working in a big group, you’re fighting human nature</a></p>

<blockquote>According to British author Antony Jay, there are centuries of evidence to support the idea that small groups are the most efficient. In “The Corporation Man,” he talks about how humans have worked in small groups, usually five to fifteen people, as hunters and farmers for hundreds of generations.</blockquote>]]></description>
         <link>http://www.aphids.com/agiletesting/2008/04/fighting_human_nature.html</link>
         <guid>http://www.aphids.com/agiletesting/2008/04/fighting_human_nature.html</guid>
         <category>Agile - General</category>
         <pubDate>Thu, 24 Apr 2008 16:40:29 -0600</pubDate>
      </item>
            <item>
         <title>The purpose of testing</title>
         <description><![CDATA[<p>Oh his blog, <a href="http://www.pols.co.uk/blog/">Andy Pohls</a> tells an <a href="http://www.pols.co.uk/archives/172">interesting story</a> of a customer who refused to deploy code that did not have an automated test. Moreover, the output of the missing test in question was an XML file. When the customer was shown how to read the XML that was being passed between systems, he realized that it did not suit the business needs.</p>

<p>But what I found most thought-provoking was one of the comments to the post, written by <a href="http://www.developsense.com/index.html#michaelbolton">Michael Bolton</a>:</p>

<blockquote>It’s unusual to hear that the customer learned something and used the information obtained from creating the test. . . This is much closer to my view of what is really important about testing: discovering and revealing information so that people can make informed decisions. Most of the time, we hear about something different: confirming and validating information so that people can feel reassured knowing that last week’s tests are still passing this week. That might be reassuring, but it has enormous potential for self-deception. We need always to ask if our tests are helping us to learn, not just helping us to sleep.</blockquote>

<p>I'll have to think about how sharing tests with customers can enhance quality.</p>]]></description>
         <link>http://www.aphids.com/agiletesting/2008/04/the_purpose_of_testing.html</link>
         <guid>http://www.aphids.com/agiletesting/2008/04/the_purpose_of_testing.html</guid>
         <category>Quality Assurance - General</category>
         <pubDate>Wed, 23 Apr 2008 11:20:09 -0600</pubDate>
      </item>
            <item>
         <title>Don&apos;t be fooled by the coverage report</title>
         <description><![CDATA[<p>I just ran across an (older) article about the difference between <a href="http://www-128.ibm.com/developerworks/java/library/j-cq01316/">code coverage and code quality</a>. The author argues that teams should not just rely on code coverage statistics. They should be more interested in the quality of the unit tests themselves.</p>

<p>As a QA engineer, unit testing has been one of the most difficult testing areas for me to deal with. As a non-developer and significantly poorer programmer than the developers I work with, I just don't have the skills to review unit tests myself. And because unit tests traditionally fall into the developer's task list--even though they are testing tasks--it's been difficult to motivate the developers to think like QA engineers in order to implement unit test reviews or other means of testing the unit tests beyond basic code coverage stats.</p>

<p>It seems like this sort of process improvement should be easier to implement in an agile environment, due to the team focus and to the softer separations between roles. But so far, I haven't had much success at fostering interest in delving into the types of issues raised in this article.</p>

<p>I'd love to hear how other non-programmers have helped to improve unit testing in their organizations.</p>]]></description>
         <link>http://www.aphids.com/agiletesting/2008/04/dont_be_fooled_by_the_coverage.html</link>
         <guid>http://www.aphids.com/agiletesting/2008/04/dont_be_fooled_by_the_coverage.html</guid>
         <category>Unit Testing</category>
         <pubDate>Tue, 22 Apr 2008 13:37:45 -0600</pubDate>
      </item>
            <item>
         <title>Agile testing with globally distributed resources, part 2</title>
         <description><![CDATA[<p>In my <a href="http://www.aphids.com/agiletesting/2008/04/agile_testing_with_globally_di.html">previous post</a>, I explained that our company's team in Singapore performs what we call enterprise testing, and I outlined some of the steps we're taking to help the enterprise testing team to support the agile R&D teams more effectively. </p>

<p>In this post, I'll share some specific practices that we're working to implement. </p>]]></description>
         <link>http://www.aphids.com/agiletesting/2008/04/agile_testing_with_globally_di_1.html</link>
         <guid>http://www.aphids.com/agiletesting/2008/04/agile_testing_with_globally_di_1.html</guid>
         <category>Distributed Resources</category>
         <pubDate>Thu, 10 Apr 2008 13:57:38 -0600</pubDate>
      </item>
            <item>
         <title>Agile testing with globally distributed resources</title>
         <description><![CDATA[<p>Here at <a href="http://www.borland.com/">Borland</a>, basic functional testing is the domain of the agile team that develops the functionality, while a dedicated QA team in Singapore is charged with performing what we refer to as enterprise testing--performance and scalability, integration, localization, etc. </p>

<p>This post outlines some of the changes that we're implementing in regard to the enterprise testing group.<br />
</p>]]></description>
         <link>http://www.aphids.com/agiletesting/2008/04/agile_testing_with_globally_di.html</link>
         <guid>http://www.aphids.com/agiletesting/2008/04/agile_testing_with_globally_di.html</guid>
         <category>Distributed Resources</category>
         <pubDate>Mon, 07 Apr 2008 16:15:21 -0600</pubDate>
      </item>
            <item>
         <title>Hot-or-not for nerds</title>
         <description><![CDATA[<p>Check out <a href="http://slickorslack.com/">Slick or Slack</a> (SFW)</p>]]></description>
         <link>http://www.aphids.com/agiletesting/2008/04/hotornot_for_nerds.html</link>
         <guid>http://www.aphids.com/agiletesting/2008/04/hotornot_for_nerds.html</guid>
         <category>Odds and Ends</category>
         <pubDate>Sun, 06 Apr 2008 07:28:32 -0600</pubDate>
      </item>
            <item>
         <title>Agile Vs. Waterfall</title>
         <description><![CDATA[<p>This was our development group's entry to Borland's video contest for Sales Kickoff 2008. I'm waterfall in the video.</p>

<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/NkL7dmMMopc&hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/NkL7dmMMopc&hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>]]></description>
         <link>http://www.aphids.com/agiletesting/2008/04/agile_vs_waterfall.html</link>
         <guid>http://www.aphids.com/agiletesting/2008/04/agile_vs_waterfall.html</guid>
         <category>Odds and Ends</category>
         <pubDate>Wed, 02 Apr 2008 06:46:20 -0600</pubDate>
      </item>
      
   </channel>
</rss>
