<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>agilequalityassurance.com</title>
	<atom:link href="http://www.agilequalityassurance.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.agilequalityassurance.com</link>
	<description>Software Quality Assurance In An Agile Environment</description>
	<pubDate>Sun, 20 Mar 2011 21:59:29 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>To Assume is To Doubt - Eliminating Doubt to Ensure Quality</title>
		<link>http://www.agilequalityassurance.com/2011/03/to-assume-is-to-doubt-eliminating-doubt-to-ensure-quality/</link>
		<comments>http://www.agilequalityassurance.com/2011/03/to-assume-is-to-doubt-eliminating-doubt-to-ensure-quality/#comments</comments>
		<pubDate>Sun, 20 Mar 2011 21:54:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://www.agilequalityassurance.com/?p=87</guid>
		<description><![CDATA[Recently I was reflecting on the many different occasions on projects where I&#8217;d witnessed assumptions being made regarding test and project strategies as an acceptable practice. Situations such as the following :-
1) Maintaining test environments with unmonitored and, as a result, unknown and unrepeatable data, under the assumption that it is the functionality of the [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was reflecting on the many different occasions on projects where I&#8217;d witnessed assumptions being made regarding test and project strategies as an acceptable practice. Situations such as the following :-</p>
<p>1) Maintaining test environments with unmonitored and, as a result, unknown and unrepeatable data, under the assumption that it is the functionality of the application that is important and the data it is fed is immaterial.<br />
<span id="more-87"></span> 2) Testing end user sessions on a different platform, under the assumption that there will be very little difference in functionality (&#8221;Firefox on Ubuntu is the same as on Windows&#8221;)<br />
3) Pointing new-starters to a wiki-page, under the assumption that anything else they need to know shall be relayed by &#8216;asking around&#8217;<br />
4) Arranging development teams such that each person only has deep understanding of one part of the system, under the assumption that all issues that arise will be easily solved by experts collaborating at short notice.<br />
5) Loading test environments with various non-production-like configurations, under the assumption that removing them and accessing the system from an external network will be exactly the same as interaction from an end user<br />
6) Writing test suites and user acceptance scenarios without involving the business, under the assumption that the dev and test teams know how the end user will interact with the application just as much as the business<br />
7) Remaining with a project strategy that clearly isn&#8217;t working, under the assumption that because everyone knows how it works it cannot be improved<br />
8 ) Believing that exploratory testing involves dividing up areas of the system for QAs to play with for a few days, under the assumption that it shall be as effective as the clearly defined, structured practice outlined by Cem Kaner &amp; co.<br />
9) Writing automation test suites with no clear structure or framework, under the assumption that this produces a full regression suite and the product is thus well tested.</p>
<p>All the above examples are illustrations of assumptions that have been made on the SDLC. Each one lowers the quality bar and introduces unknown levels of doubt to the project model.</p>
<p>Whilst it is perfectly understandable and normal that cost, time and resource restrictions always play a part in the decision-making for and during a project (e.g. building a smaller test environment than the production equivalent due to financial constraints, removing functionality from the backlog in order to release earlier), these are value-based decisions with a known consequence.</p>
<p>There is a clear dividing line between these project decisions, based on factual origins and known consequences, and those based on unfounded assumptions producing unknown results. The latter is where quality is lost in projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilequalityassurance.com/2011/03/to-assume-is-to-doubt-eliminating-doubt-to-ensure-quality/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Power Of The Bug Bash</title>
		<link>http://www.agilequalityassurance.com/2010/04/the-power-of-the-bug-bash/</link>
		<comments>http://www.agilequalityassurance.com/2010/04/the-power-of-the-bug-bash/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 17:15:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://www.agilequalityassurance.com/2010/04/the-power-of-the-bug-bash/</guid>
		<description><![CDATA[Question: What is the easiest and most cost effective way to implement exploratory usability testing prior to a release each sprint?
Answer: A bug bash between the teams on your project.
Regardless of whether your organisation has dedicated QA personnel or not, there comes a time when the people who have built a feature would like &#8217;someone [...]]]></description>
			<content:encoded><![CDATA[<p>Question: What is the easiest and most cost effective way to implement exploratory usability testing prior to a release each sprint?<br />
Answer: A bug bash between the teams on your project.</p>
<p>Regardless of whether your organisation has dedicated QA personnel or not, there comes a time when the people who have built a feature would like &#8217;someone else&#8217; to have a look at it prior to a release. Someone who will provide an objective, prejudice-free assessment of the work. This honest feedback is invaluable just before &#8216;flicking the switch&#8217; and can save a lot of time and money, and prevent embarrassment.</p>
<p><span id="more-80"></span></p>
<p>The QA/test team may have worked wonders throughout the sprint and prevented numerous issues from remaining in the final product but, along with the developers, they will have been 100% focused on the feature and are thus at a slight disadvantage when it comes to user-focused testing. They know it too well and can be prone to overlook the obvious.</p>
<p>Although the product owner is representing the customer/end user, they also have been involved full-time on the functionality during the sprint and have their ideas on what will work and what won&#8217;t. Through in-depth discussions their opinion may have become distorted on what works and what the customer won&#8217;t like.</p>
<p>What is needed are fresh pairs of eyes provided with a mission to &#8216;play with the feature&#8217; and see what they think. An end user, someone who has been handed an app for the first time and asked &#8220;What do you think?&#8221;. Considering first impressions last, and with the myriad of options available in the software space creating a very competitive environment, something that either isn&#8217;t intuitive, doesn&#8217;t work as expected or just looks crap is going to die a death in production.</p>
<p>Now, employing a team of usability experts, crowd-sourcing or a team of offshore trained UAT people will certainly get the job done, but it will also certainly cost <img src='http://agilequalityassurance.com/wordpress/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> What I suggest is to use the people in the company and call a bug bash. Teams are given 30 minutes to play with another team&#8217;s new feature and provide feedback within that timeframe. The related product owner then reviews the comments and acts on them as they see fit. Here are the core rules :-</p>
<p>1) The exercise lasts 30 mins, not a minute longer.<br />
2) A team shall be informed directly before the bug bash of what they&#8217;re going to look at (make it at most a 3-word title, to provide focus but also to allow people the freedom to do as they wish within that guidance).<br />
3) Everyone in the company can join in (it&#8217;s actually encouraged).<br />
4) All testing is performed on the same test environment.<br />
5) No discussion is allowed between team members.<br />
6) Feedback can consist of bugs found, questions, comments, general feedback, whatever.<br />
7) The remit is to &#8220;play with the feature and see what you find/think&#8221;.</p>
<p>After the 30 minutes, everyone returns to their normal work.</p>
<p>The method of submitting comments can be via an existing tool in the company. I&#8217;ve done this with Jira, but it runs the risk of people responding to issues and then a chain of communication starting up, thus dragging the bash into the rest of the day. What is wanted is feedback for the product owner to do with as they see best - even having people use post-its and hand them in after the 30 minutes would work.</p>
<p>The benefits of this exercise? It&#8217;s a short, timeboxed activity where technically-minded &#8216;guinea-pigs&#8217; provide focused information on a new feature and its integration with all others in the system. It also acts as an unofficial demo for each team and as a learning exercise for all.</p>
<p>The downsides? To be honest I can&#8217;t think of an argument against a company forming as a team to check what they&#8217;re about to provide to a customer. </p>
<p>One pointer might be the timing of the event during the sprint - to perform it so near to a release may prevent any meaningful changes being made. My outlook on this is that by the end of the sprint there should be no catastrophic news to broadcast so the bash should mostly uncover small glitches in functionality, recommends for future work and overall opinions. </p>
<p>And if something really bad is found then it can be scheduled for resolution in the next sprint and, most importantly, it has been prevented from going live.</p>
<p>It just makes great QA sense. So do it <img src='http://agilequalityassurance.com/wordpress/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilequalityassurance.com/2010/04/the-power-of-the-bug-bash/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Agile Testers - To Be Or Not To Be Independent?</title>
		<link>http://www.agilequalityassurance.com/2009/11/agile-testers-to-be-or-not-to-be-independent/</link>
		<comments>http://www.agilequalityassurance.com/2009/11/agile-testers-to-be-or-not-to-be-independent/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 23:20:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://www.agilequalityassurance.com/2009/11/agile-testers-to-be-or-not-to-be-independent/</guid>
		<description><![CDATA[Recently I&#8217;ve been having discussions with various people on the &#8216;independence&#8217; of a QA team/people in an organisation. Some have said there&#8217;s no way this can occur in a team using agile methodologies; others have said it&#8217;s essential to maintaining an effective and objective department devoted to improving product and process quality.
My view? It depends [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Recently I&#8217;ve been having discussions with various people on the &#8216;independence&#8217; of a QA team/people in an organisation. Some have said there&#8217;s no way this can occur in a team using agile methodologies; others have said it&#8217;s essential to maintaining an effective and objective department devoted to improving product and process quality.</p>
<p style="text-align: justify;">My view? It depends on the definition <img src='http://agilequalityassurance.com/wordpress/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p style="text-align: justify;"><span id="more-76"></span></p>
<p style="text-align: justify;">When it comes to asking whether a tester who is involved in a fully functioning scrum team, who is working daily with developers to define acceptance criteria (yes, I believe everyone should have a say), collaborating on test environment construction, investigating broken builds and similar complex tasks, are they 100% independent and flying the flag for the QA dept? I&#8217;d have to say no.<br />
What they&#8217;re doing, and I believe it&#8217;s what they should be doing, is working with the team to build the best possible feature in that sprint.</p>
<p style="text-align: justify;">If that&#8217;s the case, when is a tester working as an independent consultant for the QA cause then? Well, confusingly enough, at the same time. Whilst they&#8217;re knee deep in code and environments and repository failures, the tester needs to still keep their QA hat on and think of the bigger picture. There has to be someone in the team tasked with ensure quality assurance is being thought of and has a voice throughout the sprint.<br />
This might take the form of reminding everyone to document their unit tests, double-check with the product owner on a specific piece of functionality and broadcast the findings, point out that code coverage has fallen for testing (be that for any type), whatever. They must remain focused on ensuring the best quality code is produced and is exactly what the product owner wants. And this requires an independent mindset to achieve it.
</p>
<p style="text-align: justify;">So the life of an agile tester is a complicated one. They have to be independent whilst not, involved up their neck in code but also standing back and observing the team&#8217;s productivity, and ensuring that there is adherence to the quality processes in place. A tough call indeed, and one that I think should merit huge salaries to compensate <img src='http://agilequalityassurance.com/wordpress/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilequalityassurance.com/2009/11/agile-testers-to-be-or-not-to-be-independent/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Agile &amp; Waterfall In The Same Project - The Collision Of Idealogies</title>
		<link>http://www.agilequalityassurance.com/2009/10/agile-waterfall-in-the-same-project-the-collision-of-idealogies/</link>
		<comments>http://www.agilequalityassurance.com/2009/10/agile-waterfall-in-the-same-project-the-collision-of-idealogies/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 09:49:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<guid isPermaLink="false">http://www.agilequalityassurance.com/2009/10/agile-waterfall-in-the-same-project-the-collision-of-idealogies/</guid>
		<description><![CDATA[One project I worked on involved several suppliers designing and building separate modules to be used in the construction of the full product - this is nothing new in software engineering, but whilst I led the testing for one of the modules developed using (loose) agile methodologies (in fact, upon reflection, very loose!  ), [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">One project I worked on involved several suppliers designing and building separate modules to be used in the construction of the full product - this is nothing new in software engineering, but whilst I led the testing for one of the modules developed using (loose) agile methodologies (in fact, upon reflection, very loose! <img src='http://agilequalityassurance.com/wordpress/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ), the other players used traditional ones. And boy did this make it chaotic!</p>
<p style="text-align: justify;"><span id="more-53"></span></p>
<p style="text-align: justify;">During the majority of the project the team I was in performed agile testing - along with providing instant feedback to the developers on evolving functionality, we built an automated regression test suite for UAT-level coverage. At the same time though, due to lack of appreciation of the problem in hand and not looking to the future, the project management team neglected to work out what would happen when the two paths would ´collide´ during the final SIT/UAT testing phase. This lack of foresight meant that when the teams using the traditional cycle wished to start the six week-long testing of their product with ours in month 5, they required a stable and fully developed application on which to do so. The problem was that at that time our team was still producing new features which, until completed, would not allow this form of structured testing to be executed. No thought had been given to the need for all integration aspects to be there - I had raised it as an issue early on but was still unaware of the size of catastrophy winding it´s way to our door.</p>
<p style="text-align: justify;">What ensued was a very problematic and chaotic spell of SIT where daily deployments were attempted and large numbers of blocking defects were uncovered. This introduced huge overheads such as continual environment updates, constant questioning on exactly what functionality was there and available to test and the basic fact of frequently changing code providing real instability and thus multiple test reruns. It also meant that the testers had to get involved in manual testing phases of integration between the modules whilst trying to keep up with new feature development.</p>
<p style="text-align: justify;">The clear points it showed me were</p>
<p style="text-align: justify;">1) If a project team permits the use of agile methodologies for development of one module and not for others (for whatever reason - in this case due to multiple companies being involved), there is a much higher risk of not completing a thorough testing effort and much more administration/tracking overheads.</p>
<p style="text-align: justify;">2) If agile methodologies are to be used, EVERY task must be put into the product backlog. Attempting to manage the project with more than one base planning method will (I think) come unstuck every time (please correct me if I´m wrong!).</p>
<p style="text-align: justify;">Rather than plan the delivery of functionality for every sprint in the project on day 1 and then try to link it all to the waterfall plan of other modules over a 6 month (or so) period, compile the normal product backlog and add the integration tasks for the other modules to it. Then manage the project on a sprint-by sprint basis, monitoring expected delivery dates from the traditional cycle(s) and adding them to sprints a week or so in advance. Then there will be much more accuracy in estimates, expectations and MUCH less guess work.</p>
<p style="text-align: justify;">Or just do it all using agile, it´ll be much easier <img src='http://agilequalityassurance.com/wordpress/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilequalityassurance.com/2009/10/agile-waterfall-in-the-same-project-the-collision-of-idealogies/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Agile v Waterfall - Which Is The More Risky?</title>
		<link>http://www.agilequalityassurance.com/2009/08/agile-v-waterfall-which-is-the-more-risky/</link>
		<comments>http://www.agilequalityassurance.com/2009/08/agile-v-waterfall-which-is-the-more-risky/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 13:39:04 +0000</pubDate>
		<dc:creator>kenny</dc:creator>
		
		<guid isPermaLink="false">http://www.agilequalityassurance.com/?p=50</guid>
		<description><![CDATA[I still find it strange that companies unfamiliar with Agile automatically view it as being a methodology that pays no heed to process or ensuring quality of output. From my experience the quality is actually a lot better, the timescales set are achieved more readily and everyone involved has a much greater understanding of the [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;">I still find it strange that companies unfamiliar with Agile automatically view it as being a methodology that pays no heed to process or ensuring quality of output. From my experience the quality is actually a lot better, the timescales set are achieved more readily and everyone involved has a much greater understanding of the product and its development status at any one time.</p>
<p>At present I´m working on a project where I´ve had to split the test team into two due to several companies working to build a complex product together. One team is performing agile QA in a sprint team, the other is working ´the old way´.</p></div>
<div style="text-align: justify;"><span id="more-50"></span></div>
<div style="text-align: justify;">It´s very interesting to note that all the worry and uncertainty is coming from the team working with the traditional model due to the fact that timeframes having been guesstimated months ago about environments, data and functionality that no-one knew about then. As time marches on we appear to be spending more time in meetings discussing what we once thought was gospel, has now changed due to various perfectly valid reasons and so how can we accommodate this into the table-filling project plan? To me it´s like trying to map out the projected state of the universe after being on earth for 40 minutes!</div>
<div style="text-align: justify;">The sprint team obviously still has problems during the development of the app but they nail problems quicker during iterations, they know very clearly what´s coming up and can give really accurate times for delivery (or accurate times for delay). And everyone can tell you about all parts of the product - there´s no team building a module in a silo, oblivious of what the rest of the project team is doing because they don´t integrate their part until 4 months down the line.</div>
<div style="text-align: justify;">There is a perception that using an agile methodology means starting to write code before knowing what the product is, and as a result the QA people can only click a few buttons in a demo, shrug their shoulders and say &#8220;Yeah, looks fine to me I suppose&#8221;. What´s important to note here is that perception is shared amongst people who have not worked in an agile environment or, most probably, have worked in a poorly organised agile environment. To those people I ask that they maintain an open mind to change within project management and place some trust in the fact that there is a huge agile community out there producing fantastic software, in incredibly short timeframes, and with very high quality.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.agilequalityassurance.com/2009/08/agile-v-waterfall-which-is-the-more-risky/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Test Developer - An Easy Punchline?</title>
		<link>http://www.agilequalityassurance.com/2009/08/the-test-developer-an-easy-punchline/</link>
		<comments>http://www.agilequalityassurance.com/2009/08/the-test-developer-an-easy-punchline/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 20:45:09 +0000</pubDate>
		<dc:creator>kenny</dc:creator>
		
		<guid isPermaLink="false">http://www.agilequalityassurance.com/2009/08/the-test-developer-an-easy-punchline/</guid>
		<description><![CDATA[I&#8217;ve been reading about and getting involved in conversations on the difference between a traditional lifecycle tester and an agile one. As the way projects with these type of people differ quite drastically in places, there are plenty of ways to describe what an agile tester is - I&#8217;m going to stick my neck out [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">I&#8217;ve been reading about and getting involved in conversations on the difference between a traditional lifecycle tester and an agile one. As the way projects with these type of people differ quite drastically in places, there are plenty of ways to describe what an agile tester is - I&#8217;m going to stick my neck out and mention one, <em><strong>a developer of tests rather than production code</strong></em>.</p>
<p style="text-align: justify;"><span id="more-48"></span>It&#8217;s a sweeping generalisation because there are a lot of quality assurance tasks that an agile tester does before they touch an automation tool - they have to work with the team to define the acceptance criteria of the user stories, define and document the test environment to be used, perform exploratory testing on whatever code is available, review developed functionality etc.</p>
<p style="text-align: justify;">However once they&#8217;re &#8217;settled into&#8217; the sprint there are developers performing TDD and producing code in a Continuously Integrated Environment and testers producing test code to ensure business-level descriptions/requirements are met.</p>
<p style="text-align: justify;">Of course there are all the defects to be tracked and retested, and associated documentation to be produced but I&#8217;ve found that when I provide this eight-word description to people new to agile/agile QA/basically non-traditional ideologies in general, a glimmer of comprehension and (almost :-)) acceptance appears.</p>
<p style="text-align: justify;">So, has anyone else found a quick way to describe to someone what an agile tester does? It may sound like a trivial thing to discuss but having been first QA person into several companies now, it&#8217;s very good to have &#8216;buzz-phrases&#8217; to hand that provide quick descriptions to people who still have the mental block.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilequalityassurance.com/2009/08/the-test-developer-an-easy-punchline/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Strength In Numbers - Conference Time</title>
		<link>http://www.agilequalityassurance.com/2009/07/strength-in-numbers-conference-time/</link>
		<comments>http://www.agilequalityassurance.com/2009/07/strength-in-numbers-conference-time/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 21:40:33 +0000</pubDate>
		<dc:creator>kenny</dc:creator>
		
		<guid isPermaLink="false">http://www.agilequalityassurance.com/?p=42</guid>
		<description><![CDATA[Reading blogs &#38; books etc provides a great deal of background information on any topic, but it&#8217;s also very good (if not necessary) to augment that with attending conferences.
Taking time out from the day to day work problems and spending it instead on listening to experts in the field, meeting them and having the opportunity [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Reading blogs &amp; books etc provides a great deal of background information on any topic, but it&#8217;s also very good (if not necessary) to augment that with attending conferences.</p>
<p style="text-align: justify;">Taking time out from the day to day work problems and spending it instead on listening to experts in the field, meeting them and having the opportunity to pick their brains face to face, this can refocus you and prevent getting bogged down with particular problems.</p>
<p style="text-align: justify;">So, I&#8217;d recommend as many people in the Spain area to go to this :-</p>
<p style="text-align: justify;">www.qatest.org</p>
<p style="text-align: justify;">The Spanish software test community needs to work together to raise the profile of testing and agile QA in general.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilequalityassurance.com/2009/07/strength-in-numbers-conference-time/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Part-time Agile QA - What to Focus On?</title>
		<link>http://www.agilequalityassurance.com/2009/06/part-time-agile-qa/</link>
		<comments>http://www.agilequalityassurance.com/2009/06/part-time-agile-qa/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 16:07:42 +0000</pubDate>
		<dc:creator>kenny</dc:creator>
		
		<guid isPermaLink="false">http://www.agilequalityassurance.com/?p=34</guid>
		<description><![CDATA[Well, it&#8217;s been quite a while since I posted anything and in that time I&#8217;ve since entered a new software producing environment. It&#8217;s working with agile again, which is great, but has a change to my existing experience in the area as there are multpile projects producing multiple products.
At the moment numerous teams (containing the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Well, it&#8217;s been quite a while since I posted anything and in that time I&#8217;ve since entered a new software producing environment. It&#8217;s working with agile again, which is great, but has a change to my existing experience in the area as there are multpile projects producing multiple products.</p>
<p style="text-align: justify;">At the moment numerous teams (containing the usual mix of product owner, scrum master, developers and user experience personnel) are working on their product. There is a QA team who&#8217;s task is to provide resources to all - and yes, the usual story persists in that there aren&#8217;t enough of us to go round!</p>
<p style="text-align: justify;">So this raises the question, how to provide the best possible QA services when you can&#8217;t work on a project 100% of your time?</p>
<p style="text-align: justify;"><span id="more-34"></span></p>
<p style="text-align: justify;">I know, one of the key rules of agile is being broken here i.e. the project team can not be interrupted during sprints. In an ideal world we would simply add sufficient QA people to be able to maintain the continuous creation and maintenance of automation test suites and provide QA input on all the user stories. The problem is that the ideal world doesn&#8217;t exist (or not yet anyway - I still haven&#8217;t retired as a millionaire :-)).</p>
<p style="text-align: justify;">A way to tackle this problem is to change the priority of tasks that QA people will do. Instead of focusing on the automation tests, use what precious time is available to ensure the other required work with the developers is as thoroughly completed as possible.</p>
<p style="text-align: justify;">This means performing the usual informal chats to learn about the product, provide verbal input on scenarios you&#8217;d like to see unit tested and put into the CI builds, be super-thorough on explicit completion criteria for the User Stories &#8230; basically attempt to influence the mindset of the team to focus even more on QA. Yes, this is already the role of an agile QA person, but spending time frantically writing the correct amount of automation tests (and ultimately failing!) is not what I see as making the best use of the resource.</p>
<p style="text-align: justify;">Depending on the time available after performing the QA tasks, automation of UAT will assist the team greatly. Focusing on the completion criteria or other scenarios stipulated by the product owner, these scripts will ultimately provide the high level regression suite and give the rest of the team confidence and visibility that the product is indeed developing sprint after sprint.</p>
<p style="text-align: justify;">This QA task prioritisation is a good way to ensure the load of work doesn&#8217;t bring the person to breaking point and working nights and weekends - rushing the verification of code and practices always results in poor quality.</p>
<p style="text-align: justify;">So, anyone agree/disagree with this? It is a bit &#8216;controversial&#8217; to not attempt to complete full automisation of testing for each sprint but until such times as testers have 3 pairs of hands or cloning machines, limits to what can be achieved need to be set.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilequalityassurance.com/2009/06/part-time-agile-qa/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Agile - It&#8217;s a Social Thing</title>
		<link>http://www.agilequalityassurance.com/2009/03/agile-its-a-social-thing/</link>
		<comments>http://www.agilequalityassurance.com/2009/03/agile-its-a-social-thing/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 12:14:02 +0000</pubDate>
		<dc:creator>kenny</dc:creator>
		
		<guid isPermaLink="false">http://www.agilequalityassurance.com/2009/03/agile-its-a-social-thing/</guid>
		<description><![CDATA[There is a lot of documentation available on agile methodologies, both on and offline, detailing processes to introduce and how best to organise teams etc. This information is very useful for people/companies wishing to change the way they work, but a key principle needs to be there beforehand - discipline.

Without the discipline of staff receiving [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">There is a lot of documentation available on agile methodologies, both on and offline, detailing processes to introduce and how best to organise teams etc. This information is very useful for people/companies wishing to change the way they work, but a key principle needs to be there beforehand - discipline.</p>
<p style="text-align: justify;"><span id="more-28"></span></p>
<p style="text-align: justify;">Without the discipline of staff receiving new process ideas and actually acting on them, it&#8217;s a lost cause from day 1. Many very intelligent people have voiced some fantastic ways to use agile in certain circumstances, when to perform xyz, how to react to abc and when not do anything, but if the people involved do not &#8217;stick to the programme&#8217;, failure beckons.</p>
<p style="text-align: justify;">With this in mind, how can a team be &#8216;energised&#8217; into willingly accepting change and, probably most importantly, continuing to work with this change as the weeks pass by? From my perspective, it firstly requires people who are open to adopting new practices, who are willing to give something a try and who are enthusiastic enough about their individual tasks and about the team. It&#8217;s a team game after all and if people are only focused on their work and how good it looks to others, they&#8217;re not going to have much time/interest in discussing the latest tweak in the process.</p>
<p style="text-align: justify;">A highly productive agile team requires people who are capable of social interaction and who grasp that the team&#8217;s performance is severely hindered if even one member doesn&#8217;t pull their weight. Everyone needs to be &#8216;up for it&#8217;, asking each other about their tasks, showing interest in what they&#8217;re doing and how they are going about it. And this leads to the QA link.</p>
<p style="text-align: justify;">An agile team which contains a QA person needs to have everyone genuinely interested in what that person is there for. &#8220;Why do we have a QA person when we&#8217;re doing TDD?&#8221;, &#8220;What are they doing to improve the way my code works?&#8221;, &#8220;Why should I listen to their recommendations when I think my unit tests are the bomb?&#8221;. If all team members keep in constant contact with the QA person (and the QA person knows what they&#8217;re doing :-)), the difference in productivity is very noticeable.</p>
<p style="text-align: justify;">This is where the discipline comes in - people need to leave old habits behind. No resistance to reading QA test plans, no resistance to discussing what seem like bizarre use cases and certainly no resistance to actually doing some manual testing if required. And if the QA person can show that the functionality isn&#8217;t as requested, it&#8217;s back to the drawing board.</p>
<p style="text-align: justify;">From these points it shows that a QA person has a lot of responsibility in an agile team, so it takes someone with the technical knowledge, drive and (I&#8217;ll use it again) discipline to bring out the best in an agile QA function.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilequalityassurance.com/2009/03/agile-its-a-social-thing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>What Experiences of QA in an Agile Environment have you had?</title>
		<link>http://www.agilequalityassurance.com/2009/03/what-experiences-of-qa-in-an-agile-environment-have-you-had/</link>
		<comments>http://www.agilequalityassurance.com/2009/03/what-experiences-of-qa-in-an-agile-environment-have-you-had/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 12:42:08 +0000</pubDate>
		<dc:creator>kenny</dc:creator>
		
		<guid isPermaLink="false">http://www.agilequalityassurance.com/2009/03/what-experiences-of-qa-in-an-agile-environment-have-you-had/</guid>
		<description><![CDATA[Through the evolution of the practice of QA in agile teams, a high degree of quality can now be added to product development. Not only can thorough tests be designed, written and executed within a single iteration, the use of post-mortem analysis allows for team reflection and, as a result, process improvements.
So how best to [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Through the evolution of the practice of QA in agile teams, a high degree of quality can now be added to product development. Not only can thorough tests be designed, written and executed within a single iteration, the use of post-mortem analysis allows for team reflection and, as a result, process improvements.</p>
<p style="text-align: justify;">So how best to perform QA in say a two week iteration? One way is as follows :-</p>
<p style="text-align: justify;"><span id="more-23"></span></p>
<p style="text-align: justify;">* The user stories are chosen and the team members select which tasks to perform from this.<br />
* Developers are given the morning to sit and work out which unit tests and low-level functional tests they will write. The QA person then meets and discusses this with the developer, finding out (at the high level) what the expected functionality is.<br />
* The QA person has the opportunity to request that the developer adds more tests to the suite, change existing ones, etc - the idea is that a QA input has been provided before the developer writes a line of code.<br />
* Agreement is made and the developer starts to write the unit tests (with Javadoc/XYZdoc to create documentation) and then the code.<br />
* At the same time the QA person works their way round the rest of the team to a) learn the functionality to be implemented and b) to provide QA input.<br />
* The QA person takes the code from the previous iteration (which is working and usable) and writes high level tests using a QA automation tool. These tests are demonstrated at the end of the present iteration. Their structure is already known as they were performed manually in the previous iteration.<br />
* The QA person performs exploratory testing on the newly developed functionality and compiles a manual test suite to verify this.<br />
* The Developers complete their unit tests, javadoc and code, all is verified to build and the tests pass.<br />
* The QA person&#8217;s scripts from the previous iteration are continually run against the present build throughout the sprint to ensure that no regression issues creep in. This, along with the manual tests passing, ensures a stable build to release to production.
</p>
<p style="text-align: justify;">Co-ordination, communication and co-operation are the keys (as in every project). Without this the rest of the team quickly loses touch on whether the QA people are manually testing the present release, automating the tests from the previous one, finding bugs in either or reviewing the unit tests. The fact that there is an &#8216;overlap&#8217; of activities for the QA person between iterations means that all automated tests must be written, related bugs created and resolved, and all verifications passing for the end of a sprint. If anything drags into the next release, the structure quickly breaks down.</p>
<p style="text-align: justify;">So, that&#8217;s one process that works, does anyone else have one? Differences from the one described?</p>
<p style="text-align: justify;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p style="text-align: justify;">Addendum: 15th August 2009</p>
<p style="text-align: justify;">After reading the above article again recently, a glaring omission came to the fore. In the structure I described, I mentioned that code from the <em>previous</em> iteration would have automation tests written for it. Now this is bad. Well, it could be a lot better at least.</p>
<p style="text-align: justify;">No doubt I wrote this idea from past experiences (as I&#8217;ve never been given &#8216;formal Agile QA training&#8217; - which raises a point, is there such a thing?) and it highlights a big problem in Agile QA. If there&#8217;s compromise to be made in adoption of agile processes, the traditional &#8216;last piece of the puzzle&#8217; usually carries the can. And that means code not being ready for demo or test until the final day of the sprint.</p>
<p style="text-align: justify;">A highly functioning agile team will take the user stories and develop them in such a way that every 2/3 days there is something testable. In the classic case of the login user story, within a couple of days there&#8217;ll be an interface (which will no doubt change during the sprint) with entry fields and some form of simple backend to receive values.  As the sprint progresses the rest of the functionality will be added (e.g. parameter checks, link to a member page, error handling, db structure changes &#8230;).</p>
<p style="text-align: justify;">The key point is that there is something of substance that can be checked through exploratory testing within the first couple of days and there will be more work that can be checked throughout the rest of the sprint. This allows automation scripts to be written within the same sprint such that, when demo time arrives the QA person has their corresponding automation suite ready - <strong>and demos this as well!</strong></p>
<p style="text-align: justify;">Think of it, if a product owner gets to see a working demo of new functionality, <em>and then gets to see all of the testing scenarios checked for it</em>. Their level of confidence in the stability of the product is sure to rise, along with all members of the team.</p>
<p style="text-align: justify;">So, if your agile team can function in such a way that the necessary automation scripts are written and working for the present sprint, you are doing very well. Showing these scripts is firstly a way of advertising what QA is doing for the project and the benefits it provides, and also really helps to build the respectability of the QA effort company-wide.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.agilequalityassurance.com/2009/03/what-experiences-of-qa-in-an-agile-environment-have-you-had/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://stats.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Analytics Code -->

