<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Adam Goucher</title>
	
	<link>http://adam.goucher.ca</link>
	<description>Quality through Innovation</description>
	<lastBuildDate>Mon, 13 Jul 2009 13:26:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/AdamGoucher" type="application/rss+xml" /><item>
		<title>Killing the Buddha</title>
		<link>http://feedproxy.google.com/~r/AdamGoucher/~3/2bxifUL1Q2M/</link>
		<comments>http://adam.goucher.ca/?p=1064#comments</comments>
		<pubDate>Mon, 13 Jul 2009 13:26:18 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adam.goucher.ca/?p=1064</guid>
		<description><![CDATA[As much as I would love to be able to spit out random tidbits of Buddhist wisdom on command, I can&#8217;t. But when I was reading Chris&#8217; Kanban Kerfuffle, this one bubbled to the surface.

If you meet the Buddha on the road, kill him!

As usual, there are many, many explanations of what it means, but [...]]]></description>
			<content:encoded><![CDATA[<p>As much as I would love to be able to spit out random tidbits of Buddhist wisdom on command, I can&#8217;t. But when I was reading Chris&#8217; <a href="http://chrismcmahonsblog.blogspot.com/2009/07/against-kanban.html">Kanban Kerfuffle</a>, this one bubbled to the surface.<br />
<br />
<i>If you meet the Buddha on the road, kill him!</i><br />
<br />
As usual, there are many, many explanations of what it means, but the one that I like best is from the <a href="http://www.dailybuddhism.com/archives/670">Daily Buddha</a>.<br />
<br />
<i>Whatever your conception is of the Buddha, it’s WRONG! Now kill that image and keep practicing.</i> and <i>I don’t think it means you cannot achieve Enlightenment, but it does mean that you really cannot conceive what it is until you get there.</i> stand out in the discussion.<br />
<br />
Now swap our &#8216;Process&#8217; or &#8216;Best Practice&#8217; for Buddha.<br />
<br />
The software world is afflicted with the Shiny Object Syndrome. RUP, CMMi, Agile, XP, Scrum, Lean, Kanban, etc., etc., etc.. And it seems like the half-life of each object is decreasing.<br />
<br />
Am I an Agilista? I don&#8217;t think so, though I do advocate agility. Which is partly why I get a kick out of the &#8216;we must do this <i>process</i>&#8216; zealotry. What is the Best Practice or Process for your organization? No one knows except you. And it likely isn&#8217;t going to look like someone else&#8217;s. Instead, companies should pick and choose from all the processes available and come up with something that works for them, their people and their products.<br />
<br />
Have I done Kanban before? No. Do I like the idea of non-defined iterations resulting in a constant stream of value being released? Absolutely. But I think I like it even better using TDD / pairing (XP) and daily stand-ups (Scrum).<br />
<br />
I think too that part of the value and experienced QA person brings is to know as many of these processes as possible and when (and which parts) to kill, and which to embrace.</p>
<img src="http://feeds.feedburner.com/~r/AdamGoucher/~4/2bxifUL1Q2M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.goucher.ca/?feed=rss2&amp;p=1064</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://adam.goucher.ca/?p=1064</feedburner:origLink></item>
		<item>
		<title>Lessons from the bullpen</title>
		<link>http://feedproxy.google.com/~r/AdamGoucher/~3/_Ju4eSfGAYc/</link>
		<comments>http://adam.goucher.ca/?p=1063#comments</comments>
		<pubDate>Fri, 10 Jul 2009 02:09:22 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adam.goucher.ca/?p=1063</guid>
		<description><![CDATA[The Blue Jays released (fired) one of their pitchers yesterday. While discussing it on the radio yesterday, Jeff Blair said the following.

In baseball the bullpen is their own little island. They&#8217;re removed from the team while the game goes on. There are a lot of personalities and issues that can go on. Everyone has roles [...]]]></description>
			<content:encoded><![CDATA[<p>The Blue Jays released (fired) one of their pitchers yesterday. While discussing it on the radio yesterday, Jeff Blair said the following.<br />
<br />
<i>In baseball the bullpen is their own little island. They&#8217;re removed from the team while the game goes on. There are a lot of personalities and issues that can go on. Everyone has roles and responsibilities and every successful bullpen needs what amounts to a sheriff or a marshall. To kinda keep track of guys; to tap them on the shoulder and say &#8216;you better start to loosen up&#8217; based on how the game was going.</i><br />
<br />
That&#8217;s an interesting dynamic that I hadn&#8217;t thought about before. I suspect the same also applies to product development.<br />
<br />
A major league baseball team typically has two major components; baseball operations and everything else. In software, we have the development team (which I include coders, testers and even support in that mix) and everything else (marketing, hr, sales, etc.). Let&#8217;s look a little smaller. Your product / feature / release team (self-organized or otherwise) is your own version of a bullpen. You sit together (physically or virtually), you all have roles and responsibilities and you likely have someone who is the &#8216;lead&#8217;.<br />
<br />
I put that in quotes because it could have many meanings. It could be be that they have been officially designated as the lead. But it could also that they have assumed the mantle just by their actions.<br />
<br />
The &#8216;tapping of shoulders&#8217; I think is a big part of being in a lead role. Part of what is expected of people in lead roles is to bring their experiences into the mix. &#8220;We should do X, because I have seen Y and Z before.&#8221;<br />
<br />
I&#8217;m not sure I like the usage of &#8217;sheriff&#8217; or &#8216;marshall&#8217; in this context, but I don&#8217;t really like the term &#8217;scrum master&#8217; either.</p>
<img src="http://feeds.feedburner.com/~r/AdamGoucher/~4/_Ju4eSfGAYc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.goucher.ca/?feed=rss2&amp;p=1063</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.goucher.ca/?p=1063</feedburner:origLink></item>
		<item>
		<title>Culture change catalyst</title>
		<link>http://feedproxy.google.com/~r/AdamGoucher/~3/5uEnb9mDe-8/</link>
		<comments>http://adam.goucher.ca/?p=1062#comments</comments>
		<pubDate>Fri, 10 Jul 2009 02:08:36 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adam.goucher.ca/?p=1062</guid>
		<description><![CDATA[I seem to recall a definition of Culture from an Organizational Behaviour course as being the reflection of a group&#8217;s values and beliefs. I could be slightly off on the verbiage, but that feels right (and serves my purposes now). So what is a company&#8217;s culture? It is a reflection of the company&#8217;s values and [...]]]></description>
			<content:encoded><![CDATA[<p>I seem to recall a definition of Culture from an Organizational Behaviour course as being <i>the reflection of a group&#8217;s values and beliefs</i>. I could be slightly off on the verbiage, but that feels right (and serves my purposes now). So what is a company&#8217;s culture? It is a reflection of the company&#8217;s values and beliefs. Not of the individuals that comprise the company, but the organization as a whole. Yes, the individuals have an effect on it, but that effect is heavily skewed towards upper management or other people of influence.<br />
<br />
A change in culture is the result of some sort of catalyst. It could be that the CTO was replaces with someone all gung-ho to SOA. Suddenly it is all-services all the times.! More services than you can share a stick at in fact.<br />
<br />
The catalyst can be more subtle than that too though. If one developer becomes test-infected than maybe they both create better code and they tell two people, and they tell two people. Its the network effect at its more utilized.<br />
<br />
Since it is July it is time for the Tour de France. And with it comes the perennial articles on doping. <a href="http://ap.stripes.com/dynamic/stories/C/CYC_JOHN_LEICESTER_080709?SITE=DCSAS&#038;SECTION=HOME&#038;TEMPLATE=DEFAULT&#038;CTIME=2009-07-08-18-00-18">Cycling peddles a cleaner image</a> showed up in today&#8217;s paper. While discussions of the cat-and-mouse games that go on are fascinating, these two paragraphs really stood out.<br />
<br />
<i>On of the most encouraging signs is that some riders are starting to volunteer tops to drug testers about rivals they suspect are still cheating, breaking the code of silence that long prevailed in cycling, says an official directly involved with testing at this year&#8217;s Tour, which will roll into Paris on July 26.<br />
<br />
Because of the necessary secrecy around drug testing, the official spoke on condition of anonymity. He believes the lesser-paid riders can no longer afford doping programs that are sophisticated enough to evade the password regime and so are spilling the beans on those they suspect still can.</i><br />
<br />
Something changed, and so the culture changed as a result. What part(s) of your culture could use a bit of gentle nudging to change for the better? And are you able to do it or is something else still necessary?</p>
<img src="http://feeds.feedburner.com/~r/AdamGoucher/~4/5uEnb9mDe-8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.goucher.ca/?feed=rss2&amp;p=1062</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.goucher.ca/?p=1062</feedburner:origLink></item>
		<item>
		<title>Your team is about to shrink</title>
		<link>http://feedproxy.google.com/~r/AdamGoucher/~3/gJABAVowJt8/</link>
		<comments>http://adam.goucher.ca/?p=1061#comments</comments>
		<pubDate>Thu, 09 Jul 2009 12:52:58 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adam.goucher.ca/?p=1061</guid>
		<description><![CDATA[In case you haven&#8217;t noticed yet, the economy sucks right now. And with economic suckage comes layoffs. Of course, in this industry layoffs can, and do, come at all points of the economic cycle. If you have been doing this awhile, you start to develop a sixth sense about when things might be coming.

This is [...]]]></description>
			<content:encoded><![CDATA[<p>In case you haven&#8217;t noticed yet, the economy sucks right now. And with economic suckage comes layoffs. Of course, in this industry layoffs can, and do, come at all points of the economic cycle. If you have been doing this awhile, you start to develop a sixth sense about when things might be coming.<br />
<br />
This is even more important as a team lead as it is your responsibility to make sure there there are not (big) knowledge gaps on your team. Things like how the build is tooled, or to how to configure the automated tests and technical details of a feature can absolutely kill a test team&#8217;s velocity.<br />
<br />
According to <a href="http://money.cnn.com/2009/07/08/news/economy/unhappy_at_work/index.htm?postversion=2009070806">this article</a> there is a much larger problem looming ahead. And that is that the job market recovers.<br />
<br />
Huh? How is that a problems? Well, here are some choice quotes:</p>
<ul>
<li>Fifty-four percent of employed Americans plan to look for a new job once the economy rebounds</li>
<li>Of those ages 18-29, 71% say they are likely to look for new jobs once the economy turns around</li>
<li>&#8220;I can&#8217;t wait for the job market to improve,&#8221;</li>
</ul>
<p>
Take a look at your team. How many people are there because they really want to be there, or are they there because the market conditions prevent them from leaving?</p>
<img src="http://feeds.feedburner.com/~r/AdamGoucher/~4/gJABAVowJt8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.goucher.ca/?feed=rss2&amp;p=1061</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://adam.goucher.ca/?p=1061</feedburner:origLink></item>
		<item>
		<title>Walking the walk</title>
		<link>http://feedproxy.google.com/~r/AdamGoucher/~3/lcZvx013tV0/</link>
		<comments>http://adam.goucher.ca/?p=1060#comments</comments>
		<pubDate>Thu, 09 Jul 2009 02:20:57 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adam.goucher.ca/?p=1060</guid>
		<description><![CDATA[Having a &#8216;bug free&#8217; product is not enough to guarantee success. In very few markets is there truly only one product which could be used. More often there are a number of smaller options even if the market is dominated by a few players. In this situation, the event that happens before someone downloads, installs [...]]]></description>
			<content:encoded><![CDATA[<p>Having a &#8216;bug free&#8217; product is not enough to guarantee success. In very few markets is there truly only one product which could be used. More often there are a number of smaller options even if the market is dominated by a few players. In this situation, the event that happens before someone downloads, installs and more importantly pays for your software is a convincing that this is the right product for them.<br />
<br />
Being &#8216;bug free&#8217; is certainly part of that convincing process, but there are factors external it as well. Your reputation in the marketplace, your reputation to them, cost, comparability to your competition and support policies all quickly pop into mind.<br />
<br />
But there is even another layer deeper than that, and it deals with the optics of <i>how</i> you conduct yourself and your business. Here is a list I&#8217;ve been mulling for awhile.</p>
<ul>
<li>Selling a [security] product but being one of your competitions larger installations</li>
<li>Talk a lot about making buildings more energy efficient and choose an office with ancient, single-pane windows</li>
<li>Don&#8217;t eat meat because it is &#8216;cruel&#8217; but wear leather shoes / belt</li>
<li>Providing organic fruit flown in fresh from around the world during sales meeting for a carbon reduction application</li>
<li>Not dogfooding your application (whenever possible)</li>
</ul>
<p>
I think the connecting thing through all these is that &#8216;walk the walk&#8217;. If I was in a position to sign a contract for a product or service, I would be looking at these things as part of the decision process.<br />
<br />
Think about how you, or your company, fares this sort of scrutiny. Then log bugs against where it falls short.</p>
<img src="http://feeds.feedburner.com/~r/AdamGoucher/~4/lcZvx013tV0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.goucher.ca/?feed=rss2&amp;p=1060</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.goucher.ca/?p=1060</feedburner:origLink></item>
		<item>
		<title>Pitchers and Roughnecks</title>
		<link>http://feedproxy.google.com/~r/AdamGoucher/~3/GUlcssqE_v4/</link>
		<comments>http://adam.goucher.ca/?p=1059#comments</comments>
		<pubDate>Wed, 08 Jul 2009 12:54:27 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adam.goucher.ca/?p=1059</guid>
		<description><![CDATA[Pretty much every person in North America knows who a pitcher is, but much fewer know what a roughneck is. A roughneck, at least in oil terms is someone who works on the drill rig floor doing the hardest and dirtiest work. So what do these two very opposite job types have in common and [...]]]></description>
			<content:encoded><![CDATA[<p>Pretty much every person in North America knows who a pitcher is, but much fewer know what a roughneck is. A roughneck, at least in oil terms is someone who works on the drill rig floor doing the hardest and dirtiest work. So what do these two very opposite job types have in common and how do they relate to testing? Well, nothing really other than I have a quote about both.<br />
<br />
<i>Here is where he becomes a pitcher rather than just a thrower</i><br />
<br />
I heard this one last week late in a game where I think the game was tied and the pitcher had managed to load the bases. For a pitcher, this is just about the most stressful situation they can get themselves into. Especially when you factor in no outs.<br />
<br />
In testing we have all sorts of stressful situations, but as your career progresses, the number of them where you have to be a tester rather than just someone who bangs on the keyboard. The question is, are you ready?<br />
<br />
<i>The problem is that we are seeing more city kids and less farmboys</i><br />
<br />
I was watching <a href="http://www.oln.ca/details.php?id=79">The Rig</a> on the weekend and in this particular episode the crew was staying in town and one of them got too drunk to go into work the next day. In reaction to his firing, one of the more senior members of the crew pointed out that with the oil boom they are seeing more people who grew up in the city and not from a farming community. They implication being that people who grew up on a farm understand hard work and have a better work ethic in general.<br />
<br />
Testing is (usually) not a physically grueling job. It can be very mentally tough though. Could your approach and attitude towards testing more that of the kid who got up at dawn to throw hay for hours or that of someone who grew up coddled in a suburban enclave and drove to the corner store.</p>
<img src="http://feeds.feedburner.com/~r/AdamGoucher/~4/GUlcssqE_v4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.goucher.ca/?feed=rss2&amp;p=1059</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://adam.goucher.ca/?p=1059</feedburner:origLink></item>
		<item>
		<title>How to be a Community Superhero</title>
		<link>http://feedproxy.google.com/~r/AdamGoucher/~3/SqOS2F5oJ1c/</link>
		<comments>http://adam.goucher.ca/?p=1057#comments</comments>
		<pubDate>Mon, 06 Jul 2009 22:21:18 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adam.goucher.ca/?p=1057</guid>
		<description><![CDATA[Sheeri Cabral did a talk at a recent MySQL Conf called How to be a MySQL Community Superhero. While the context certainly was in terms of MySQL, what she has to say applies to any community.


Need to be more Batman than Superman
Write

blogs
articles
howtos
tutorials


Teach whatever you know how to do
Start / organize a user group
Offer to record [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sheeri.com">Sheeri Cabral</a> did a talk at a recent MySQL Conf called <a href="http://www.mysqlconf.com/mysql2009/public/schedule/detail/9098">How to be a MySQL Community Superhero</a>. While the context certainly was in terms of MySQL, what she has to say applies to <i>any</i> community.<br />
</p>
<ul>
<li>Need to be more Batman than Superman</li>
<li>Write
<ul>
<li>blogs</li>
<li>articles</li>
<li>howtos</li>
<li>tutorials</li>
</ul>
</li>
<li>Teach whatever you know how to do</li>
<li>Start / organize a user group</li>
<li>Offer to record other people&#8217;s presentations to help spread knowledge</li>
<li>Most importantly, listen to what community members are <i>doing</i> and what they <i>need</i>. Help foster connections between the two groups.</li>
<li>Even if your solution wasn&#8217;t the best, if it was good for you, it is likely good enough for someone else too. Spread it.</li>
<li>Don&#8217;t be afraid to make mistakes</li>
<li>Don&#8217;t do it for the fame and glory. Do it because you want to.</li>
<li>It takes time and effort</li>
</ul>
<img src="http://feeds.feedburner.com/~r/AdamGoucher/~4/SqOS2F5oJ1c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.goucher.ca/?feed=rss2&amp;p=1057</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.goucher.ca/?p=1057</feedburner:origLink></item>
		<item>
		<title>A Conversation with Stuart Halloway</title>
		<link>http://feedproxy.google.com/~r/AdamGoucher/~3/0G3Eb4W45Bw/</link>
		<comments>http://adam.goucher.ca/?p=1056#comments</comments>
		<pubDate>Mon, 06 Jul 2009 22:18:41 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adam.goucher.ca/?p=1056</guid>
		<description><![CDATA[I spent a bit of time yesterday afternoon out on the deck watching Corey Haines&#8217; interview with Stuart Halloway. Well, in between telling the puppy to stay out of the garden, that Remy&#8217;s toys were not his, etc., etc.. Halfway through part one I realized I should be taking notes and so restarted. And here [...]]]></description>
			<content:encoded><![CDATA[<p>I spent a bit of time yesterday afternoon out on the deck watching <a href="http://programmingtour.blogspot.com/2009/07/conversation-with-stuart-halloway.html">Corey Haines&#8217; interview with Stuart Halloway</a>. Well, in between telling the puppy to stay out of the garden, that Remy&#8217;s toys were not his, etc., etc.. Halfway through part one I realized I should be taking notes and so restarted. And here they are.</p>
<ul>
<li>Agile&#8217;s first principle is getting the right people together and getting out of their way</li>
<li>Interview process &#8211; rotate through team doing pair programming with each for a day</li>
<li>To professionalize as an industry, practitioners need to know what they know and know what they don&#8217;t know. And not sell stuff in the latter category.</li>
<li>Is what you are doing &#8216;hygiene&#8217; or &#8216;triage&#8217;? Triage is pick a couple goals and ignore the rest. Hygiene is the bare minimum acceptable standards. Without hygiene, the patient gets sick and dies. (Re automated tests and code bases)</li>
<li><i>Caring about what you do and how you do is part of being professional.</i></li>
<li>Avoid islands of self-delusion</li>
<li>Code is the instantiation of some part of a business process</li>
<li>Code is never done. Its organic</li>
<li>Enable success rather than prevent failure</li>
<li>Remember, you are the expert. There is a difference between getting advice on how to fly the spaceship and giving over the controls.</li>
<li>More than half of the cost of software projects is discovery</li>
<li>When velocity changes, it is usually an indication that something &#8216;new&#8217; has happened or something is not captured in the process</li>
<li>The point of velocity is predicability</li>
<li>Anything we do, we do because we did something stupid and it hurt</li>
<li>The whole industry needs to be going to functional programming.</li>
<li>The best idioms are not yet known. There is still a lot to be discovered.</li>
<li><a href="http://www.bcorporation.net/">B corporations</a></li>
<li>A benefit of pairing: everyone on the team knows the strengths and weaknesses of everyone else on the team</li>
<li>&#8216;Hacker in Residence&#8217; &#8211; 6 week-ish visitor to team to inject freshness and new perspectives</li>
<li>Small Agile companies should form networks of similarly companies with same philosophies</li>
</ul>
<img src="http://feeds.feedburner.com/~r/AdamGoucher/~4/0G3Eb4W45Bw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.goucher.ca/?feed=rss2&amp;p=1056</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.goucher.ca/?p=1056</feedburner:origLink></item>
		<item>
		<title>Selenium and Canvas</title>
		<link>http://feedproxy.google.com/~r/AdamGoucher/~3/5ZvwXXUSTvE/</link>
		<comments>http://adam.goucher.ca/?p=1049#comments</comments>
		<pubDate>Sun, 05 Jul 2009 17:42:01 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adam.goucher.ca/?p=1049</guid>
		<description><![CDATA[I don&#8217;t need this yet, but will eventually so here are three different blips of information I&#8217;ve collected over the last month about using Selenium with the next generation of web applications. Or at least ones that use the Canvas tag. Crazy enough, they each involve Jason Huggins (who wrote Selenium originally); its like an [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t need this <i>yet</i>, but will eventually so here are three different blips of information I&#8217;ve collected over the last month about using Selenium with the next generation of web applications. Or at least ones that use the Canvas tag. Crazy enough, they each involve Jason Huggins (who wrote Selenium originally); its like an interview, minus the whole interview part.<br />
<br />
The first is a talk by  at the May meeting of JS.Chi called <i>The Future of Web App Testing and How to Stop It</i><br />
<br />
<embed src="http://blip.tv/play/AYGFqXOTsCI" type="application/x-shockwave-flash" width="320" height="270" allowscriptaccess="always" allowfullscreen="true"></embed><br />
</p>
<ul>
<li>As yourself <i>how would blind users use your application?</i> If you have made your application accessible, it has been made testable.</li>
<li>Canvas solutions will look amazingly like <a href="http://code.google.com/p/flash-selenium">flash ones</a></li>
<li>Everything thing that someone can do to your canvas tag, expose it as a method in js</li>
<li>This generation of tool do typing and clicking. Next generation ones will have to do actions the way the application does</li>
</ul>
<p>
Up next is a log from irc (#selenium on the freenet) involving Jason and myself.<br />
<br />
[2:58pm] &lt;adamgoucher&gt; hugs: did i see you say a couple weeks ago that you were trying to get selenium working with html5 canvas? did you ever solve it?<br />
[2:59pm] &lt;hugs&gt; hi, adamgoucher&#8230; the moral of my story is that canvas-based apps are untestable by default&#8230; unless devs put in work to make them testable<br />
[3:00pm] &lt;adamgoucher&gt; have any ideas on how to make them testable? am potentially going down the canvas route on something<br />
[3:01pm] &lt;hugs&gt; so it was mostly a soapbox rant/speech to JS devs saying &#8220;think about testing!&#8221;&#8230; Because the DOM is no longer available (for free) inside the canvas tag, apps that live 100% inside the canvas tag will no longer be &#8220;accidentally&#8221; testable/recordable by tools like Selenium IDE<br />
[3:01pm] &lt;adamgoucher&gt; ah. I (generally) don&#8217;t care about IDE <img src='http://adam.goucher.ca/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
[3:02pm] &lt;hugs&gt; it&#8217;s not IDE per se&#8230; it&#8217;s the lack of the DOM inside of the canvas tag&#8230; that makes it an opaque black box<br />
[3:03pm] &lt;hugs&gt; kinda like Flash, Silverlight, or Java applets&#8230;. from the point of view of a DOM-based testing approach that Selenium relies on<br />
[3:03pm] &lt;adamgoucher&gt; ah. care about that aspect<br />
[3:04pm] &lt;hugs&gt; the *solution* to testing a canvas-based app, which is very, very similar to how to test a Flash or Java Applet from Selenium&#8230; is to write and expose a JavaScript API to manipulate anything/everything of interest that is working/living inside that canvas tag<br />
[3:04pm] &lt;hugs&gt; Selenium can then call methods on that API&#8230; and world order is thus restored<br />
<br />
And lastly is another irc log with Jason about using flash and selenium together, but equally applies to html5.<br />
<br />
[11:16am] &lt;hugs&gt; flash, java applets, silverlight, and all browser plugins (quicktime, etc)&#8230; are opaque black boxes to Selenium IDE&#8230;. because Selenium is implemented in JavaScript&#8230;<br />
[11:18am] &lt;hugs&gt; the author of your specific flash application would need to code an actionscript<->javascript bridge to expose internal methods to javascript in the browser&#8230; *then* selenium could do things to the flash object&#8230; but *recording* those actions would still take more work<br />
[11:19am] &lt;hugs&gt; other &#8216;competitors&#8217; to Selenium IDE (like iMacros or Chickenfoot)&#8230; &#8220;cheat&#8221; by using native system libraries to click inside flash objects&#8230;. but because the opacity of those flash widgets, they&#8217;re still flying blind and can only really send clicks to absolute screen x,y coordinates and *hope* that they landed on the right button<br />
[11:20am] &lt;hugs&gt; but, hey, at least that&#8217;s better what IDE can do! (So we hope to steal that feature someday!)<br />
<br />
The moral of all these? If your developers are going to be using html and specifically the canvas tag, it is imperative that you work with them to get the testing hooks you need. And the earlier in the process the better.</p>
<img src="http://feeds.feedburner.com/~r/AdamGoucher/~4/5ZvwXXUSTvE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.goucher.ca/?feed=rss2&amp;p=1049</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://adam.goucher.ca/?p=1049</feedburner:origLink></item>
		<item>
		<title>Agents of Change / When you’ve lost the room</title>
		<link>http://feedproxy.google.com/~r/AdamGoucher/~3/7Y6QzBxZBpU/</link>
		<comments>http://adam.goucher.ca/?p=1047#comments</comments>
		<pubDate>Fri, 03 Jul 2009 00:40:03 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://adam.goucher.ca/?p=1047</guid>
		<description><![CDATA[Two ideas smooshed into one in this post.

The first is the kinda myth that Testers (QA folk) are Agents of Change within an organization. We have the power to mould the product or service into our belief structure. And this is true some of the time, and sometimes very untrue. And this isn&#8217;t necessarily bad.

The [...]]]></description>
			<content:encoded><![CDATA[<p>Two ideas smooshed into one in this post.<br />
<br />
The first is the kinda myth that Testers (QA folk) are Agents of Change within an organization. <i>We</i> have the power to mould the product or service into our belief structure. And this is true some of the time, and sometimes very untrue. And this isn&#8217;t necessarily bad.<br />
<br />
The true phase begins immediately after after joining a group. You are the outsider. Once you are an insider, people have bias and opinions about you which colour their opinions of your ideas. This cross-reference is deadly to your change agency roll. How much success have you had leading a change in a different direction on a team where you are established? (And do not have organizational clout to lead the charge as Testers rarely have it.)<br />
<br />
I remember hearing a podcast from <a href="http://www.bluemountainlabs.com">David Linthicum</a> where he mentioned a survey or something which showed most successful SOA projects where proceeded by a change in the CTO/CIO. The implication was that the previous holder of the title had lost the audience&#8217;s attention. No doubt they will be replaced by the next great architectural wave.<br />
<br />
How long this period lasts is a bit of a mystery. (Gee, thanks Adam.) Sometimes it ends with an obvious bang, but other times it is subtle. If you miss the change, then you might succeed in change, but it likely will be through happenstance rather your actions. So what are some signs? Here are some that I have witnessed recently (and not necessarily directly about me)</p>
<ul>
<li>Sighs during meetings when you start to speak</li>
<li>Your follies are discussed on length</li>
<li>Emails get routed to the blackhole (faster)</li>
</ul>
<p>
Can you get back your Agent of Change title once it has fizzled? I suspect so, but I suspect it might need to come with organizational clout. And once you have that clout you need to work twice as hard to maintain it as your agency half-life has decreased significantly.<br />
<br />
One final thing.<br />
<br />
Being an Agent of Change is fun and certainly rewarding as there is often a bug finding multiplier for fixing a busted process. But providing quality-related information to stakeholders can also be fun and rewarding too. The trick is for you, and your management, to understand which role you are supposed to be playing, which you are playing and if there is a divergence of the two.</p>
<img src="http://feeds.feedburner.com/~r/AdamGoucher/~4/7Y6QzBxZBpU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.goucher.ca/?feed=rss2&amp;p=1047</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.goucher.ca/?p=1047</feedburner:origLink></item>
	</channel>
</rss>
