<?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 for The Responsible Designer</title>
	<atom:link href="http://wirfs-brock.com/blog/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://wirfs-brock.com/blog</link>
	<description>Don&#039;t you want to take responsibility for your designs?</description>
	<lastBuildDate>Tue, 27 Sep 2011 18:39:59 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>Comment on Little things add up by Who is Rebecca Wirfs-brock &#124; Yves Hanoulle</title>
		<link>http://wirfs-brock.com/blog/2005/09/05/little-things-add-up/comment-page-1/#comment-2624</link>
		<dc:creator>Who is Rebecca Wirfs-brock &#124; Yves Hanoulle</dc:creator>
		<pubDate>Tue, 27 Sep 2011 18:39:59 +0000</pubDate>
		<guid isPermaLink="false">http://wirfs-brock.com/blog/2005/09/05/little-things-add-up/#comment-2624</guid>
		<description>[...] I know it was when I was learning OO. When I was doing  more and more agile stuff, I noticed that she now wrote articles about TDD. Today in the agile community we have a lot of  people who don&#8217;t have a technical [...]</description>
		<content:encoded><![CDATA[<p>[...] I know it was when I was learning OO. When I was doing  more and more agile stuff, I noticed that she now wrote articles about TDD. Today in the agile community we have a lot of  people who don&#8217;t have a technical [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on An Architect’s Dilemna: Should I Rework or Exploit Legacy Architecture? by Rebecca</title>
		<link>http://wirfs-brock.com/blog/2011/08/30/an-architect%e2%80%99s-dilemna-rework-or-exploit-a-legacy-architecture/comment-page-1/#comment-2496</link>
		<dc:creator>Rebecca</dc:creator>
		<pubDate>Wed, 31 Aug 2011 16:19:51 +0000</pubDate>
		<guid isPermaLink="false">http://wirfs-brock.com/blog/?p=302#comment-2496</guid>
		<description>Simon- I agree with your sentiments: an important (but often unstated) job of an architect should be to sustain the ability of the software system to adapt and grow.

The architect whose story I was recounting was not making a duct tape solution in my opinion. Instead he made minimal changes to improve the system and left the inconsistent existing logging code intact. Not ideal, but not harmful, either. He didn&#039;t increase the entropy of the system by his &quot;fix&quot;. When you can fix a problem this way, you are lucky. As a matter of principle,  if you can shore up your architecture, make changes and enhancements, while continuing to encapsulate the poorly designed parts,  you are doing OK.

Too often, however, duct tape solutions are applied deep in the bowels of systems. As a consequence, code and data become even more tangled and incomprehensible. And it becomes increasingly difficult to make repairs or enhancements.</description>
		<content:encoded><![CDATA[<p>Simon- I agree with your sentiments: an important (but often unstated) job of an architect should be to sustain the ability of the software system to adapt and grow.</p>
<p>The architect whose story I was recounting was not making a duct tape solution in my opinion. Instead he made minimal changes to improve the system and left the inconsistent existing logging code intact. Not ideal, but not harmful, either. He didn&#8217;t increase the entropy of the system by his &#8220;fix&#8221;. When you can fix a problem this way, you are lucky. As a matter of principle,  if you can shore up your architecture, make changes and enhancements, while continuing to encapsulate the poorly designed parts,  you are doing OK.</p>
<p>Too often, however, duct tape solutions are applied deep in the bowels of systems. As a consequence, code and data become even more tangled and incomprehensible. And it becomes increasingly difficult to make repairs or enhancements.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on An Architect’s Dilemna: Should I Rework or Exploit Legacy Architecture? by Simon</title>
		<link>http://wirfs-brock.com/blog/2011/08/30/an-architect%e2%80%99s-dilemna-rework-or-exploit-a-legacy-architecture/comment-page-1/#comment-2495</link>
		<dc:creator>Simon</dc:creator>
		<pubDate>Wed, 31 Aug 2011 15:04:03 +0000</pubDate>
		<guid isPermaLink="false">http://wirfs-brock.com/blog/?p=302#comment-2495</guid>
		<description>I see this very often in the wild. While as a software engineer I pride myself on architecturally inspired designs and implementations, when you&#039;re not the only chef in the kitchen it is impractical to expect there to exist a single vision for how things are to be done. It&#039;s hard enough keeping your own designs and implementations consistent over time, let alone expecting a distributed team do so also. So cruft is plentiful.

One of the biggest challenges I see is that corporations care about little more than shipping code. While I agree that shipping code is job #1, there are many other important jobs (let&#039;s call them job #2, #3 and #4) that, while important, are more often than not, neglected. Sadly, focusing solely on job #1 results in much accumulated technical debt which, over time, burdens the system and can ultimately prevent job #1 from being completed.  So what to do? Well, you can achieve almost anything if you use enough duct tape! But that does not tickle the right part of my brain!

So I know how it feels to want to land the plane, take it apart, and rebuild it piece by piece. But sadly that is never practical despite the obvious benefits. So we&#039;re left with architecturally ugly solutions that are applied to keep the plane flying, regardless of the technical debt it might incur.</description>
		<content:encoded><![CDATA[<p>I see this very often in the wild. While as a software engineer I pride myself on architecturally inspired designs and implementations, when you&#8217;re not the only chef in the kitchen it is impractical to expect there to exist a single vision for how things are to be done. It&#8217;s hard enough keeping your own designs and implementations consistent over time, let alone expecting a distributed team do so also. So cruft is plentiful.</p>
<p>One of the biggest challenges I see is that corporations care about little more than shipping code. While I agree that shipping code is job #1, there are many other important jobs (let&#8217;s call them job #2, #3 and #4) that, while important, are more often than not, neglected. Sadly, focusing solely on job #1 results in much accumulated technical debt which, over time, burdens the system and can ultimately prevent job #1 from being completed.  So what to do? Well, you can achieve almost anything if you use enough duct tape! But that does not tickle the right part of my brain!</p>
<p>So I know how it feels to want to land the plane, take it apart, and rebuild it piece by piece. But sadly that is never practical despite the obvious benefits. So we&#8217;re left with architecturally ugly solutions that are applied to keep the plane flying, regardless of the technical debt it might incur.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Can you really estimate complexity with use cases? by J A Schwartz</title>
		<link>http://wirfs-brock.com/blog/2006/04/18/can-you-really-estimate-complexity-with-use-cases/comment-page-1/#comment-1927</link>
		<dc:creator>J A Schwartz</dc:creator>
		<pubDate>Fri, 08 Jul 2011 17:35:19 +0000</pubDate>
		<guid isPermaLink="false">http://wirfs-brock.com/blog/2006/04/18/can-you-really-estimate-complexity-with-use-cases/#comment-1927</guid>
		<description>Even in a Use Case course or an Object Design course, why not put a Conceptual model in the hub. Usage, states, UI, object collaboration, data descriptions, etc. are all grounded by concepts and their relationships.</description>
		<content:encoded><![CDATA[<p>Even in a Use Case course or an Object Design course, why not put a Conceptual model in the hub. Usage, states, UI, object collaboration, data descriptions, etc. are all grounded by concepts and their relationships.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Agile Architecture Myths #1 Simple Design is Always Better by J A Schwartz</title>
		<link>http://wirfs-brock.com/blog/2010/12/29/agile-architecture-myths-1-simple-design-is-always-better/comment-page-1/#comment-1921</link>
		<dc:creator>J A Schwartz</dc:creator>
		<pubDate>Thu, 07 Jul 2011 17:14:06 +0000</pubDate>
		<guid isPermaLink="false">http://wirfs-brock.com/blog/?p=203#comment-1921</guid>
		<description>I agree with Daniel. Many places I&#039;ve worked or consulted at, the norm is &quot;Ready, Shoot, Aim.&quot; Even when projects are billed as a total make-over, they often don&#039;t touch the more complex appearing aspects of the old system - usually the persistent and/ or domain layers. Instead the presentation layer is just reworked - lipstick on a ...

I have, however, been associated with shops where OOAD is a valued activity. I remember a comment that a friend once told me, &quot;Once you work for an organization with a mature OOAD methodology, you&#039;re never willing to go back to the OK Corrall style of software development.</description>
		<content:encoded><![CDATA[<p>I agree with Daniel. Many places I&#8217;ve worked or consulted at, the norm is &#8220;Ready, Shoot, Aim.&#8221; Even when projects are billed as a total make-over, they often don&#8217;t touch the more complex appearing aspects of the old system &#8211; usually the persistent and/ or domain layers. Instead the presentation layer is just reworked &#8211; lipstick on a &#8230;</p>
<p>I have, however, been associated with shops where OOAD is a valued activity. I remember a comment that a friend once told me, &#8220;Once you work for an organization with a mature OOAD methodology, you&#8217;re never willing to go back to the OK Corrall style of software development.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Agile Architecture Myths #3 Good Architecture Emerges by J A Schwartz</title>
		<link>http://wirfs-brock.com/blog/2011/05/12/agile-architecture-myths-3-good-architecture-emerges/comment-page-1/#comment-1920</link>
		<dc:creator>J A Schwartz</dc:creator>
		<pubDate>Thu, 07 Jul 2011 16:50:42 +0000</pubDate>
		<guid isPermaLink="false">http://wirfs-brock.com/blog/?p=224#comment-1920</guid>
		<description>Many aspects or artifacts of the software development process are only attended to if they are valued by the organization. So while individuals may have the skills, chops and know-how to initially address or readdress architectural issues; if the only valued outcome of a software development effort is working code, architectural issues may be ignored.

An interesting exercise is to conduct a &#039;Value Model.&#039;</description>
		<content:encoded><![CDATA[<p>Many aspects or artifacts of the software development process are only attended to if they are valued by the organization. So while individuals may have the skills, chops and know-how to initially address or readdress architectural issues; if the only valued outcome of a software development effort is working code, architectural issues may be ignored.</p>
<p>An interesting exercise is to conduct a &#8216;Value Model.&#8217;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Draw a Tree by Crazyzoar</title>
		<link>http://wirfs-brock.com/blog/2009/10/26/draw-a-tree/comment-page-1/#comment-1773</link>
		<dc:creator>Crazyzoar</dc:creator>
		<pubDate>Tue, 07 Jun 2011 11:54:25 +0000</pubDate>
		<guid isPermaLink="false">http://wirfs-brock.com/blog/2009/10/26/draw-a-tree/#comment-1773</guid>
		<description>Drawing is a form of visual expression and is one of the major forms within the visual arts. There are a number of subcategories of drawing, including cartooning. Certain drawing methods or approaches, such as &quot;doodling&quot; and other informal kinds of drawing such as drawing on a foggy mirror caused by the steam from a shower, or the surrealist method of &quot;entopic graphomania&quot;, in which dots are made at the sites of impurities in a blank sheet of paper, and lines are then made between the dots, may or may not be considered as part of &quot;drawing&quot; as a &quot;fine art.&quot; Likewise tracing, drawing on a thin piece of paper, sometimes designed for that purpose (tracing paper), around the outline of preexisting shapes that show through this paper, is also not considered fine art, although it may be part of the draughtsman&#039;s preparation.</description>
		<content:encoded><![CDATA[<p>Drawing is a form of visual expression and is one of the major forms within the visual arts. There are a number of subcategories of drawing, including cartooning. Certain drawing methods or approaches, such as &#8220;doodling&#8221; and other informal kinds of drawing such as drawing on a foggy mirror caused by the steam from a shower, or the surrealist method of &#8220;entopic graphomania&#8221;, in which dots are made at the sites of impurities in a blank sheet of paper, and lines are then made between the dots, may or may not be considered as part of &#8220;drawing&#8221; as a &#8220;fine art.&#8221; Likewise tracing, drawing on a thin piece of paper, sometimes designed for that purpose (tracing paper), around the outline of preexisting shapes that show through this paper, is also not considered fine art, although it may be part of the draughtsman&#8217;s preparation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Draw a Tree by Crazyzoar</title>
		<link>http://wirfs-brock.com/blog/2009/10/26/draw-a-tree/comment-page-1/#comment-1772</link>
		<dc:creator>Crazyzoar</dc:creator>
		<pubDate>Tue, 07 Jun 2011 06:02:41 +0000</pubDate>
		<guid isPermaLink="false">http://wirfs-brock.com/blog/2009/10/26/draw-a-tree/#comment-1772</guid>
		<description>Britannica Online defines art as &quot;the use of skill and imagination in the creation of aesthetic objects, environments, or experiences that can be shared with others.&quot; By this definition of the word, artistic works have existed for almost as long as humankind: from early pre-historic art to contemporary art; however, some theories restrict the concept to modern Western societies. Adorno said in 1970, &quot;It is now taken for granted that nothing which concerns art can be taken for granted any more: neither art itself, nor art in relationship to the whole, nor even the right of art to exist</description>
		<content:encoded><![CDATA[<p>Britannica Online defines art as &#8220;the use of skill and imagination in the creation of aesthetic objects, environments, or experiences that can be shared with others.&#8221; By this definition of the word, artistic works have existed for almost as long as humankind: from early pre-historic art to contemporary art; however, some theories restrict the concept to modern Western societies. Adorno said in 1970, &#8220;It is now taken for granted that nothing which concerns art can be taken for granted any more: neither art itself, nor art in relationship to the whole, nor even the right of art to exist</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Agile Architecture Myths #3 Good Architecture Emerges by Rebecca</title>
		<link>http://wirfs-brock.com/blog/2011/05/12/agile-architecture-myths-3-good-architecture-emerges/comment-page-1/#comment-1710</link>
		<dc:creator>Rebecca</dc:creator>
		<pubDate>Fri, 13 May 2011 23:31:12 +0000</pubDate>
		<guid isPermaLink="false">http://wirfs-brock.com/blog/?p=224#comment-1710</guid>
		<description>Jukka-I would be interested in hearing more about why the whole architecture concept in IT annoys you. I suspect it has a lot to do with the fact that architecture is used in too many ways: enterprise architecture, solutions architecture, systems architecture, technical architecture, business architecture...etc., etc.
But my thinking about what software architecture is quite different. It is those fundamental choices and design decisions that impact the way you develop and deliver functionality. Pnce you&#039;ve made an architecture decision (and then implemented significant functionality based on it) then it is hard (not impossible) to change. So, for example, the choice of a particular presentation framework can be an architecturally relevant decision...so too, can be the way you decide to do authentication or authorization, how you integrate services, even the design of critical service interfaces....

Thanks for the pointer to your blog entry. Your notion of an &quot;eternal architecture&quot; / &quot;thought pattern&quot; is a little higher level than what I mean. These seem to be high-level (or abstract). They are patterns for architecture (or styles), not architecture realizations.</description>
		<content:encoded><![CDATA[<p>Jukka-I would be interested in hearing more about why the whole architecture concept in IT annoys you. I suspect it has a lot to do with the fact that architecture is used in too many ways: enterprise architecture, solutions architecture, systems architecture, technical architecture, business architecture&#8230;etc., etc.<br />
But my thinking about what software architecture is quite different. It is those fundamental choices and design decisions that impact the way you develop and deliver functionality. Pnce you&#8217;ve made an architecture decision (and then implemented significant functionality based on it) then it is hard (not impossible) to change. So, for example, the choice of a particular presentation framework can be an architecturally relevant decision&#8230;so too, can be the way you decide to do authentication or authorization, how you integrate services, even the design of critical service interfaces&#8230;.</p>
<p>Thanks for the pointer to your blog entry. Your notion of an &#8220;eternal architecture&#8221; / &#8220;thought pattern&#8221; is a little higher level than what I mean. These seem to be high-level (or abstract). They are patterns for architecture (or styles), not architecture realizations.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Agile Architecture Myths #3 Good Architecture Emerges by Rebecca</title>
		<link>http://wirfs-brock.com/blog/2011/05/12/agile-architecture-myths-3-good-architecture-emerges/comment-page-1/#comment-1709</link>
		<dc:creator>Rebecca</dc:creator>
		<pubDate>Fri, 13 May 2011 23:16:50 +0000</pubDate>
		<guid isPermaLink="false">http://wirfs-brock.com/blog/?p=224#comment-1709</guid>
		<description>Nadya- Yep. Architecture that just &quot;happens&quot; may not be what you want. Declaring a design spike works fine if the team is small, capable and tcan push back at times and not just let feature delivery always drive development. One way to manage architectural tasks for a larger project or program is to tag product backlog items that require architectural work or decisions. Those that do shouldn&#039;t be worked on until the architecture is ready enough. Rather than just add in these tasks to the regular project background it may make more sense to have a separate backlog (or a kanban) for them. Often architecture-related tasks may not fit neatly into a sprint cadence (they may be hard to estimate and/or spawn even more tasks as you get into them). That&#039;s one reason to keep them off the regular &quot;sprint&quot; backlog, yet still track their progress. The benefit of a kanban (instead of a scrum backlog) is that tasks don&#039;t need to be sized to fit into an iteration.

I plan on blogging a lot more about various approaches (and they are discussed our new Agile Architecture workshop that I&#039;ve developed with Johanna Rothman.



Managing agile projects so that architecture gets the attention it deserves involves first recognizing that it is important, and then putting processes and practices in place to support it.</description>
		<content:encoded><![CDATA[<p>Nadya- Yep. Architecture that just &#8220;happens&#8221; may not be what you want. Declaring a design spike works fine if the team is small, capable and tcan push back at times and not just let feature delivery always drive development. One way to manage architectural tasks for a larger project or program is to tag product backlog items that require architectural work or decisions. Those that do shouldn&#8217;t be worked on until the architecture is ready enough. Rather than just add in these tasks to the regular project background it may make more sense to have a separate backlog (or a kanban) for them. Often architecture-related tasks may not fit neatly into a sprint cadence (they may be hard to estimate and/or spawn even more tasks as you get into them). That&#8217;s one reason to keep them off the regular &#8220;sprint&#8221; backlog, yet still track their progress. The benefit of a kanban (instead of a scrum backlog) is that tasks don&#8217;t need to be sized to fit into an iteration.</p>
<p>I plan on blogging a lot more about various approaches (and they are discussed our new Agile Architecture workshop that I&#8217;ve developed with Johanna Rothman.</p>
<p>Managing agile projects so that architecture gets the attention it deserves involves first recognizing that it is important, and then putting processes and practices in place to support it.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

