<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Getting Agile &#187; Software Architecture</title>
	<atom:link href="http://www.gettingagile.com/category/software-architecture/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gettingagile.com</link>
	<description>with Sterling Barton</description>
	<lastBuildDate>Mon, 14 Jun 2010 18:18:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Slides from Managing Software Debt Talk at PNSQC 2009</title>
		<link>http://www.gettingagile.com/2009/10/27/slides-from-managing-software-debt-talk-at-pnsqc-2009/</link>
		<comments>http://www.gettingagile.com/2009/10/27/slides-from-managing-software-debt-talk-at-pnsqc-2009/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 22:00:28 +0000</pubDate>
		<dc:creator>Chris Sterling</dc:creator>
				<category><![CDATA[Acceptance Testing]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[DotNet]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Product Owner]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Software Architecture]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[User Stories]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://www.gettingagile.com/?p=316</guid>
		<description><![CDATA[Tomorrow at 1:30pm I will be discussing my paper published by the Pacific Northwest Software Quality Conference 2009 in Portland, OR on &#8220;Managing Software Debt: Continued Delivery of High Value as Systems Age&#8221;. I have uploaded the slides for this presentation and I hope that some of the new content will help those looking for [...]]]></description>
			<content:encoded><![CDATA[<p>Tomorrow at 1:30pm I will be discussing my paper published by the Pacific Northwest Software Quality Conference 2009 in Portland, OR on &#8220;Managing Software Debt: Continued Delivery of High Value as Systems Age&#8221;. I have uploaded the slides for this presentation and I hope that some of the new content will help those looking for ways to manage their software debt more effectively in 5 key areas:</p>
<ul>
<li>Technical debt: tends to focused on the code and reveals itself in duplication and code smells</li>
<li>Quality debt: focuses on QA aspects of software development and shows up in growing bug databases and longer regression test runs</li>
<li>Configuration Management debt: focuses on integration and release management aspects and becomes apparent with extreme branching and inability to recreate environments from scratch</li>
<li>Design debt: focuses on design constructs of components within an application or enterprise infrastructure and is usually difficult to figure out until you are close to a deadline such handling production load</li>
<li>Platform Experience debt: focuses on the people in the software creation process and usually involves extreme specialization and waiting on people to finish their part</li>
</ul>
<p>Without further ado, here are the slides:</p>
<div id="__ss_2357272" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Managing Software Debt - PNSQC 2009" href="http://www.slideshare.net/csterwa/managing-software-debt-pnsqc-2009">Managing Software Debt &#8211; PNSQC 2009</a><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=managingsoftwaredebt-pnsqc2009-091027083353-phpapp02&amp;stripped_title=managing-software-debt-pnsqc-2009" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=managingsoftwaredebt-pnsqc2009-091027083353-phpapp02&amp;stripped_title=managing-software-debt-pnsqc-2009" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/csterwa">Chris Sterling</a>.</div>
</div>
<p>Also, here is the picture I use to discuss Managing Software Debt from high level in terms of maintaining and enhancing value of software assets:</p>
<p><a href="http://chrissterling.gettingagile.com/wp-content/uploads/2008/10/effectrefactoringtopreserveswvalue.jpg"><img title="Effect of Managing Software Debt to Preserve Software Value" src="http://chrissterling.gettingagile.com/wp-content/uploads/2008/10/effectrefactoringtopreserveswvalue-300x181.jpg" alt="Effect of Managing Software Debt to Preserve Software Value" width="300" height="181" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gettingagile.com/2009/10/27/slides-from-managing-software-debt-talk-at-pnsqc-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Brent Barton and Chris Sterling &#8211; Partner to Bring New Product to Market</title>
		<link>http://www.gettingagile.com/2009/10/10/brent-barton-and-chris-sterling-partner-to-bring-new-product-to-market/</link>
		<comments>http://www.gettingagile.com/2009/10/10/brent-barton-and-chris-sterling-partner-to-bring-new-product-to-market/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 14:10:29 +0000</pubDate>
		<dc:creator>Chris Sterling</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Software Architecture]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://www.gettingagile.com/?p=300</guid>
		<description><![CDATA[Brent Barton and I have decided to start a new company called Sterling Barton that will focus on delivering products to market. We have just started this venture and in our spare time have begun development for our first product. The following letter explains our move to separate from SolutionsIQ so that we can concentrate [...]]]></description>
			<content:encoded><![CDATA[<p>Brent Barton and I have decided to start a new company called <strong><em>Sterling Barton</em></strong> that will focus on delivering products to market. We have just started this venture and in our spare time have begun development for our first product. The following letter explains our move to separate from SolutionsIQ so that we can concentrate on this new endeavor. It also outlines how we will continue to work with SolutionsIQ in a complimentary into the future.</p>
<blockquote><p>To whom it may concern:</p>
<p>For many years we, Chris Sterling and Brent Barton, have worked for SolutionsIQ.  We both have had an amazing time working and establishing great relationships, strategic business capabilities, and successfully supporting SolutionsIQ clients.  We recently decided to follow a passion of ours: creating products. This means that as of October 16, 2009, we will no longer be employees of SolutionsIQ and will begin work under our new company, Sterling Barton.</p>
<p>It is important to let everyone know that this does not mean the end of our working relationship with SolutionsIQ.  We are working diligently to have a partner agreement that enables both of our companies to fulfill engagements together.  It is our expectation that this will be a strong relationship that continues well into the future. Our focus will be to fund our product development through consulting and this means our relationship with SolutionsIQ should be seen as complimentary.</p>
<p>Leaving SolutionsIQ is both exciting and difficult.  We have incredible friends at SolutionsIQ who also challenge us with their insightful perspectives.  SolutionsIQ has proven to be a joyful place to work combined with significant capabilities that go hand-in-hand with great people. This has not changed and we expect this to be continuing into the future and improving with time. We want the bonds we have created with the people at SolutionsIQ to extend past our employment with SolutionsIQ.</p>
<p>Brent, if you didn’t already know, started with SolutionsIQ six and one half years ago. He started the Agile Consulting part of the business four years ago and has shown himself to be a tremendous thought leader and respected individual in the Agile community.</p>
<p>For those not familiar with Chris, Chris started with SolutionsIQ four years ago as ScrumMaster and team member on projects. He joined Brent on Agile Consulting engagements soon after that part of the business started and has also become a thought leader in the Agile space.</p>
<p>With SolutionsIQ, we have both found the freedom and support needed to pursue new business opportunities and raise the presence of the company and ourselves within a larger community.  We are grateful for these opportunities and are happy with where we are today based on these and many other people’s efforts.</p>
<p>As we venture out and build a grass roots business, feel free to contact us.  We are having fun and would love to share more good times together with you.</p>
<p>Sincerely,</p>
<p>Chris Sterling and Brent Barton</p>
<p><a href="http://www.sterlingbarton.com" target="_blank">sterlingbarton.com</a></p></blockquote>
<p>If you are interested in contacting us, you can email us at brent at sterlingbarton dot com or chris at sterlingbarton dot com. If you are interested in hiring us  to support you in Agile adoption, management consulting, and technology consulting please send an email to info at sterlingbarton dot com. Thank you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gettingagile.com/2009/10/10/brent-barton-and-chris-sterling-partner-to-bring-new-product-to-market/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Pacific Northwest Software Quality Conference (PNSQC) Coming Up</title>
		<link>http://www.gettingagile.com/2009/10/08/pacific-northwest-software-quality-conference-pnsqc-coming-up/</link>
		<comments>http://www.gettingagile.com/2009/10/08/pacific-northwest-software-quality-conference-pnsqc-coming-up/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 16:41:27 +0000</pubDate>
		<dc:creator>Chris Sterling</dc:creator>
				<category><![CDATA[Acceptance Testing]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Software Architecture]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://www.gettingagile.com/?p=297</guid>
		<description><![CDATA[It has been a while since I have blogged. I apologize and have plenty of good excuses (if there are such things) about why (book, traveling, family time, etc&#8230;). I am now back and will be blogging on a more frequent basis in the next few months.
My first blog entry back is about the upcoming [...]]]></description>
			<content:encoded><![CDATA[<p>It has been a while since I have blogged. I apologize and have plenty of good excuses (if there are such things) about why (book, traveling, family time, etc&#8230;). I am now back and will be blogging on a more frequent basis in the next few months.</p>
<p>My first blog entry back is about the upcoming Pacific Northwest Software Quality Conference (PNSQC) that is happening from October 26-28 in Portland, OR. This conference was highly recommended to me by many people. This year I am fortunate enough to attend, have a paper published for the event, and presenting the paper for 45 minutes during the conference. Here are the details for my paper and presentation:</p>
<blockquote><p><em><a name="30">P-30</a> <strong>Managing Software Debt</strong></em></p>
<p><em><strong>Chris Sterling, SolutionsIQ</strong></em></p>
<p><em>Many software developers will have to deal with legacy code at some point during their careers. Seemingly simple changes are turned into frustrating endeavors with code that is hard to read and unnecessarily complex. Test scripts and requirements are lacking, and at the same time are out of sync with the existing system. The build is cryptic, minimally sufficient, and difficult to successfully configure and execute. It is almost impossible to find the proper place to make a requested change without breaking unexpected portions of the application. The people who originally worked on the application are long gone.</em></p>
<p><em>How did the software get like this? It is almost certain the people who developed this application did not intend to create such a mess. This paper presentation will highlight ways teams can work with stakeholders to manage software debt over the delivery life cycle of the product.</em></p></blockquote>
<p>I hope that I am able to see others at this event. If you are interested in attending and would like to get a $50 off the normal conference attendance fee, enter the promotion code &#8220;FOA &#8211; Chris Sterling&#8221; when registering. You can register at the PNSQC web site (<a href="http://www.pnsqc.org/2009-conference/registration-information" target="_blank">http://www.pnsqc.org/2009-conference/registration-information</a>). See you there!</p>
<p><em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gettingagile.com/2009/10/08/pacific-northwest-software-quality-conference-pnsqc-coming-up/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Executable Specifications &#8211; Presentation from AgilePalooza</title>
		<link>http://www.gettingagile.com/2009/08/06/executable-specifications-presentation-from-agilepalooza/</link>
		<comments>http://www.gettingagile.com/2009/08/06/executable-specifications-presentation-from-agilepalooza/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 13:48:41 +0000</pubDate>
		<dc:creator>Chris Sterling</dc:creator>
				<category><![CDATA[Acceptance Testing]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[DotNet]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Software Architecture]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[User Stories]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://chrissterling.gettingagile.com/?p=296</guid>
		<description><![CDATA[Earlier this year I did a presentation on Executable Specficiations for AgilePalooza conference. There is information about working with legacy code, commercial off-the-shelf (COTS) systems, and Acceptance Test-Driven Development (ATDD) using automated acceptance testing tools. Also, the presentation lists types of automated acceptance testing tools out there along with actual names of tools and what [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier this year I did a presentation on Executable Specficiations for AgilePalooza conference. There is information about working with legacy code, commercial off-the-shelf (COTS) systems, and Acceptance Test-Driven Development (ATDD) using automated acceptance testing tools. Also, the presentation lists types of automated acceptance testing tools out there along with actual names of tools and what they are best used for on projects. Hope it is interesting to you.</p>
<div style="width:425px;text-align:left" id="__ss_1499430"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/csterwa/executable-specifications-agile-palooza" title="Executable Specifications Agile Palooza">Executable Specifications Agile Palooza</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=executablespecifications-agilepalooza-090528014316-phpapp01&#038;stripped_title=executable-specifications-agile-palooza" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=executablespecifications-agilepalooza-090528014316-phpapp01&#038;stripped_title=executable-specifications-agile-palooza" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">documents</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/csterwa">Chris Sterling</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.gettingagile.com/2009/08/06/executable-specifications-presentation-from-agilepalooza/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maintain One List of Work</title>
		<link>http://www.gettingagile.com/2009/06/12/maintain-one-list-of-work/</link>
		<comments>http://www.gettingagile.com/2009/06/12/maintain-one-list-of-work/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 18:44:00 +0000</pubDate>
		<dc:creator>Chris Sterling</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Product Owner]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Software Architecture]]></category>
		<category><![CDATA[User Stories]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://chrissterling.gettingagile.com/?p=281</guid>
		<description><![CDATA[During an interview at the Better Software conference this week, I mentioned that I thought maintaining a single list of work prioritized by the business was important for our industry to improve. The following text is an excerpt, in first draft form, from chapter 2, &#8220;Architecture Integrity&#8221;, of my upcoming book &#8220;Architecture in an Agile [...]]]></description>
			<content:encoded><![CDATA[<p><em>During an interview at the Better Software conference this week, I mentioned that I thought maintaining a single list of work prioritized by the business was important for our industry to improve. The following text is an excerpt, in first draft form, from chapter 2, &#8220;Architecture Integrity&#8221;, of my upcoming book &#8220;Architecture in an Agile Organization&#8221; that is relevant to this topic.</em></p>
<hr size="1" />In Scrum, the Product Backlog is a list of desired features prioritized by the Product Owner. Prioritization is done by the Product Owner to optimize value of the software delivered to the users. Instead of prioritizing within levels of importance such as high, medium, and low the Product Owner must prioritize in “stack-rank” order. This means that no Product Backlog item has the same priority as another item. This form of prioritization gives clear directions to development teams about what the most important feature is next to work on.</p>
<p>A healthy Product Backlog contains not only new features but also technical requirements to support the next Product Backlog items in priority. The development team is expected to review the Product Backlog frequently to provide cost estimates for Product Backlog items to help the Product Owner prioritize based on both cost and benefit. During the development team’s review they will suggest Product Backlog items that are missing from a technical point of view in the product definition. These technical Product Backlog items will be discussed with the Product Owner so they are able to prioritize them effectively. It is essential that the development team explain why each technical Product Backlog item is important to support other upcoming items. If this is not expressed the Product Owner could be inclined to demote those technical Product Backlog items because the value of them is not understood enough.</p>
<p>When issues are found in the software they usually come in three varieties:</p>
<ul>
<li>Enhancement – a suggestion for improving the current state of the software from a user’s point of view</li>
<li>Defect – a system fault that occurs while using the software</li>
<li>Fire – a system fault that is inhibiting significant usage scenarios in the software and must be fixed immediately</li>
</ul>
<p>Enhancements are requests for improvements to the software based on the perspective of the user. These improvements should be prioritized based on their value against all other Product Backlog items. An enhancement and defect issues are hard to distinguish from one another at times but that is fine. Defects are system faults that users are able to workaround but should not be happening from a user experience and/or technical perspective. Since we are able to work around these defects and the development team is able to provide a fix in the next iteration they are placed into the Product Backlog and prioritized against all other Product Backlog items. Fires are defects that cannot be worked around and cause serious problems for users of the software. In healthy software applications, fires should be a rare occurrence. It is important that a fix is implemented right away and may interrupt the work getting done in the current iteration.</p>
<p><img class="aligncenter size-medium wp-image-282" title="issuetriage" src="http://chrissterling.gettingagile.com/wp-content/uploads/2009/06/issuetriage-300x167.png" alt="issuetriage" width="300" height="167" /><em></em></p>
<p><em>Figure: This flow diagram describes how an identified issue is triaged in an iterative and incremental approach such as Scrum. If the issue is an enhancement or defect that can be worked around for now it goes into the Product Backlog and prioritized based on its value. If the issue is a “fire” or defect that cannot be worked around then it must be fixed immediately. The development will put the fire into their current list of work in the Sprint Backlog and figure out how it effects their commitment to deliver on their current iteration.</em></p>
<p>Defects are captured in bug databases in many organizations. Teams using the Scrum process to manage their software development find themsves in a predicament. Do we continue working from two lists, the Product Backlog of desired features and bug database? Or do we incorporate items from the bug database into the Product Backlog? I suggest all teams should incorporate defects into the Product Backlog. There are multiple reasons to do this:</p>
<ul>
<li>Development team does not make priority decisions for the business stakeholders. If the development team decides to work on defects rather than desired features then they are deciding the defects are higher priority than the desired features without including the Product Owner in the decision-making process.</li>
<li>Minimizes the amount of hidden work done by the development team. By providing visibility into the defects, the development team is being transparent about the state of the software they are working on.</li>
<li>Provides the Product Owner with an opportunity to prioritize the defect lower. The Product Owner could decide the defect is not important enough to fix at this time.</li>
<li>Allows development team and Product Owner to design a solution for dealing with defects. From time to time the defect provides insight into a design flaw that the Product Owner would like to improve.</li>
</ul>
<p>Ultimately, the development is able to maintain alignment with business priorities for the software. Priorities are decided based upon the full reality of the software, new features and defects included.</p>
<p>A single work queue, such as the Product Backlog, provides visibility to the development team about current expectations about upcoming work. The Product Owner should share the Product Backlog with the development team and discuss the direction of the product beyond the next iteration. As the development team gains knowledge about the direction of the product they will be able to provide input into the Product Backlog. This visibility is important so Product Backlog items do not surprise the development team when it is too late to prepare a proper solution.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gettingagile.com/2009/06/12/maintain-one-list-of-work/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>AgilePalooza in San Francisco May 29th</title>
		<link>http://www.gettingagile.com/2009/05/19/agilepalooza-in-san-francisco-may-29th/</link>
		<comments>http://www.gettingagile.com/2009/05/19/agilepalooza-in-san-francisco-may-29th/#comments</comments>
		<pubDate>Tue, 19 May 2009 20:57:15 +0000</pubDate>
		<dc:creator>Chris Sterling</dc:creator>
				<category><![CDATA[Acceptance Testing]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Product Owner]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Software Architecture]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[User Stories]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://chrissterling.gettingagile.com/?p=267</guid>
		<description><![CDATA[
AgilePalooza is a one day Agile conference on Friday May 29th at the San Francisco State University downtown campus. There will be two tracks: Learning Agility and Advancing Agility.
&#8220;Learning Agility&#8221; will be presentation style whereas &#8220;Advancing Agility&#8221; will use the open space format.
Speakers include David Hussman (DevJam), Chris Sterling (SolutionsIQ), Luke Hohmann (Enthiosys), Lee Henson [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" title="AgilePalooza logo" src="http://www.agilepalooza.com/images/AgilePaloozaHeader.gif" alt="" width="497" height="87" /></p>
<p><span><a href="http://www.AgilePalooza.com" target="_blank">AgilePalooza</a> is a one day Agile conference on Friday May 29th at the <a href="http://maps.yahoo.com/maps_result?addr=835+Market+St&amp;csz=94103&amp;country=us&amp;new=1&amp;name=&amp;qty=&amp;mkt_tok=3RkMMJWWfF9wsRovsqvfLqzsmxzEJ8r57eUpX7Hr08Yy0EZ5VunJEUWy2YEJSA%3D%3D" target="_blank">San Francisco State University downtown campus</a>. There will be two tracks: Learning Agility and Advancing Agility.</p>
<p>&#8220;Learning Agility&#8221; will be presentation style whereas &#8220;Advancing Agility&#8221; will use the open space format.</p>
<p>Speakers include David Hussman (DevJam), Chris Sterling (SolutionsIQ), Luke Hohmann (Enthiosys), Lee Henson (VersionOne Services) with special guests Ainsley Nies (open space co-facilitator) and Ian Culling (VersionOne CTO). When not presenting for the &#8220;Learning Agility&#8221; track speakers will participate in the open space.</p>
<p>Space is limited and the cost is low so please register soon if you would like to attend. For more information or to register please visit <a href="http://www.AgilePalooza.com" target="_blank">www.AgilePalooza.com</a>.</p>
<p><strong>Where? </strong></span></p>
<p><span>San Francisco State University Downtown Campus, 835 Market Street, San Francisco. (Powell street BART station in the Westfield Center) &#8211; <a href="http://maps.yahoo.com/maps_result?addr=835+Market+St&amp;csz=94103&amp;country=us&amp;new=1&amp;name=&amp;qty=&amp;mkt_tok=3RkMMJWWfF9wsRovsqvfLqzsmxzEJ8r57eUpX7Hr08Yy0EZ5VunJEUWy2YEJSA%3D%3D" target="_blank">Map/Directions</a><br />
</span></p>
<p><strong><span>When? </span></strong></p>
<p><span>9am-5pm (check-in and continental breakfast starts at 8am)</span></p>
<p><span><strong>Cost?</strong> </span></p>
<p><span>$69</span></p>
<p><span>Register here: <a href="http://www.AgilePalooza.com">www.AgilePalooza.com</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gettingagile.com/2009/05/19/agilepalooza-in-san-francisco-may-29th/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Survey for Software Quality Attributes &#8211; Where Should We Focus?</title>
		<link>http://www.gettingagile.com/2009/05/17/survey-for-software-quality-attributes-where-should-we-focus/</link>
		<comments>http://www.gettingagile.com/2009/05/17/survey-for-software-quality-attributes-where-should-we-focus/#comments</comments>
		<pubDate>Sun, 17 May 2009 21:43:14 +0000</pubDate>
		<dc:creator>Chris Sterling</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[IASA]]></category>
		<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Product Owner]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Software Architecture]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://chrissterling.gettingagile.com/?p=263</guid>
		<description><![CDATA[I have been using a tool for some time with clients and teams to find out what software quality attributes the product development team should focus on in the project. ISO standard 9621 describes the quality attributes found in software. The following image shows the 6 categories and specific attributes contained within them.
Before I knew [...]]]></description>
			<content:encoded><![CDATA[<p>I have been using a tool for some time with clients and teams to find out what software quality attributes the product development team should focus on in the project. ISO standard 9621 describes the quality attributes found in software. The following image shows the 6 categories and specific attributes contained within them.</p>
<div id="attachment_264" class="wp-caption aligncenter" style="width: 310px"><a href="http://chrissterling.gettingagile.com/wp-content/uploads/2009/05/iso9621.gif"><img class="size-medium wp-image-264" title="ISO 9621 Software Quality Attributes" src="http://chrissterling.gettingagile.com/wp-content/uploads/2009/05/iso9621-300x44.gif" alt="ISO 9621 Software Quality Attributes" width="300" height="44" /></a><p class="wp-caption-text">ISO 9126-1 Software Quality Attributes</p></div>
<p>Before I knew about this standard I would discuss how different quality attributes are in conflict with each other. For instance, if we write code that is focused on performance we lose some maintainability. It will be more difficult to read code focused on performance because readability will be sacrificed to some extent.</p>
<p>Now that I&#8217;ve known about ISO 9126 for many years, I made a simple spreadsheet tool to interview Product Owners, stakeholders, and software development team members with. Here is the Excel spreadsheet form of this tool:</p>
<p><a href="http://chrissterling.gettingagile.com/wp-content/uploads/2009/05/softwarequalityattributes-ratingtool.xls">Software Quality Attributes Rating Tool</a></p>
<p>Although a bunch of smart people have come up with ISO 9126, I found that modifying the software quality attributes rated in the tool worked more effectively with interviewees. This tool is not to decide what software attributes will be present in the software product getting developed. It is used to identify which software quality factors the team should put more emphasis on when making trade-off decisions during the project. Here is a list of the software quality attributes used in the tool:</p>
<ul>
<li><strong>Suitability</strong> &#8211; Functionality is suitable to all end users</li>
<li><strong>Interoperability</strong> &#8211; Functionality interoperates with other systems easily</li>
<li><strong>Compliance</strong> &#8211; Functionality is compliant with applicable regulatory guidelines</li>
<li><strong>Security</strong> &#8211; System is secure: confidentiality, integrity, availability, accountability and assurance</li>
<li><strong>Maturity</strong> &#8211; System components are proven stable by others</li>
<li><strong>Fault Tolerance</strong> &#8211; System continues operating properly in the event of failure by one or more of its components</li>
<li><strong>Recoverability</strong> &#8211; System recovers from failures in surrounding environment</li>
<li><strong>Understandability</strong> &#8211; Able to use system with little training</li>
<li><strong>Learnability</strong> &#8211; Supports learning of system functionality with little external interfacing</li>
<li><strong>Operability</strong> &#8211; Ability to keep a system in a functioning and operating condition</li>
<li><strong>Performance</strong> &#8211; Perceived response is immediate</li>
<li><strong>Scalability</strong> &#8211; Able to handle increased usage on the appropriate amount of resources</li>
<li><strong>Analyzability</strong> &#8211; Ability to figure out how the system functions</li>
<li><strong>Changeability</strong> &#8211; Ability to change the system components to meet new business needs</li>
<li><strong>Testability</strong> &#8211; Ability to create repeatable and specific tests of the system and potential for some to be automated</li>
<li><strong>Adaptability</strong> &#8211; Ability to change out system component functionality quickly</li>
<li><strong>Installability</strong> &#8211; Ease of installation and reinstallation</li>
<li><strong>Conformance</strong> &#8211; Conformance to industry and operational standards</li>
<li><strong>Replaceability</strong> &#8211; Ability to replace system in the future</li>
</ul>
<p>Using the tool is quite simple:</p>
<ol>
<li><strong>Emphasis Ranking</strong>: Have the Product Owner score each of the software quality factors from 1-5 (1 being less applicable and 5 being more applicable) in terms of the software product.</li>
<li><strong>Business Stakeholders identify 3 Must Haves</strong> &#8211; Ask the business stakeholders what are the 3 software quality factors they want most and stack rank them from 1 to 3</li>
<li><strong>Software Development Team 3 Must Haves</strong> &#8211; Ask the software development team what are the 3 software quality factors they want most and stack rank them from 1 to 3</li>
<li><strong>Capture Notes about Decisions</strong> &#8211; Use the notes column to capture any specific decisions about the software quality factors that would help the entire software product team come to consensus.</li>
<li><strong>Discuss Must Haves across Groups</strong> &#8211; Get the Product Owner, business stakeholders, and software development team members together to discuss and come to consensus on which software quality attributes they will focus on for this project.</li>
</ol>
<p>Please let me know how you use this tool. There have been many teams that have taken up this tool and found it to be helpful for communicating what is most important from a software quality attibutes point of view in the project. Hope it does the same for you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gettingagile.com/2009/05/17/survey-for-software-quality-attributes-where-should-we-focus/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>My Talk @ SD West 2009 on &quot;Managing Software Debt&quot;</title>
		<link>http://www.gettingagile.com/2009/03/27/my-talk-sd-west-2009-on-managing-software-debt/</link>
		<comments>http://www.gettingagile.com/2009/03/27/my-talk-sd-west-2009-on-managing-software-debt/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 20:55:12 +0000</pubDate>
		<dc:creator>Chris Sterling</dc:creator>
				<category><![CDATA[Acceptance Testing]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Distributed Computing]]></category>
		<category><![CDATA[DotNet]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[IASA]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Jini/JavaSpaces]]></category>
		<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Podcasts]]></category>
		<category><![CDATA[Product Owner]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Software Architecture]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[User Stories]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://chrissterling.gettingagile.com/?p=237</guid>
		<description><![CDATA[I have uploaded the talk I did at SD West 2009 on Yahoo! Video and here it is:
Managing Software Debt &#8211; Chris Sterling @ SD West 2009 @ Yahoo! Video
]]></description>
			<content:encoded><![CDATA[<p>I have uploaded the talk I did at SD West 2009 on Yahoo! Video and here it is:</p>
<div><object width="512" height="322"><param name="movie" value="http://d.yimg.com/static.video.yahoo.com/yep/YV_YEP.swf?ver=2.2.40" /><param name="allowFullScreen" value="true" /><param name="AllowScriptAccess" VALUE="always" /><param name="bgcolor" value="#000000" /><param name="flashVars" value="id=12699073&#038;vid=4754803&#038;lang=en-us&#038;intl=us&#038;thumbUrl=http%3A//l.yimg.com/a/p/i/bcst/videosearch/8055/82632771.jpeg&#038;embed=1" /><embed src="http://d.yimg.com/static.video.yahoo.com/yep/YV_YEP.swf?ver=2.2.40" type="application/x-shockwave-flash" width="512" height="322" allowFullScreen="true" AllowScriptAccess="always" bgcolor="#000000" flashVars="id=12699073&#038;vid=4754803&#038;lang=en-us&#038;intl=us&#038;thumbUrl=http%3A//l.yimg.com/a/p/i/bcst/videosearch/8055/82632771.jpeg&#038;embed=1" ></embed></object><br /><a href="http://video.yahoo.com/watch/4754803/12699073">Managing Software Debt &#8211; Chris Sterling @ SD West 2009</a> @ <a href="http://video.yahoo.com" >Yahoo! Video</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.gettingagile.com/2009/03/27/my-talk-sd-west-2009-on-managing-software-debt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What is Architecture?</title>
		<link>http://www.gettingagile.com/2009/01/19/what-is-architecture/</link>
		<comments>http://www.gettingagile.com/2009/01/19/what-is-architecture/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 18:59:32 +0000</pubDate>
		<dc:creator>Chris Sterling</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[IASA]]></category>
		<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Product Owner]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Software Architecture]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://chrissterling.gettingagile.com/2009/01/19/what-is-architecture/</guid>
		<description><![CDATA[Talk about a loaded term. Even the term itself, &#8220;architecture&#8221;, when used in the Agile community can start a heated discussion. When I was coordinator of the International Association of Software Architects Puget Sound chapter, the discussions about &#8220;what is architecture&#8221; caused passionate debate. I am sure this entry will get some interesting comments, as [...]]]></description>
			<content:encoded><![CDATA[<p>Talk about a loaded term. Even the term itself, &#8220;architecture&#8221;, when used in the Agile community can start a heated discussion. When I was coordinator of the International Association of Software Architects Puget Sound chapter, the discussions about &#8220;what is architecture&#8221; caused passionate debate. I am sure this entry will get some interesting comments, as well.</p>
<p>I don&#8217;t believe that this entry will solve the question but I hope to at least give some focus for teams who are dealing with the structural integrity of their applications. First off, a definition of &#8220;architecture&#8221;:</p>
<p><em><strong>architecture: </strong>noun &#8211; &#8220;the art or practice of designing and constructing&#8230;&#8221; or &#8220;the complex or carefully designed structure of something&#8221; or &#8220;the conceptual structure and logical organization of a computer or computer-based system&#8221;</em></p>
<p><em></em>Each of these definitions interests me but to put them to practice is quite difficult. They are left to interpretation about what is design, construction, structure, conceptual, and logical. Earlier interpretations of this term interpreted these to mean the high-level structure, architectural style, and finally the stuff that is too expensive to get wrong.</p>
<p>It seems to me that my interpretation is a bit different. Working with tools, practices, and processes over the past 15 years has guided me to a different conclusion. I believe that architecture is how it is <strong><em>SAID</em></strong>:</p>
<p><em><strong>Structure</strong> &#8211; how the pieces (components) create a solution (application)<br />
</em><em><strong>Alignment</strong> &#8211; the degree to which the application or enterprise structures align to current business objectives and strategy</em><em><strong><br />
</strong><strong>Integrity</strong> &#8211; the components that provide stability to the structure (application or enterprise) (ie. automated tests and builds, service-level agreements, network infrastructure, etc&#8230;)<br />
</em><em><strong>Design</strong> &#8211; a way to conceptually communicate the planned or implemented structure of a component, application, or enterprise (ie. system of names, XP practice of Metaphor, information radiators, etc&#8230;)</em></p>
<p>Using these as the basic building blocks for teams to focus their efforts can be helpful.</p>
<p>The structure is the reality of the solution&#8217;s construction. If the structure is too brittle or complex to support future needs then the structure is not sound. If you have been in the software development industry for even short period of time you have probably seen applications that are too brittle or complex.</p>
<p>If the application or enterprise structures are not aligned with current business needs then the value of those structures have deteriorated. We sometimes keep a specific architecture and force-fit new business needs into it because it once was the right architecture to have or we paid a bunch of money for it. Continual restructuring of our architecture to meet today&#8217;s business needs is important.</p>
<p>Providing supports to our structure allows for it withstand changes in the environment such as new business needs and updates in technology. Automated tests and builds help us keep the structural integrity of our applications intact while these changes are introduced into our applications and enterprise.</p>
<p>Communicating the conceptual structure of a component, application, or enterprise is important because it is common for new people to work on them and for those structures to interact with other components and applications. Getting someone up to speed on a component or application involves verbal, tactile, written, and visual examples. Much of what is needed can be kept in or close to the codebase along with conversations with existing developers. It is important to understand how components and applications are currently structure conceptually so we can discuss their interactions with other components and applications. For instance, should we connect via library, SOAP, RPC, or REST?</p>
<p>When I think of application architecture I want to focus on just a few principles:</p>
<ul>
<li>Application architecture is about changeability, not longevity</li>
<li>Application architecture decisions should be made closest to where they are implemented as possible</li>
<li>Application architecture design is not only about our ability to design a solution but also knowing what components, applications, and solutions already exist</li>
<li>The value for change in a component&#8217;s, application&#8217;s, or enterprise&#8217;s architecture is directly proportional to the cost of not addressing</li>
</ul>
<p>If the structure is not able to change as the needs of our business change then the solution will become a liability. If someone other than those who are constructing components and applications are deciding on architecture decisions then there will be important information lost in translation between the two. If we keep using the same design hammer (ie. always using 3-tier or IoC for everything) then we are not allowing the strongest solutions to emerge. The value of architecture can usually be described by the cost incurred if it is not taken care of.</p>
<p>Well, let the onslaught of comments commence. I have put out my ideas on architecture. There are many more out there to discuss and I am sure I will hear some of them. I will finish this entry with a quote from Martin Fowler&#8217;s &#8220;Who Needs an Architect?&#8221; article:</p>
<blockquote><p>&#8220;I define architecture as a word we use when we want to talk about design but want to puff it up to make it sound important.&#8221;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.gettingagile.com/2009/01/19/what-is-architecture/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>See You at SD West 2009</title>
		<link>http://www.gettingagile.com/2009/01/15/see-you-at-sd-west-2009/</link>
		<comments>http://www.gettingagile.com/2009/01/15/see-you-at-sd-west-2009/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 18:59:23 +0000</pubDate>
		<dc:creator>Chris Sterling</dc:creator>
				<category><![CDATA[Acceptance Testing]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Product Owner]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Software Architecture]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[User Stories]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://chrissterling.gettingagile.com/?p=208</guid>
		<description><![CDATA[I’d like to invite you to join me at …
SD West 2009 Conference &#38; Expo
March 9–13
Santa Clara Convention Center, Santa Clara, CA
http://www.SDExpo.com/
I’m pleased to announce that I’ll be teaching the following session at SD West 2009:
&#8220;Managing Software Debt: Continuing to Deliver High Value as Systems Age&#8221; on Friday, March 13th from 3:30-5:00pm
SD West is where [...]]]></description>
			<content:encoded><![CDATA[<p>I’d like to invite you to join me at …</p>
<p>SD West 2009 Conference &amp; Expo<br />
March 9–13<br />
Santa Clara Convention Center, Santa Clara, CA<br />
<a href="http://www.SDExpo.com/" target="_blank">http://www.SDExpo.com/</a></p>
<p>I’m pleased to announce that I’ll be teaching the following session at SD West 2009:</p>
<p>&#8220;Managing Software Debt: Continuing to Deliver High Value as Systems Age&#8221; on Friday, March 13th from 3:30-5:00pm</p>
<p>SD West is where the software development community gathers to learn about the latest business-critical technologies, network with peers, connect with innovative vendors and get inspiration from industry visionaries. The comprehensive conference program covers today’s most important topics including cloud computing, concurrent programming, dynamic languages, agile processes, security, testing and much more.</p>
<p>Super early bird conference discounts of up to $400 expire Friday, January 16.  As a speaker, I can also offer you an additional $100 off the VIP Pass. Simply register at <a href="http://www.SDExpo.com/" target="_blank">http://www.SDExpo.com</a> with the code 9ESPK to get your discount.</p>
<p>Check out all the excellent educational opportunities SD West 2009 has to offer at <a href="http://www.SDExpo.com/" target="_blank">http://www.SDExpo.com</a>.</p>
<p>I look forward to seeing you in Santa Clara!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gettingagile.com/2009/01/15/see-you-at-sd-west-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
