<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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>Comments on: The IMVU Shuffle</title>
	<atom:link href="http://www.satisfice.com/blog/archives/236/feed" rel="self" type="application/rss+xml" />
	<link>http://www.satisfice.com/blog/archives/236</link>
	<description>The Consulting Software Tester</description>
	<pubDate>Sat, 13 Mar 2010 11:49:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Andy Glover</title>
		<link>http://www.satisfice.com/blog/archives/236/comment-page-1#comment-174004</link>
		<dc:creator>Andy Glover</dc:creator>
		<pubDate>Wed, 11 Mar 2009 08:55:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=236#comment-174004</guid>
		<description>On the flip side, IMVU accidentaly managed to get free testing on their application plus testing advice/consultation. We'll wait and see if they apply any fixes to the bugs you or Michael found!</description>
		<content:encoded><![CDATA[<p>On the flip side, IMVU accidentaly managed to get free testing on their application plus testing advice/consultation. We&#8217;ll wait and see if they apply any fixes to the bugs you or Michael found!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ken Sommerville</title>
		<link>http://www.satisfice.com/blog/archives/236/comment-page-1#comment-173882</link>
		<dc:creator>Ken Sommerville</dc:creator>
		<pubDate>Tue, 10 Mar 2009 15:29:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=236#comment-173882</guid>
		<description>@Joseph - I agree that CI is a useful and productive method for developing software. However, Timothy doesn't refer to CI but to CD (Continuous Deployment). I read that as to mean continuous monitoring of the source repository, and upon change, compiling, building, testing and deploying the code into production. While that may sound cool, I think it's a bit much and doesn't give the testers an opportunity to discover defects before the code is deployed to production.</description>
		<content:encoded><![CDATA[<p>@Joseph - I agree that CI is a useful and productive method for developing software. However, Timothy doesn&#8217;t refer to CI but to CD (Continuous Deployment). I read that as to mean continuous monitoring of the source repository, and upon change, compiling, building, testing and deploying the code into production. While that may sound cool, I think it&#8217;s a bit much and doesn&#8217;t give the testers an opportunity to discover defects before the code is deployed to production.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ken Sommerville</title>
		<link>http://www.satisfice.com/blog/archives/236/comment-page-1#comment-173691</link>
		<dc:creator>Ken Sommerville</dc:creator>
		<pubDate>Mon, 09 Mar 2009 18:37:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=236#comment-173691</guid>
		<description>@Timothy - You say that the quality engineers "smoke test" the product. What does this mean? In my world, the smoke test is one of the first things automated. Why wouldn't you include that in your existing automation?

You also say that the quality engineers "test new server-side features in production". Why wouldn't you test this in a non-production environment? What happens if your engineers find critical stop-ship issues? You've already shipped.

I'm with James, if you have learned about your customer and your product over time, this is great. But as your product gains more features and interacts with new (an unknown) components, interfaces, applications, etc. what are you able to learn after the fact, but before going to production? This is where testers (or quality engineers) bring their game.

@James - this almost feels like the bulk of "uninteresting" tests have been automated and a perfect example of where exploratory testing could find "interesting" issues. But I'm not sure I have a good understanding how the testers fit in. I also feel that this is an example of where testing is getting "pushed" in general. I know at my company, the feeling is automation is the solution to testing. What I'm reading here reinforces that attitude.

Ken</description>
		<content:encoded><![CDATA[<p>@Timothy - You say that the quality engineers &#8220;smoke test&#8221; the product. What does this mean? In my world, the smoke test is one of the first things automated. Why wouldn&#8217;t you include that in your existing automation?</p>
<p>You also say that the quality engineers &#8220;test new server-side features in production&#8221;. Why wouldn&#8217;t you test this in a non-production environment? What happens if your engineers find critical stop-ship issues? You&#8217;ve already shipped.</p>
<p>I&#8217;m with James, if you have learned about your customer and your product over time, this is great. But as your product gains more features and interacts with new (an unknown) components, interfaces, applications, etc. what are you able to learn after the fact, but before going to production? This is where testers (or quality engineers) bring their game.</p>
<p>@James - this almost feels like the bulk of &#8220;uninteresting&#8221; tests have been automated and a perfect example of where exploratory testing could find &#8220;interesting&#8221; issues. But I&#8217;m not sure I have a good understanding how the testers fit in. I also feel that this is an example of where testing is getting &#8220;pushed&#8221; in general. I know at my company, the feeling is automation is the solution to testing. What I&#8217;m reading here reinforces that attitude.</p>
<p>Ken</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johan Hoberg</title>
		<link>http://www.satisfice.com/blog/archives/236/comment-page-1#comment-173664</link>
		<dc:creator>Johan Hoberg</dc:creator>
		<pubDate>Mon, 09 Mar 2009 14:58:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=236#comment-173664</guid>
		<description>Thank you James and Michael for writing your blog posts and thank you Timothy for answering.

Information of this practical nature is very interesting and useful. Continuous integration and automated testing are of course very hot topics which makes it even better.

Best regards!</description>
		<content:encoded><![CDATA[<p>Thank you James and Michael for writing your blog posts and thank you Timothy for answering.</p>
<p>Information of this practical nature is very interesting and useful. Continuous integration and automated testing are of course very hot topics which makes it even better.</p>
<p>Best regards!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joseph Ours</title>
		<link>http://www.satisfice.com/blog/archives/236/comment-page-1#comment-173652</link>
		<dc:creator>Joseph Ours</dc:creator>
		<pubDate>Mon, 09 Mar 2009 13:47:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=236#comment-173652</guid>
		<description>First, I don't normally comment on anyone's grammar, but I find it humorous that in Michael's blog he does refer to you as Jon in one sentence.  The rest of my comments are regarding Timothy's response.
&lt;em&gt;
[James' Reply: He's referring to my brother. I appreciate the apologetic note you wrote when you discovered that, but no worries. I'm proud to be mistaken for my brother, once in a while.]&lt;/em&gt;

I find Timothy's comment "things our users wouldn’t think are bugs, and things that we will fix" insulting to the testing community.  To me, his statement says that bugs fall into two categories.  Things that will be fixed and things that won't be fixed.  Every tester in the world already knows that.  So, yes, every bug you and Michael found fell into things that will be or won't be fixed.

However, I am curious as to how his company determines "value to our customers" especially in light of his statement that his company understands which "things our users wouldn’t think are bugs".  Is it because they are still growing revenue?  Is it based on analysis of technical support requests? User-community beta testing?  Having that level of understanding indicates a level of marketing and business sophistication I do not normally see in the field.  To continue the "Quality is Dead" thread, I could assume that so long as IMVU signs up one new customer they could assume that the bugs in their system aren't of concern to their customers.  Infomercials usually work because of great marketing and salesmanship, not necessarily a quality product.  IMVU seems to making the same case for itself.  I sense a real life portrayal of "Royal Nonesuch".  I wish IMVU well, but I won't be their customer because I find their service a novelty, with novelty quality (usefulness). 

By the way, I am a big fan of continuous integration (CI) development (and applaud IMVU on their level of sophistication with it).  I see CI as allowing a minimum level of quality to be established, via the automated tests, to determine suitability to move a code set forward in the development process.  Any code set can be taken and manually tested by a testing department.  Candidates passing may be candidates for deploying.  To me, CI is akin to automated proof reading, not unlike that in Microsoft Word.  It can be very sophisticated and identify where rules have been broken.  However, it cannot provide a contextual quality assessment on the product being reviewed.  Microsoft Word cannot intelligently determine if what I am writing is of quality or not.   It can only determine if I have followed its rules for grammatical structure (and usually spelling).  What Microsoft Word allows me to do is focus more time on big picture content, flow, and organization.  The same goes for CI, with it, I can focus on bigger picture items.</description>
		<content:encoded><![CDATA[<p>First, I don&#8217;t normally comment on anyone&#8217;s grammar, but I find it humorous that in Michael&#8217;s blog he does refer to you as Jon in one sentence.  The rest of my comments are regarding Timothy&#8217;s response.<br />
<em><br />
[James' Reply: He's referring to my brother. I appreciate the apologetic note you wrote when you discovered that, but no worries. I'm proud to be mistaken for my brother, once in a while.]</em></p>
<p>I find Timothy&#8217;s comment &#8220;things our users wouldn’t think are bugs, and things that we will fix&#8221; insulting to the testing community.  To me, his statement says that bugs fall into two categories.  Things that will be fixed and things that won&#8217;t be fixed.  Every tester in the world already knows that.  So, yes, every bug you and Michael found fell into things that will be or won&#8217;t be fixed.</p>
<p>However, I am curious as to how his company determines &#8220;value to our customers&#8221; especially in light of his statement that his company understands which &#8220;things our users wouldn’t think are bugs&#8221;.  Is it because they are still growing revenue?  Is it based on analysis of technical support requests? User-community beta testing?  Having that level of understanding indicates a level of marketing and business sophistication I do not normally see in the field.  To continue the &#8220;Quality is Dead&#8221; thread, I could assume that so long as IMVU signs up one new customer they could assume that the bugs in their system aren&#8217;t of concern to their customers.  Infomercials usually work because of great marketing and salesmanship, not necessarily a quality product.  IMVU seems to making the same case for itself.  I sense a real life portrayal of &#8220;Royal Nonesuch&#8221;.  I wish IMVU well, but I won&#8217;t be their customer because I find their service a novelty, with novelty quality (usefulness). </p>
<p>By the way, I am a big fan of continuous integration (CI) development (and applaud IMVU on their level of sophistication with it).  I see CI as allowing a minimum level of quality to be established, via the automated tests, to determine suitability to move a code set forward in the development process.  Any code set can be taken and manually tested by a testing department.  Candidates passing may be candidates for deploying.  To me, CI is akin to automated proof reading, not unlike that in Microsoft Word.  It can be very sophisticated and identify where rules have been broken.  However, it cannot provide a contextual quality assessment on the product being reviewed.  Microsoft Word cannot intelligently determine if what I am writing is of quality or not.   It can only determine if I have followed its rules for grammatical structure (and usually spelling).  What Microsoft Word allows me to do is focus more time on big picture content, flow, and organization.  The same goes for CI, with it, I can focus on bigger picture items.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Timothy Fitz</title>
		<link>http://www.satisfice.com/blog/archives/236/comment-page-1#comment-173590</link>
		<dc:creator>Timothy Fitz</dc:creator>
		<pubDate>Mon, 09 Mar 2009 07:23:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=236#comment-173590</guid>
		<description>James,

I very much appreciate the passion evident in your writing, and your addition to the discussion around Continuous Deployment. I completely agree that our product has a very high number of bugs; however, I believe that Continuous Deployment and having a high quality product are actually orthogonal issues. Continuous Deployment can let you develop at a fast pace with minimal regressions, significantly less than having a large team of tests execute regression test cases on each deployment. I'm explicitly not saying that Continuous Deployment gives you high quality features, just that it lets you develop at a rapid pace. 

This post seems to hinge on the assumption that we don't even know that our product is buggy. This is far from the truth. I can't stress this enough, our company is devoted to making the experience better. The bugs that you and and Michael Bolton found fell into strictly two categories: things our users wouldn't think are bugs, and things that we will fix. 

So how did IMVU create a buggy experience in the first place?

Firstly, my Continuous Deployment post detailed the procedures used for deployment to our production website cluster, not for deploying changes to our downloadable windows client software. While we apply the same principles, the deploy process for the client isn't nearly as polishe. Our company spent almost all of 2007 with minimal changes to the client, instead scaling up the back-end and incrementally building out Continuous Deployment practices.

Secondly, as detailed in Eric Reis's talk (http://venturehacks.com/articles/lean-startup), IMVU spent it's formative years focusing it's entire efforts on understanding what our users actually wanted to do with the product. Most of the original client software development was done with little or no test coverage, and no professional quality assurance; the company was minimizing capital burn rate while maximizing it's ability to learn. The company traded off "quality" aka bugs for "quality" aka value to our customers. 

Thirdly, I'd like to point out that almost all of the content you saw and experienced was created by our users, for our users. In almost all cases, we prefer user-expression over a software developers or testers sense of "correctness". We rely on our users and our virtual economy to sort out what works and what doesn't. 

In short, we're building new techniques to continuously evolve a legacy code base while integrating with a unprecedented amount of 3rd party 3d content; the result is nowhere near perfect but we're working on it.

I'd also like to make it clear that we have a small but highly valued staff of Quality Engineers who provide the human touch: exploratory testing, missed user stories, sanity checks and input into the creation of automated tests to name just a few things they do. While they don't stand between our engineers writing code and deploying it, they help smoke test every client release. They also test new server-side features in production prior to users seeing them, since we have a careful roll out system for new feature development that balances manual testing, roll out for load testing purposes and A/B testing.
&lt;em&gt;
[James' Reply: I appreciate your willingness to post your thoughts on this.

I'm happy to hear that you have testers. I'm confused that you would use the phrase "stand in the way." Testers do not stand in anyone's way on any project. Testers do not run projects. Testers provide information. So, what I'm wondering is, when you release a product, what do you know about it? The purpose of testing is to make informed, responsible decisions about products possible. It sounds like you release the product without knowing much about it, other than that it passed some automated tests.

The answer may be that you do know enough about the product, because you accumulate knowledge about it over time, and your change control protocol is very strict so as to minimize the spoilage of that knowledge. Am I right? If so, I can respect that, as long as you are mindful of the risk.

The principle I am trying to protect is that automated tests-- like automated driving software-- does not substitute for a live driver in the driver's seat. In a car, a sleeping driver might not run off the road right away, but in the long run a crash is inevitable. A crash may happen even if the driver is awake and alert, but a driverless vehicle sparks outrage when it crashes, because that doesn't meet a minimum level of responsibility.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>James,</p>
<p>I very much appreciate the passion evident in your writing, and your addition to the discussion around Continuous Deployment. I completely agree that our product has a very high number of bugs; however, I believe that Continuous Deployment and having a high quality product are actually orthogonal issues. Continuous Deployment can let you develop at a fast pace with minimal regressions, significantly less than having a large team of tests execute regression test cases on each deployment. I&#8217;m explicitly not saying that Continuous Deployment gives you high quality features, just that it lets you develop at a rapid pace. </p>
<p>This post seems to hinge on the assumption that we don&#8217;t even know that our product is buggy. This is far from the truth. I can&#8217;t stress this enough, our company is devoted to making the experience better. The bugs that you and and Michael Bolton found fell into strictly two categories: things our users wouldn&#8217;t think are bugs, and things that we will fix. </p>
<p>So how did IMVU create a buggy experience in the first place?</p>
<p>Firstly, my Continuous Deployment post detailed the procedures used for deployment to our production website cluster, not for deploying changes to our downloadable windows client software. While we apply the same principles, the deploy process for the client isn&#8217;t nearly as polishe. Our company spent almost all of 2007 with minimal changes to the client, instead scaling up the back-end and incrementally building out Continuous Deployment practices.</p>
<p>Secondly, as detailed in Eric Reis&#8217;s talk (http://venturehacks.com/articles/lean-startup), IMVU spent it&#8217;s formative years focusing it&#8217;s entire efforts on understanding what our users actually wanted to do with the product. Most of the original client software development was done with little or no test coverage, and no professional quality assurance; the company was minimizing capital burn rate while maximizing it&#8217;s ability to learn. The company traded off &#8220;quality&#8221; aka bugs for &#8220;quality&#8221; aka value to our customers. </p>
<p>Thirdly, I&#8217;d like to point out that almost all of the content you saw and experienced was created by our users, for our users. In almost all cases, we prefer user-expression over a software developers or testers sense of &#8220;correctness&#8221;. We rely on our users and our virtual economy to sort out what works and what doesn&#8217;t. </p>
<p>In short, we&#8217;re building new techniques to continuously evolve a legacy code base while integrating with a unprecedented amount of 3rd party 3d content; the result is nowhere near perfect but we&#8217;re working on it.</p>
<p>I&#8217;d also like to make it clear that we have a small but highly valued staff of Quality Engineers who provide the human touch: exploratory testing, missed user stories, sanity checks and input into the creation of automated tests to name just a few things they do. While they don&#8217;t stand between our engineers writing code and deploying it, they help smoke test every client release. They also test new server-side features in production prior to users seeing them, since we have a careful roll out system for new feature development that balances manual testing, roll out for load testing purposes and A/B testing.<br />
<em><br />
[James' Reply: I appreciate your willingness to post your thoughts on this.</p>
<p>I'm happy to hear that you have testers. I'm confused that you would use the phrase "stand in the way." Testers do not stand in anyone's way on any project. Testers do not run projects. Testers provide information. So, what I'm wondering is, when you release a product, what do you know about it? The purpose of testing is to make informed, responsible decisions about products possible. It sounds like you release the product without knowing much about it, other than that it passed some automated tests.</p>
<p>The answer may be that you do know enough about the product, because you accumulate knowledge about it over time, and your change control protocol is very strict so as to minimize the spoilage of that knowledge. Am I right? If so, I can respect that, as long as you are mindful of the risk.</p>
<p>The principle I am trying to protect is that automated tests-- like automated driving software-- does not substitute for a live driver in the driver's seat. In a car, a sleeping driver might not run off the road right away, but in the long run a crash is inevitable. A crash may happen even if the driver is awake and alert, but a driverless vehicle sparks outrage when it crashes, because that doesn't meet a minimum level of responsibility.]</em></p>
]]></content:encoded>
	</item>
</channel>
</rss>


