<?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"
	>
<channel>
	<title>Comments on: User Stories are Just Schedulable Change</title>
	<atom:link href="http://fragmental.tw/2008/10/01/user-stories-are-just-schedulable-change/feed/" rel="self" type="application/rss+xml" />
	<link>http://fragmental.tw/2008/10/01/user-stories-are-just-schedulable-change/</link>
	<description>Repeat after me: Data is code, code is data.</description>
	<pubDate>Fri, 10 Sep 2010 19:08:43 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Camilo Almendra</title>
		<link>http://fragmental.tw/2008/10/01/user-stories-are-just-schedulable-change/#comment-1930</link>
		<dc:creator>Camilo Almendra</dc:creator>
		<pubDate>Fri, 09 Oct 2009 00:46:34 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=112#comment-1930</guid>
		<description>Hi Philip,

great thread this one. I'm just curious about QA's role in this scenario you depicted.

User stories changes the system, automated acceptance tests are written so that sprint progress could be monitored (cards move if acc tests go green, cards move back if acc tests go red). I suppose underlying code is crafted by TDD, so there is a suite of unit tests.

And then "(..) QA people accept a story to be tested they take ownership of the acceptance tests and merge them into their system tests."

So, QA team is working along side with dev team, producing automated system tests? Or this system tests are manual (even if partially)?

Let's suppose you are in 4th iteration. What's run on build machine? Unit testing of entire code, acc tests written for this 4th iteration and *all system test ever written* (kind of a regression)?

Regards,

