<?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: Concerns about NBehave</title>
	<atom:link href="http://lostechies.com/joeocampo/2007/09/05/concerns-about-nbehave/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/joeocampo/2007/09/05/concerns-about-nbehave/</link>
	<description>Tales from the field...</description>
	<lastBuildDate>Sat, 11 Feb 2012 08:43:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: Colin Jack</title>
		<link>http://lostechies.com/joeocampo/2007/09/05/concerns-about-nbehave/#comment-159</link>
		<dc:creator>Colin Jack</dc:creator>
		<pubDate>Fri, 28 Sep 2007 11:23:14 +0000</pubDate>
		<guid isPermaLink="false">/blogs/joe_ocampo/archive/2007/09/05/concerns-about-nbehave.aspx#comment-159</guid>
		<description>I personally think being able to see why the domain models behavior is the way it is could be very useful, even if it isn&#039;t I think the NBehave style of testing is a good way of helping you focus some of your testing effort on the externally visible behavior of the domain.</description>
		<content:encoded><![CDATA[<p>I personally think being able to see why the domain models behavior is the way it is could be very useful, even if it isn&#8217;t I think the NBehave style of testing is a good way of helping you focus some of your testing effort on the externally visible behavior of the domain.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Ocampo</title>
		<link>http://lostechies.com/joeocampo/2007/09/05/concerns-about-nbehave/#comment-158</link>
		<dc:creator>Joe Ocampo</dc:creator>
		<pubDate>Fri, 07 Sep 2007 20:23:36 +0000</pubDate>
		<guid isPermaLink="false">/blogs/joe_ocampo/archive/2007/09/05/concerns-about-nbehave.aspx#comment-158</guid>
		<description>@Geovanny
Thanks for the comment.  Just like children growing up is hard to do.  

Contestation is a great when it comes to Agile because it causes us to think and make certain what we are doing is sound and valuable. I understand Scott’s concern having been on the evangelistic band wagon for a while it is harder to undo misunderstood concepts than it is to bring forth new ones.  TDD has served the Agile community for quiet sometime and has proven to be an invaluable practice.  We as a community have to be very cautious that the values of Red, Green, Refactor that lead to a supple design, persist in any new Agile endeavor. 

Courage is one of values of eXtreme Programming  and is often executed in a number of ways.  But even beyond XP, courage I believe is founding principle of Agile as any practioner can attest too.  Stretching the boundaries of software engineering requires great courage but an equaling harmonizing principle is Humility which I value much higher than courage.  Learning to balance both is an art form in and of its self.
</description>
		<content:encoded><![CDATA[<p>@Geovanny<br />
Thanks for the comment.  Just like children growing up is hard to do.  </p>
<p>Contestation is a great when it comes to Agile because it causes us to think and make certain what we are doing is sound and valuable. I understand Scott’s concern having been on the evangelistic band wagon for a while it is harder to undo misunderstood concepts than it is to bring forth new ones.  TDD has served the Agile community for quiet sometime and has proven to be an invaluable practice.  We as a community have to be very cautious that the values of Red, Green, Refactor that lead to a supple design, persist in any new Agile endeavor. </p>
<p>Courage is one of values of eXtreme Programming  and is often executed in a number of ways.  But even beyond XP, courage I believe is founding principle of Agile as any practioner can attest too.  Stretching the boundaries of software engineering requires great courage but an equaling harmonizing principle is Humility which I value much higher than courage.  Learning to balance both is an art form in and of its self.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Ocampo</title>
		<link>http://lostechies.com/joeocampo/2007/09/05/concerns-about-nbehave/#comment-157</link>
		<dc:creator>Joe Ocampo</dc:creator>
		<pubDate>Fri, 07 Sep 2007 19:46:13 +0000</pubDate>
		<guid isPermaLink="false">/blogs/joe_ocampo/archive/2007/09/05/concerns-about-nbehave.aspx#comment-157</guid>
		<description>@Scott

I am curious on how the traceability mechanisms can be damaging to BDD?

I don’t know if I captured this in the post but what I am trying to do is capture the contextual inception of the behavior.  To me BDD is nothing more than TDD with a contextual nature.  Sure the TDD covers the functionality and design but are the behavioral aspects of the domain applicable within the contextual nature of what it was intended to solve?  

Given {some context} this object {should behave} {this way}

But what gave “this object” that {context} and this is where I feel one of NBehave’s greatest strengths lie.  It allows any team member to query the code to determine where the context originated from.  There have been plenty of times during the maintenance phase of a project that we enhance a service or entity and can’t remember why it behaves a certain way and should it?  We ask the business and they can’t even remember why?  Don’t get me wrong the site functions as expected but when you have a solution with over 40 projects and over 6000 unit tests, management of the test takes on a whole new dimension.

One would argue, does it matter that you can’t remember since your code works and the acceptance test pass?  Simply create a new story that changes the behavior and work through the behavioral aspects of the new story.  To that statement I would answer, it depends. ;-)  To save time in a modeling session we revisit older models to understand the changes to new enhancements.  Some features are so huge that they were comprised of 30 stories or more to complete.  At times we had to figure out why certain functionality was behaving a certain way and looked to the old story cards to provide us detail on the value aspects of the feature.  How often did we do this…maybe once an iteration.  Was the return on looking up the old stories that high? Sometimes.  Did it help? Yes!  

The side effect to this is that it generates traceability for me!  Yes selfish me!! LOL and your right Scott no one specifically told me that I have to map the stories in the source code to do this.  For me it just makes sense.  The ability to capture the inception of the behavioral context of the domain is huge.  So your hat is safe. 

Having said that, you could just as easily wrap the constructs of the story narratives and behavior within a standard Unit test as most BDD practitioners are doing today.
</description>
		<content:encoded><![CDATA[<p>@Scott</p>
<p>I am curious on how the traceability mechanisms can be damaging to BDD?</p>
<p>I don’t know if I captured this in the post but what I am trying to do is capture the contextual inception of the behavior.  To me BDD is nothing more than TDD with a contextual nature.  Sure the TDD covers the functionality and design but are the behavioral aspects of the domain applicable within the contextual nature of what it was intended to solve?  </p>
<p>Given {some context} this object {should behave} {this way}</p>
<p>But what gave “this object” that {context} and this is where I feel one of NBehave’s greatest strengths lie.  It allows any team member to query the code to determine where the context originated from.  There have been plenty of times during the maintenance phase of a project that we enhance a service or entity and can’t remember why it behaves a certain way and should it?  We ask the business and they can’t even remember why?  Don’t get me wrong the site functions as expected but when you have a solution with over 40 projects and over 6000 unit tests, management of the test takes on a whole new dimension.</p>
<p>One would argue, does it matter that you can’t remember since your code works and the acceptance test pass?  Simply create a new story that changes the behavior and work through the behavioral aspects of the new story.  To that statement I would answer, it depends. <img src='http://lostechies.com/joeocampo/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />   To save time in a modeling session we revisit older models to understand the changes to new enhancements.  Some features are so huge that they were comprised of 30 stories or more to complete.  At times we had to figure out why certain functionality was behaving a certain way and looked to the old story cards to provide us detail on the value aspects of the feature.  How often did we do this…maybe once an iteration.  Was the return on looking up the old stories that high? Sometimes.  Did it help? Yes!  </p>
<p>The side effect to this is that it generates traceability for me!  Yes selfish me!! LOL and your right Scott no one specifically told me that I have to map the stories in the source code to do this.  For me it just makes sense.  The ability to capture the inception of the behavioral context of the domain is huge.  So your hat is safe. </p>
<p>Having said that, you could just as easily wrap the constructs of the story narratives and behavior within a standard Unit test as most BDD practitioners are doing today.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Geovanny Tejeda</title>
		<link>http://lostechies.com/joeocampo/2007/09/05/concerns-about-nbehave/#comment-156</link>
		<dc:creator>Geovanny Tejeda</dc:creator>
		<pubDate>Fri, 07 Sep 2007 06:04:41 +0000</pubDate>
		<guid isPermaLink="false">/blogs/joe_ocampo/archive/2007/09/05/concerns-about-nbehave.aspx#comment-156</guid>
		<description>Damn, pretty weird that there&#039;s only one comment in this thread...

I have to say that i felt in love with the concept (BDD), it is true that it has not reached its potential, but i applaud the fact that practices and experiments like these are carried out; how else would you be certain you&#039;re doing the best you can do to the best of your knowledge if these concepts are not constantly contested? and although i understand where Scott is going (and i personally don&#039;t entirely disagree), we (at least i) have to keep trying to find alternatives that at least &quot;make sense&quot; in software development.

My first personal weeks learning and experimenting with both camps have been intellectually fantastic, there&#039;s a lot of debate and concepts on the table and there&#039;s more to read, but hey, it was not until i tried BDD on a project that i personally realized of TDD&#039;s value for me and my team.

Thanks to both of you who definitely help the software community by bringing these open discussions to the table.

I personally hope the BDD initiative is continued and matures... if fibonacci was right, the next iteration should be exponentially better ;)</description>
		<content:encoded><![CDATA[<p>Damn, pretty weird that there&#8217;s only one comment in this thread&#8230;</p>
<p>I have to say that i felt in love with the concept (BDD), it is true that it has not reached its potential, but i applaud the fact that practices and experiments like these are carried out; how else would you be certain you&#8217;re doing the best you can do to the best of your knowledge if these concepts are not constantly contested? and although i understand where Scott is going (and i personally don&#8217;t entirely disagree), we (at least i) have to keep trying to find alternatives that at least &#8220;make sense&#8221; in software development.</p>
<p>My first personal weeks learning and experimenting with both camps have been intellectually fantastic, there&#8217;s a lot of debate and concepts on the table and there&#8217;s more to read, but hey, it was not until i tried BDD on a project that i personally realized of TDD&#8217;s value for me and my team.</p>
<p>Thanks to both of you who definitely help the software community by bringing these open discussions to the table.</p>
<p>I personally hope the BDD initiative is continued and matures&#8230; if fibonacci was right, the next iteration should be exponentially better <img src='http://lostechies.com/joeocampo/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Bellware</title>
		<link>http://lostechies.com/joeocampo/2007/09/05/concerns-about-nbehave/#comment-155</link>
		<dc:creator>Scott Bellware</dc:creator>
		<pubDate>Fri, 07 Sep 2007 03:40:18 +0000</pubDate>
		<guid isPermaLink="false">/blogs/joe_ocampo/archive/2007/09/05/concerns-about-nbehave.aspx#comment-155</guid>
		<description>Dude, we&#039;ll have to talk about this more in-person when you come up to Austin next.

You&#039;re trying to force traceability onto processes and artifacts that aren&#039;t intended as traceability mechanisms and possibly damaging them in ways that might remain inaccessible while doing so.

I&#039;ll eat my hat if there&#039;s someone in your compliance and auditing organization who has specifically told you that you need traceability from user stories to code in the form of the NBehave API and a specific abstraction that represents a User Story.

I appreciate the research and development aspect of what you&#039;re trying to pull off, but you&#039;re performing surgical experiments on parts of the agile practices organism that should be kept healthy at all costs while you&#039;re depending upon them for the life and health of your project and your team.

You can find a good place in your architecture (not necessarily the software architecture) to introduce an anti-corruption layer that supports compliance but insulates your programmers from the incursion of its insidious tendrils into code artifacts.</description>
		<content:encoded><![CDATA[<p>Dude, we&#8217;ll have to talk about this more in-person when you come up to Austin next.</p>
<p>You&#8217;re trying to force traceability onto processes and artifacts that aren&#8217;t intended as traceability mechanisms and possibly damaging them in ways that might remain inaccessible while doing so.</p>
<p>I&#8217;ll eat my hat if there&#8217;s someone in your compliance and auditing organization who has specifically told you that you need traceability from user stories to code in the form of the NBehave API and a specific abstraction that represents a User Story.</p>
<p>I appreciate the research and development aspect of what you&#8217;re trying to pull off, but you&#8217;re performing surgical experiments on parts of the agile practices organism that should be kept healthy at all costs while you&#8217;re depending upon them for the life and health of your project and your team.</p>
<p>You can find a good place in your architecture (not necessarily the software architecture) to introduce an anti-corruption layer that supports compliance but insulates your programmers from the incursion of its insidious tendrils into code artifacts.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
