<?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: Autumn Of Agile: Iteration -1 Screencast is Available</title>
	<atom:link href="http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/feed/" rel="self" type="application/rss+xml" />
	<link>http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/</link>
	<description>Miscellaneous musings on life, .NET development, and related things that don't really matter</description>
	<pubDate>Thu, 17 May 2012 21:25:52 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Chuck</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/comment-page-1/#comment-10363</link>
		<dc:creator>Chuck</dc:creator>
		<pubDate>Sat, 07 Feb 2009 02:54:49 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/#comment-10363</guid>
		<description>Steve - Thank You! My Favorite Principle has to LSP! It has such an awesome name. I have used the building metaphor for years. I remember once telling someone that you can't add a floor in between floors once the building is built What a schmo!

I am gladly punting the metaphor.

Chuck</description>
		<content:encoded><![CDATA[<p>Steve - Thank You! My Favorite Principle has to LSP! It has such an awesome name. I have used the building metaphor for years. I remember once telling someone that you can&#8217;t add a floor in between floors once the building is built What a schmo!</p>
<p>I am gladly punting the metaphor.</p>
<p>Chuck</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kris</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/comment-page-1/#comment-3578</link>
		<dc:creator>Kris</dc:creator>
		<pubDate>Sun, 26 Oct 2008 12:54:10 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/#comment-3578</guid>
		<description>@Steve

When I "forgot" something an argument, a detail, ... it's easier to read than replay the video and find the right moment.

ppt2007 it's ok for me. I can may be done a "pack" (PPT2007 + PDF)</description>
		<content:encoded><![CDATA[<p>@Steve</p>
<p>When I &#8220;forgot&#8221; something an argument, a detail, &#8230; it&#8217;s easier to read than replay the video and find the right moment.</p>
<p>ppt2007 it&#8217;s ok for me. I can may be done a &#8220;pack&#8221; (PPT2007 + PDF)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sbohlen</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/comment-page-1/#comment-3574</link>
		<dc:creator>sbohlen</dc:creator>
		<pubDate>Sun, 26 Oct 2008 11:05:53 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/#comment-3574</guid>
		<description>@Kris:

Why?  The reason I ask is that they are done in ppt 2007 and many people are still in 2003 or earlier.  Would PDFs suffice...?</description>
		<content:encoded><![CDATA[<p>@Kris:</p>
<p>Why?  The reason I ask is that they are done in ppt 2007 and many people are still in 2003 or earlier.  Would PDFs suffice&#8230;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kris</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/comment-page-1/#comment-3572</link>
		<dc:creator>Kris</dc:creator>
		<pubDate>Sun, 26 Oct 2008 08:49:29 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/#comment-3572</guid>
		<description>@Steve

Is it possible to get your powerpoint files ? (same question for NHibernate)

Thanks,</description>
		<content:encoded><![CDATA[<p>@Steve</p>
<p>Is it possible to get your powerpoint files ? (same question for NHibernate)</p>
<p>Thanks,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Subrata</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/comment-page-1/#comment-3546</link>
		<dc:creator>Subrata</dc:creator>
		<pubDate>Sat, 25 Oct 2008 14:15:04 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/#comment-3546</guid>
		<description>Thanks for this - i also appreciate your great effort in nHibernate series- which really helped me.</description>
		<content:encoded><![CDATA[<p>Thanks for this - i also appreciate your great effort in nHibernate series- which really helped me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Unhandled Exceptions &#187; Blog Archive &#187; A User Contribution Saved My Ugly Site</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/comment-page-1/#comment-3287</link>
		<dc:creator>Unhandled Exceptions &#187; Blog Archive &#187; A User Contribution Saved My Ugly Site</dc:creator>
		<pubDate>Mon, 20 Oct 2008 00:13:20 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/#comment-3287</guid>
		<description>[...] Comments James on Autumn Of Agile: Iteration -1 Screencast is Availablesbohlen on Autumn Of Agile: Iteration -1 Screencast is AvailableJames on Autumn Of Agile: Iteration [...]</description>
		<content:encoded><![CDATA[<p>[...] Comments James on Autumn Of Agile: Iteration -1 Screencast is Availablesbohlen on Autumn Of Agile: Iteration -1 Screencast is AvailableJames on Autumn Of Agile: Iteration [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/comment-page-1/#comment-3281</link>
		<dc:creator>James</dc:creator>
		<pubDate>Sun, 19 Oct 2008 21:20:03 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/#comment-3281</guid>
		<description>@Steve:

Thanks for the quick/well-reasoned reply - I'm glad we agree! :)

I guess the only thing that I'd probably add at this point is that refactoring is definitely your friend, so whilst it is always worth thinking about the flexibilty of your design, it's also worth remembering that you can refactor things later on too, i.e. if (when?) you realise it's no longer appropriate.

Incidentally, slightly more pastel colours might be better! :)</description>
		<content:encoded><![CDATA[<p>@Steve:</p>
<p>Thanks for the quick/well-reasoned reply - I&#8217;m glad we agree! <img src='http://unhandled-exceptions.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I guess the only thing that I&#8217;d probably add at this point is that refactoring is definitely your friend, so whilst it is always worth thinking about the flexibilty of your design, it&#8217;s also worth remembering that you can refactor things later on too, i.e. if (when?) you realise it&#8217;s no longer appropriate.</p>
<p>Incidentally, slightly more pastel colours might be better! <img src='http://unhandled-exceptions.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sbohlen</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/comment-page-1/#comment-3273</link>
		<dc:creator>sbohlen</dc:creator>
		<pubDate>Sun, 19 Oct 2008 19:17:59 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/#comment-3273</guid>
		<description>@James:

This is a good point (the one about the over-architecting of things, not the one about the poor color scheme...well, ok the one about the bad color scheme is actually a good point too :) ).

I think that its entirely possible to go too far with some of the principles of OO design that I like to follow; for me that's why I consider them to be 'principles' rather than 'laws'.  I use them to *guide* my work rather than *define* it.

That said, many if not all of the Agile approaches to software project management are *heavily* dependent on the 'suppleness' of your solution design being able to change locally without affecting your solution globally.  This is, after all, how one can actually get started coding before perfectly knowing every little detail of every little requirement beforehand.

I believe very strongly that when new req'ments surface (or existing ones are futher refined/clarified) in subesquent iterations, its the ability of your existing software to adapt to these in a very flexible manner that really enables the Agile approaches to work in the first place.  Given this, its *generally* better to err on the side of over-flexibility rather than under-flexibility but I think you are 100% correct that this (like nearly all other design choices) is not without its downside if taken too far.

I once had a conversation with another of our developers where we were discussing this very issue (increasing complexity in the codebase to support future predicted changes) and I think that what this comes down to for me is that in any project there are those areas of the req'ments and spec that you feel are pretty solid (lower chance of a need to change) and those areas that you are less certain of (higher chance of a need to change) and that you focus in on 100% (well, as close as you can come to that) uncoupled code in those areas where you are less certain your design is 'right' and have some freedom to get less 'perfect' with your design in areas that you feel more 'certain' about the stability of the req'ments (and thus the 'correctness' of your code).

In times past, developers would tend to solve this "I just don't know yet" problem by developing complex configuration subsystems that would let the code be 'comtrolled' by outside config files, a database, or whatever.  I think to some degree, the intense focus on loosely-coupled systems represents another (and probably better) way to achieve the same kind of flexibility with a bit less effort than some massively-configurable business rules engine for example.

One of the very important Agile principles that supports this whole 'not knowing everything before starting' is the notion of delaying every decision in the system until the 'last-responsible-moment' and a lot of this complexity in the OO design is intended to support just that kind of capability.

In the upcoming series, we will definitely have the opportunity to watch me struggle thru exactly that very kind of challenge as I design and implement the solution, making constant trade-offs about what level of abstraction does or doesn't make sense in different contexts.

I guess the comments I get will tell me if my choices are the same ones others would make :)</description>
		<content:encoded><![CDATA[<p>@James:</p>
<p>This is a good point (the one about the over-architecting of things, not the one about the poor color scheme&#8230;well, ok the one about the bad color scheme is actually a good point too <img src='http://unhandled-exceptions.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).</p>
<p>I think that its entirely possible to go too far with some of the principles of OO design that I like to follow; for me that&#8217;s why I consider them to be &#8216;principles&#8217; rather than &#8216;laws&#8217;.  I use them to *guide* my work rather than *define* it.</p>
<p>That said, many if not all of the Agile approaches to software project management are *heavily* dependent on the &#8217;suppleness&#8217; of your solution design being able to change locally without affecting your solution globally.  This is, after all, how one can actually get started coding before perfectly knowing every little detail of every little requirement beforehand.</p>
<p>I believe very strongly that when new req&#8217;ments surface (or existing ones are futher refined/clarified) in subesquent iterations, its the ability of your existing software to adapt to these in a very flexible manner that really enables the Agile approaches to work in the first place.  Given this, its *generally* better to err on the side of over-flexibility rather than under-flexibility but I think you are 100% correct that this (like nearly all other design choices) is not without its downside if taken too far.</p>
<p>I once had a conversation with another of our developers where we were discussing this very issue (increasing complexity in the codebase to support future predicted changes) and I think that what this comes down to for me is that in any project there are those areas of the req&#8217;ments and spec that you feel are pretty solid (lower chance of a need to change) and those areas that you are less certain of (higher chance of a need to change) and that you focus in on 100% (well, as close as you can come to that) uncoupled code in those areas where you are less certain your design is &#8216;right&#8217; and have some freedom to get less &#8216;perfect&#8217; with your design in areas that you feel more &#8216;certain&#8217; about the stability of the req&#8217;ments (and thus the &#8216;correctness&#8217; of your code).</p>
<p>In times past, developers would tend to solve this &#8220;I just don&#8217;t know yet&#8221; problem by developing complex configuration subsystems that would let the code be &#8216;comtrolled&#8217; by outside config files, a database, or whatever.  I think to some degree, the intense focus on loosely-coupled systems represents another (and probably better) way to achieve the same kind of flexibility with a bit less effort than some massively-configurable business rules engine for example.</p>
<p>One of the very important Agile principles that supports this whole &#8216;not knowing everything before starting&#8217; is the notion of delaying every decision in the system until the &#8216;last-responsible-moment&#8217; and a lot of this complexity in the OO design is intended to support just that kind of capability.</p>
<p>In the upcoming series, we will definitely have the opportunity to watch me struggle thru exactly that very kind of challenge as I design and implement the solution, making constant trade-offs about what level of abstraction does or doesn&#8217;t make sense in different contexts.</p>
<p>I guess the comments I get will tell me if my choices are the same ones others would make <img src='http://unhandled-exceptions.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/comment-page-1/#comment-3270</link>
		<dc:creator>James</dc:creator>
		<pubDate>Sun, 19 Oct 2008 18:52:41 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/#comment-3270</guid>
		<description>So, I'm not the only one pleasantly surprised to see Autumn of Agile follow so soon after the end of Summer of NHibernate!

Just curious, but based on the discussion of the class design stuff at the end of the screencast, where do you tend to draw the line when it comes to SRP, IoC, LSP etc?  In other words, do you think there's such a thing as too much, as lots of interfaces and dependency injection results in too much complexity, which results in a different maintenance issue?

Oh, you're right... The colour scheme on the new website is pretty scary! (still better than most stuff on myspace tho)</description>
		<content:encoded><![CDATA[<p>So, I&#8217;m not the only one pleasantly surprised to see Autumn of Agile follow so soon after the end of Summer of NHibernate!</p>
<p>Just curious, but based on the discussion of the class design stuff at the end of the screencast, where do you tend to draw the line when it comes to SRP, IoC, LSP etc?  In other words, do you think there&#8217;s such a thing as too much, as lots of interfaces and dependency injection results in too much complexity, which results in a different maintenance issue?</p>
<p>Oh, you&#8217;re right&#8230; The colour scheme on the new website is pretty scary! (still better than most stuff on myspace tho)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lookman</title>
		<link>http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/comment-page-1/#comment-3266</link>
		<dc:creator>Lookman</dc:creator>
		<pubDate>Sun, 19 Oct 2008 14:37:57 +0000</pubDate>
		<guid isPermaLink="false">http://unhandled-exceptions.com/blog/index.php/2008/10/18/autumn-of-agile-iteration-1-screencast-is-available/#comment-3266</guid>
		<description>Agile is Cool.. 
the traditional approach you explained is horrible because i was a victim of a project after spending weeks developing we are told to stop that the project financial has organise a presentation on the project and we have nothing to show. Since then i googled the net to find some other to develop, then i read about Extreme programming and Agile development.
but never had the chance to play around with  it. but now you are just in time.</description>
		<content:encoded><![CDATA[<p>Agile is Cool..<br />
the traditional approach you explained is horrible because i was a victim of a project after spending weeks developing we are told to stop that the project financial has organise a presentation on the project and we have nothing to show. Since then i googled the net to find some other to develop, then i read about Extreme programming and Agile development.<br />
but never had the chance to play around with  it. but now you are just in time.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