Camilo.</description>
		<content:encoded><![CDATA[<p>Hi Philip,</p>
<p>great thread this one. I&#8217;m just curious about QA&#8217;s role in this scenario you depicted.</p>
<p>User stories changes the system, automated acceptance tests are written so that sprint progress could be monitored (cards move if acc tests go green, cards move back if acc tests go red). I suppose underlying code is crafted by TDD, so there is a suite of unit tests.</p>
<p>And then &#8220;(..) QA people accept a story to be tested they take ownership of the acceptance tests and merge them into their system tests.&#8221;</p>
<p>So, QA team is working along side with dev team, producing automated system tests? Or this system tests are manual (even if partially)?</p>
<p>Let&#8217;s suppose you are in 4th iteration. What&#8217;s run on build machine? Unit testing of entire code, acc tests written for this 4th iteration and *all system test ever written* (kind of a regression)?</p>
<p>Regards,</p>
<p>Camilo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: What Should Techies Care About? at Fragmental.tw</title>
		<link>http://fragmental.tw/2008/10/01/user-stories-are-just-schedulable-change/#comment-1869</link>
		<dc:creator>What Should Techies Care About? at Fragmental.tw</dc:creator>
		<pubDate>Mon, 17 Aug 2009 08:48:07 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=112#comment-1869</guid>
		<description>[...] second card shouldn’t take that long. User stories represent small chunks of change and the second one is often just an addition to the first (e.g. First is &#8220;User should search [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] second card shouldn’t take that long. User stories represent small chunks of change and the second one is often just an addition to the first (e.g. First is &#8220;User should search [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fabrício Lemos</title>
		<link>http://fragmental.tw/2008/10/01/user-stories-are-just-schedulable-change/#comment-1637</link>
		<dc:creator>Fabrício Lemos</dc:creator>
		<pubDate>Fri, 27 Feb 2009 14:49:26 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=112#comment-1637</guid>
		<description>Phillip,

In his new blog post[1], Fowler exposes a scenario with this "new" approach to acceptance tests:

"Each time they play a new story, they decide how to update this suite to reflect the new behavior. This breaks the simple story-to-test relationship, but results in a much simpler and coherent suite of tests."

The project he describes has a not so common set of characteristics, but maybe it is a nice approach for a broader range of project.

[1] http://martinfowler.com/bliki/NashvilleProject.html</description>
		<content:encoded><![CDATA[<p>Phillip,</p>
<p>In his new blog post[1], Fowler exposes a scenario with this &#8220;new&#8221; approach to acceptance tests:</p>
<p>&#8220;Each time they play a new story, they decide how to update this suite to reflect the new behavior. This breaks the simple story-to-test relationship, but results in a much simpler and coherent suite of tests.&#8221;</p>
<p>The project he describes has a not so common set of characteristics, but maybe it is a nice approach for a broader range of project.</p>
<p>[1] <a href="http://martinfowler.com/bliki/NashvilleProject.html" rel="nofollow">http://martinfowler.com/bliki/NashvilleProject.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Phillip Calçado "Shoes"</title>
		<link>http://fragmental.tw/2008/10/01/user-stories-are-just-schedulable-change/#comment-1330</link>
		<dc:creator>Phillip Calçado "Shoes"</dc:creator>
		<pubDate>Sat, 11 Oct 2008 15:05:13 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=112#comment-1330</guid>
		<description>Carlos,

By that I pretty much mean "what a system do". As the text states that user stories are change on a system, I guess it is quite clear that they are *related* to what a system does but they do not *define* those by themselves. As the text says that's one difference between use cases and stories -use cases define what a system does, user stories define a piece of change. I think that Dan's comparison with code changes in the first comment make make my point clearer.

I couldn't really understand the context of your second comment. Issue trackers are great tools but I don't understand how they'd fit in this text.</description>
		<content:encoded><![CDATA[<p>Carlos,</p>
<p>By that I pretty much mean &#8220;what a system do&#8221;. As the text states that user stories are change on a system, I guess it is quite clear that they are *related* to what a system does but they do not *define* those by themselves. As the text says that&#8217;s one difference between use cases and stories -use cases define what a system does, user stories define a piece of change. I think that Dan&#8217;s comparison with code changes in the first comment make make my point clearer.</p>
<p>I couldn&#8217;t really understand the context of your second comment. Issue trackers are great tools but I don&#8217;t understand how they&#8217;d fit in this text.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carlos Alexandre Moscoso</title>
		<link>http://fragmental.tw/2008/10/01/user-stories-are-just-schedulable-change/#comment-1329</link>
		<dc:creator>Carlos Alexandre Moscoso</dc:creator>
		<pubDate>Sat, 11 Oct 2008 13:32:00 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=112#comment-1329</guid>
		<description>If by "characteristics of a system" you mean statements 
about a problem that the system is intended to solve, yes, user stories are something about characteristics of a system.

But problems are different and has different priorities too, the login example was perfect to show how bug tracking systems can also be useful tools.</description>
		<content:encoded><![CDATA[<p>If by &#8220;characteristics of a system&#8221; you mean statements<br />
about a problem that the system is intended to solve, yes, user stories are something about characteristics of a system.</p>
<p>But problems are different and has different priorities too, the login example was perfect to show how bug tracking systems can also be useful tools.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Phillip Calçado "Shoes"</title>
		<link>http://fragmental.tw/2008/10/01/user-stories-are-just-schedulable-change/#comment-1325</link>
		<dc:creator>Phillip Calçado "Shoes"</dc:creator>
		<pubDate>Tue, 07 Oct 2008 22:26:25 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=112#comment-1325</guid>
		<description>Rodrigo,

I like the idea of Use Cases DSL, shouldn't be hard to implement but I don't work with use cases for a long time now.

About the other suggestions, I still find use cases too technical and complex to be efficient. If experienced software developers after years studying the field can't understand those properly let alone the poor business person.

Also, I'm not sure what you mean by "Forget about Acc. Test based on Stories". If you have stories but don't test them I can't see how you would accept their implementation. I guess what you are describing is pretty much what Fabricio said some comments ago and I'd point out the same arguments against it as before.

cheers</description>
		<content:encoded><![CDATA[<p>Rodrigo,</p>
<p>I like the idea of Use Cases DSL, shouldn&#8217;t be hard to implement but I don&#8217;t work with use cases for a long time now.</p>
<p>About the other suggestions, I still find use cases too technical and complex to be efficient. If experienced software developers after years studying the field can&#8217;t understand those properly let alone the poor business person.</p>
<p>Also, I&#8217;m not sure what you mean by &#8220;Forget about Acc. Test based on Stories&#8221;. If you have stories but don&#8217;t test them I can&#8217;t see how you would accept their implementation. I guess what you are describing is pretty much what Fabricio said some comments ago and I&#8217;d point out the same arguments against it as before.</p>
<p>cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rodrigo Yoshima</title>
		<link>http://fragmental.tw/2008/10/01/user-stories-are-just-schedulable-change/#comment-1323</link>
		<dc:creator>Rodrigo Yoshima</dc:creator>
		<pubDate>Tue, 07 Oct 2008 21:20:51 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=112#comment-1323</guid>
		<description>Interesting stuff!! I'm writing 'bout Stories (MundoJava, will be published on November: "stories are arrows thrown by the user that change the system"). I agree that Stories have short life cycle and acceptance tests have longer life cycle (but if they are based on stories they break and repeat a lot). 

Maybe we need a Use Case BDD runner based on scenarios. I guess that we still need to automate acceptance tests but stories aren't whe best choice because stories are too small (BDD on stories, story runner). Just something for us to think about:

1. A DSL for Use Cases (pre-post conditions, valid scenarios, etc...)
2. A DSL for Data/Object representation
3. Merge (1) and (2) to turn (1) executable (scenario runner?)
4. Forget about Acc. Test based on Stories (stories are just change requests to executable Use Cases)
5. Use Case training for every "agilists" we know... :P

Too complex?

Cheeeers!</description>
		<content:encoded><![CDATA[<p>Interesting stuff!! I&#8217;m writing &#8217;bout Stories (MundoJava, will be published on November: &#8220;stories are arrows thrown by the user that change the system&#8221;). I agree that Stories have short life cycle and acceptance tests have longer life cycle (but if they are based on stories they break and repeat a lot). </p>
<p>Maybe we need a Use Case BDD runner based on scenarios. I guess that we still need to automate acceptance tests but stories aren&#8217;t whe best choice because stories are too small (BDD on stories, story runner). Just something for us to think about:</p>
<p>1. A DSL for Use Cases (pre-post conditions, valid scenarios, etc&#8230;)<br />
2. A DSL for Data/Object representation<br />
3. Merge (1) and (2) to turn (1) executable (scenario runner?)<br />
4. Forget about Acc. Test based on Stories (stories are just change requests to executable Use Cases)<br />
5. Use Case training for every &#8220;agilists&#8221; we know&#8230; <img src='http://fragmental.tw/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Too complex?</p>
<p>Cheeeers!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fabricio Lemos</title>
		<link>http://fragmental.tw/2008/10/01/user-stories-are-just-schedulable-change/#comment-1320</link>
		<dc:creator>Fabricio Lemos</dc:creator>
		<pubDate>Mon, 06 Oct 2008 11:20:33 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=112#comment-1320</guid>
		<description>I think the main difference is that in my case story-based acceptance tests are not written. The isolated tests for bugs are not bound to any story, even though sometimes a story is written to correct the bug. But I agree it's not a big difference: we both end up with a great coverage at a system level.</description>
		<content:encoded><![CDATA[<p>I think the main difference is that in my case story-based acceptance tests are not written. The isolated tests for bugs are not bound to any story, even though sometimes a story is written to correct the bug. But I agree it&#8217;s not a big difference: we both end up with a great coverage at a system level.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Phillip Calçado "Shoes"</title>
		<link>http://fragmental.tw/2008/10/01/user-stories-are-just-schedulable-change/#comment-1319</link>
		<dc:creator>Phillip Calçado "Shoes"</dc:creator>
		<pubDate>Mon, 06 Oct 2008 07:19:38 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=112#comment-1319</guid>
		<description>I may be missing something here but I can't really any difference between what you just described (merging bug verification tests to systest) and what I described in both posts, except that looks like you do this only for bugs.</description>
		<content:encoded><![CDATA[<p>I may be missing something here but I can&#8217;t really any difference between what you just described (merging bug verification tests to systest) and what I described in both posts, except that looks like you do this only for bugs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fabricio Lemos</title>
		<link>http://fragmental.tw/2008/10/01/user-stories-are-just-schedulable-change/#comment-1313</link>
		<dc:creator>Fabricio Lemos</dc:creator>
		<pubDate>Mon, 06 Oct 2008 03:17:12 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=112#comment-1313</guid>
		<description>I agree that manual testing are very inefficient. I only mentioned it in case where automated tests can't guarantee regression. And if I understood right, in your project the regression tests are guaranteed by the system tests, not by acceptance tests. But, if the system tests are made by merged acceptance tests and you have regression, I think it is a valid scenario.

In my project when a bug is found by a test, we try to isolate that test so it does not compromise the whole functionality being tested. After the bug is corrected, the test is merged. It's not the best scenario, I know, but I think that it is best then writing acceptance test in isolation and then merging them is system tests. In any case, we have only 6 developers on the project. If we had 20, maybe this strategy would not be valid.</description>
		<content:encoded><![CDATA[<p>I agree that manual testing are very inefficient. I only mentioned it in case where automated tests can&#8217;t guarantee regression. And if I understood right, in your project the regression tests are guaranteed by the system tests, not by acceptance tests. But, if the system tests are made by merged acceptance tests and you have regression, I think it is a valid scenario.</p>
<p>In my project when a bug is found by a test, we try to isolate that test so it does not compromise the whole functionality being tested. After the bug is corrected, the test is merged. It&#8217;s not the best scenario, I know, but I think that it is best then writing acceptance test in isolation and then merging them is system tests. In any case, we have only 6 developers on the project. If we had 20, maybe this strategy would not be valid.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
