<?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>Adaptive Object Model &#187; General</title>
	<atom:link href="http://adaptiveobjectmodel.com/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://adaptiveobjectmodel.com</link>
	<description>Anything you can do, I can do Meta...</description>
	<lastBuildDate>Wed, 11 Jan 2012 19:58:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>What is Pragmatic TDD?</title>
		<link>http://adaptiveobjectmodel.com/2012/01/what-is-pragmatic-tdd/</link>
		<comments>http://adaptiveobjectmodel.com/2012/01/what-is-pragmatic-tdd/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 19:32:58 +0000</pubDate>
		<dc:creator>Joseph Yoder</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://adaptiveobjectmodel.com/?p=243</guid>
		<description><![CDATA[by Joseph Yoder &#38; Rebecca Wirfs-Brock What do we mean by Pragmatic TDD? Pragmatic Test Driven Development (TDD) is a practical approach to testing that focuses on the bigger picture of how testing best fits into and enhances your team’s software development practices. Rather than insisting that developers only write a lot of unit tests, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>by Joseph Yoder &amp; Rebecca Wirfs-Brock</p>
<h2>What do we mean by Pragmatic TDD?</h2>
<p style="text-align: justify;"><a href="http://learningforleverage.com/events/pragmatic-test-driven-development/" class="liexternal">Pragmatic Test Driven Development</a> (TDD) is a practical approach to testing that focuses on the bigger picture of how testing best fits into and enhances your team’s software development practices. Rather than insisting that developers only write a lot of unit tests, you need to find a testing strategy that gives you higher quality software. You need to determine how testing best fits into your development context with your developers for your kind of software.</p>
<p style="text-align: justify;">The typical approach to TDD usually focuses on having developers write many unit tests that may or may not add value. Instead, we recommend you adopt a testing strategy that gives you the most leverage. So, for example, rather than merely writing many unit tests, you can often get more value by defining the appropriate user-level acceptance tests. Testing should drive your development (but not at the expense of every other coding and design practice). One size or one approach for testing does not fit every organization or team.</p>
<p style="text-align: justify;">One thing that has discouraged people from incorporating TDD into their organization is the common misperceptions that tests should always be written first, before writing any production code, and, that tests and code should be developed in many tiny increments. We believe that TDD is more about thinking carefully about how best to validate that your software meets your requirements. Testing and validation should drive your development process (that’s why we are fans of being Test Driven), but we think there is so much more to testing than writing lots of unit tests.</p>
<h2>What do we mean by different testing rhythms?</h2>
<p style="text-align: justify;">We believe that you should pay attention to testing and that it should be an integral part of your daily programming practice. But we don’t insist that you always evolve tests along with your code in many short cycles. Some find it more natural to outline some tests first, and use those test scenarios to guide them as they write code. Once they’ve completed a “good enough” implementation that supports the test scenarios, they then write those tests and incrementally fix any bugs as they go. As long as you don’t write hundreds of lines of code without any testing, we think this style is OK too (and we don’t insist on one style over the other).</p>
<h2>What are the testing practices you should consider?</h2>
<p style="text-align: justify;">There’s a lot to becoming proficient at TDD. Developing automated test suites, refactoring and reworking tests to eliminate duplication, and testing for exceptional conditions, are just a few. Additionally, acceptance tests, smoke tests, integration, performance and load tests support incremental development as well. If all this testing sounds like too much work, well…let’s get practical. Testing shouldn’t be done just for testing’s sake. Instead, the tests you write should give you leverage to confidently change and evolve your code base and validate the requirements of the system. That’s why it is important to know what to test, what not to test, and when to stop testing.</p>
<h2>So, where should you start?</h2>
<p style="text-align: justify;">It is important to establish a team testing culture. Get the team on board using similar techniques and tools. Try some different approaches and then as a group reflect on what you’ve learned (have a retrospective). If you are starting a new project you might take a quite different approach than you would with an existing code base. It’s important to not get overwhelmed. Pick an area you want to focus on. For example, it’s much easier to write unit tests for new functionality. But sometimes you want to focus on writing tests for existing code that is buggy or needs to be modified. This can be more difficult. Maybe you want to concentrate on developing integration tests and automating them first (so that you can streamline your build and deploy process). It all depends on where you want to invest first. Just start modestly, grow your testing practices, and measure the impacts of your testing effort and benefits as you go. Of course the most important thing is to start somewhere and have testing become an important part of your development process.</p>
<p style="text-align: justify;">The <a href="http://www.refactory.com" class="liexternal">Refactory, Inc.</a> principal Joseph Yoder &amp; The <a href="http://www.refactory.com" class="liexternal">Refactory, Inc.</a> associate Rebecca Wirfs-Brock will be hosting a <a href="http://learningforleverage.com/events/pragmatic-test-driven-development/" target="_self" class="liexternal">Pragmatic Test-driven Development course</a> January 25-27, 2012 in the Portland Metro area.     <a href="http://test-driven-development-jy.eventbrite.com/" class="liexternal">Register Now!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://adaptiveobjectmodel.com/2012/01/what-is-pragmatic-tdd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sign Up for Pragmatic TDD Public Course!</title>
		<link>http://adaptiveobjectmodel.com/2011/09/sign-up-for-pragmatic-tdd-public-course/</link>
		<comments>http://adaptiveobjectmodel.com/2011/09/sign-up-for-pragmatic-tdd-public-course/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 17:36:59 +0000</pubDate>
		<dc:creator>Joseph Yoder</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://adaptiveobjectmodel.com/?p=236</guid>
		<description><![CDATA[Joseph Yoder and Rebecca Wirfs-Brock will teach a Pragmatic TDD public course in Tigard, Oregon. Course Info: Courtyard Marriott &#8211; Tigard 15686 SW Sequoia Parkway Tigard, OR 97224 First quarter of 2012 Test-driven development (TDD) means writing unit tests along with production code. It leads to modular, flexible and extensible code. Many aspire to follow [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://learningforleverage.com/events/pragmatic-test-driven-development/" title="Meta Guy" class="liexternal">Joseph Yoder</a> and Rebecca Wirfs-Brock will teach a <a href="http://learningforleverage.com/events/pragmatic-test-driven-development/" title="Pragmatic Test-driven Development" class="liexternal">Pragmatic TDD public course</a> in Tigard, Oregon.</p>
<h3>Course Info:</h3>
<p>Courtyard Marriott &#8211; Tigard<br />
15686 SW Sequoia Parkway<br />
Tigard, OR 97224</p>
<p>First quarter of 2012</p>
<blockquote><p>Test-driven development (TDD) means writing unit tests along with production code. It leads to modular, flexible and extensible code. Many aspire to follow TDD practices however few know how to do so effectively. Join Joseph Yoder, founder of the Refactory and Rebecca Wirfs-Brock, inventor of Responsibility-Driven Design as you learn Pragmatic TDD. In this 3 day intensive course you’ll learn several natural rhythms of testing, design and programming, uncover how refactoring affects tests, and see how acceptance and system quality tests support and enhance core TDD practices.</p></blockquote>
<p class="alert">Limited space. <a href="http://test-driven-development-jy.eventbrite.com/" title="TDD Public Course" class="liexternal">Register for the Course Today!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://adaptiveobjectmodel.com/2011/09/sign-up-for-pragmatic-tdd-public-course/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An AOM Dissertation</title>
		<link>http://adaptiveobjectmodel.com/2011/06/an-aom-dissertation/</link>
		<comments>http://adaptiveobjectmodel.com/2011/06/an-aom-dissertation/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 19:59:08 +0000</pubDate>
		<dc:creator>Joseph Yoder</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://adaptiveobjectmodel.com/?p=219</guid>
		<description><![CDATA[Hugo Ferreira is a fellow AOM enthusiast. He and I have collaborated throughout the years, so when he asked me to write a forward for his thesis I did so with honor. I recently traveled to Portugal to sit on the jury of Hugo&#8217;s dissertation defense. The experience was a great one and I thought [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Hugo Ferreira is a fellow AOM enthusiast. He and I have collaborated throughout the years, so when he asked me to write a forward for his thesis I did so with honor. I recently traveled to Portugal to sit on the jury of Hugo&#8217;s dissertation defense. The experience was a great one and I thought I would share the forward I wrote for his dissertation. He defended his dissertation elegantly and passed with distinction. </p>
<h2>Hugo Ferreira&#8217;s Dissertation Forward</h2>
<blockquote><p>Over the last decade it has become extremely important for systems to be able to more quickly adapt to changing business requirements.  Because of this there has been an evolution of the way we develop and think about building systems.  For example, Agile processes have evolved as a means to try to build systems more quickly. But when working on Agile projects, developers can become overwhelmed with the rate of requirements change.  The ease with which requirements can change encourages users to overwhelm us with requests for features. The result: Featuritis, which can promotes hasty construction of poorly designed software to support those features. The design of an expressive domain model might get lost in the rush to write working code.  Adaptive Object-Models (AOMs) support changeable domain modules by casting business rules as interpreted data and representing objects, properties and relationships in external declarations. At first glance, AOM systems seem to contradict Agile values. Yet we find that under the right conditions, an AOM architecture has made our users happier and has given them the ability to control the pace of change. It can be the ultimate in agility!</p>
<p>This thesis entitled &#8220;Adaptive Object-Modeling: Patterns, Tools, and Applications&#8221; by Hugo José Sereno Lopes Ferreira has taken the next step in state of art research on best practices on building these types of dynamic systems.  This work illustrates the necessity of software to adapt and change at sometimes rapid speeds. Hugo’s addition of seven key patterns brings together years of study and produce formalized patterns as an important contribution to the AOM community. The thesis also brings real world problems to light and centers much of the discussion on the inherent flaws of much of today&#8217;s software design practices. </p>
<p>The work reveals much about the current state of Adaptive Object Model practices in industry. I found the thesis to be a quality entry into the current AOM research and very enlightening for in the software community building these types of architectures. The review of AOM architectural style, the patterns catalogue, the outline of the reference architecture for AOMs along with an example implementation makes the work very relevant and informative, as well as a pleasure to read.  Additionally the case studies highlight the common issues and problems addressed by AOMs along with proving AOMs exist as a common solution for these types of systems. </p>
<p>I look forward to future collaboration with Hugo on this topic area and it my pleasure to strongly recommend this work to architects and developers that are building these types of dynamic architectures.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://adaptiveobjectmodel.com/2011/06/an-aom-dissertation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SATURN 2011 Plenary Talk</title>
		<link>http://adaptiveobjectmodel.com/2011/05/saturn-2011-plenary-talk/</link>
		<comments>http://adaptiveobjectmodel.com/2011/05/saturn-2011-plenary-talk/#comments</comments>
		<pubDate>Thu, 26 May 2011 19:40:17 +0000</pubDate>
		<dc:creator>Joseph Yoder</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://adaptiveobjectmodel.com/?p=214</guid>
		<description><![CDATA[I recently traveled to the SATURN 2011 conference in San Francisco. The Software Engineering Institute hosted the conference. Rebecca gave a talk entitled &#8220;Agile Adoption, Does It Have To Be All in Or Fold?&#8221; In her SATURN 2011 IEEE Software plenary talk, Rebecca Wirfs-Brock presented case studies of experience reports from the Agile Conference to illustrate [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://adaptiveobjectmodel.com/wp-content/uploads/2011/05/saturn.jpg" class="liimagelink"><img class="alignright size-full wp-image-216" title="saturn" src="http://adaptiveobjectmodel.com/wp-content/uploads/2011/05/saturn.jpg" alt="" width="250" height="145" /></a>I recently traveled to the <a href="http://www.sei.cmu.edu/saturn/2011/" class="liexternal">SATURN 2011 conference</a> in San Francisco. The Software Engineering Institute hosted the conference. Rebecca gave a talk entitled &#8220;<a href="https://saturnnetwork.wordpress.com/2011/05/19/saturn-2011-rebecca-wirfs-brock-agile-adoption-does-it-have-to-be-all-in-or-fold/" class="liexternal">Agile Adoption, Does It Have To Be All in Or Fold?</a>&#8221;</p>
<blockquote><p>In her SATURN 2011 <em>IEEE Software</em> plenary talk, Rebecca Wirfs-Brock presented case studies of experience reports from the Agile Conference to illustrate various ways in which people perceive what it means to be Agile.</p></blockquote>
<p>I also gave a Plenary talk entitled, &#8220;<a href="https://saturnnetwork.wordpress.com/2011/05/19/saturn-2011-keynote-joe-yoder-big-ball-of-mud-is-this-the-best-that-agile-can-do/" class="liexternal">Big Ball of Mud: Is This the Best that Agile Can Do?</a>&#8221;</p>
<blockquote><p>It’s a myth that Agile doesn’t support design–it’s ok to have good design. Good proven practices and patterns can help. Imitate or use proven quality techniques. You can escape from the spaghetti-code jungle. Have to commit to architecture. “SEI has done more for keeping mud out of our lives than Agile ever has.”</p>
<p>&nbsp;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://adaptiveobjectmodel.com/2011/05/saturn-2011-plenary-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Conferences and Adaptive Object Model Open Source Examples</title>
		<link>http://adaptiveobjectmodel.com/2010/11/more-conferences-and-adaptive-object-model-open-source-examples/</link>
		<comments>http://adaptiveobjectmodel.com/2010/11/more-conferences-and-adaptive-object-model-open-source-examples/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 21:09:12 +0000</pubDate>
		<dc:creator>Joseph Yoder</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://adaptiveobjectmodel.com/?p=195</guid>
		<description><![CDATA[I&#8217;ve recently returned from SPLASH 2010 and QCon 2010 held in San Francisco. Both conferences rewarded me with the opportunity to meet and greet plenty of AOM supporters. I was fortunate enough to host a tutorial named: Rulemakers and Toolmakers: Adaptive Object Models as Agile Division of Labor with Rebecca Wirfs-Brock. Adaptive Object Model Tutorial [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I&#8217;ve recently returned from SPLASH 2010 and QCon 2010 held in San Francisco. Both conferences rewarded me with the opportunity to meet and greet plenty of AOM supporters. I was fortunate enough to host a tutorial named: Rulemakers and Toolmakers: Adaptive Object Models as Agile Division of Labor with Rebecca Wirfs-Brock.</p>
<h2>Adaptive Object Model Tutorial Description</h2>
<p>The tutorial explores the AOM Architecture along with an Agile development process for developing them. At the outset, we encourage our clients to bombard us with feature requests. They rain down the ideas onto the development team, overwhelming them. It&#8217;s creates what we refer to as &#8220;featureitis&#8221;. In order to deal with featureitis, we develop a more adaptable system thus allowing the user to make controlled changes like which features they want to use and the evolution of the rules along with the products and services they need. The AOM architecture results in a very Adaptable system that can ultimately help the organization be very Agile.</p>
<h2>Open Source Adaptive Object Model Examples</h2>
<p>We plan to have some papers and open source implementations on AOMs updated on the site. We currently offer a few AOM examples, but will be expanding in the near future. If you have any AOM examples you have available online, we would be happy to link out to them.</p>
<p>We are very interested in the AOM examples you have implemented with your work. Further discussion in the comment section of this post.</p>
]]></content:encoded>
			<wfw:commentRss>http://adaptiveobjectmodel.com/2010/11/more-conferences-and-adaptive-object-model-open-source-examples/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome to Adaptive Object Model</title>
		<link>http://adaptiveobjectmodel.com/2010/01/welcome/</link>
		<comments>http://adaptiveobjectmodel.com/2010/01/welcome/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 18:56:17 +0000</pubDate>
		<dc:creator>Joseph Yoder</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://adaptiveobjectmodel.com/?p=106</guid>
		<description><![CDATA[Adaptive Object Models research and implementation has been a passion of mine for a long time, so it was only natural that I build the domain based on this interest. The AOM site has evolved through the years, to its current iteration. I&#8217;m excited to begin blogging about Adaptive Object Model development, research, and implementation. [...]]]></description>
			<content:encoded><![CDATA[<p></p><div id="attachment_148" class="wp-caption alignright" style="width: 183px">
	<a href="http://adaptiveobjectmodel.com/wp-content/uploads/2010/01/joe_brazil1.jpg" class="liimagelink"><img class="size-medium wp-image-148 " title="joe_brazil" src="http://adaptiveobjectmodel.com/wp-content/uploads/2010/01/joe_brazil1-262x300.jpg" alt="" width="183" height="210" /></a>
	<p class="wp-caption-text">Agile Joe</p>
</div>
<p>Adaptive Object Models research and implementation has been a passion of mine for a long time, so it was only natural that I build the domain based on this interest. The AOM site has evolved through the years, to its current iteration. I&#8217;m excited to begin blogging about Adaptive Object Model development, research, and implementation. I&#8217;ll be enlisting the help of many industry leaders in AOM development, design, and integration. You should be able to spot a few of the authors from my Meta-Friends page.</p>
<p>The AOM blog will be discussing all things related to the topic. This will include General news, AOM Applications, Patterns, Tutorials, and Events. We&#8217;ll add more topics as we continue.</p>
<p>I want to make this blog a community effort, so we&#8217;ll be introducing the ability for visitors to post their own thoughts and experiences with AOM related topics.</p>
<p>For now, you&#8217;ll have to grab our RSS feed to stay on top of the developments. Afterall, things may adapt and change.</p>
<p>Keep on Reflecting!</p>
]]></content:encoded>
			<wfw:commentRss>http://adaptiveobjectmodel.com/2010/01/welcome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

