<?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>ORTHOcoders &#187; Architecture</title>
	<atom:link href="http://orthocoders.com/tag/architecture/feed/" rel="self" type="application/rss+xml" />
	<link>http://orthocoders.com</link>
	<description>U can code it, we can help</description>
	<lastBuildDate>Fri, 13 Jan 2012 07:16:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Prairie Development Conference</title>
		<link>http://orthocoders.com/2010/05/03/prairie-development-conference/</link>
		<comments>http://orthocoders.com/2010/05/03/prairie-development-conference/#comments</comments>
		<pubDate>Tue, 04 May 2010 03:14:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[BDD]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Unit Testing]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Mocking]]></category>
		<category><![CDATA[SOLID]]></category>

		<guid isPermaLink="false">http://orthocoders.com/2010/05/03/prairie-development-conference/</guid>
		<description><![CDATA[On Jun 2nd and 3rd I’ll be speaking at the PrairieDevCon 2010 in Regina!!! You can read about it at http://www.prairiedevcon.com/. It would be two complete days of sessions with four tracks and many cool speakers!!!! I will do two presentations: Real World Behaviour Driven Development Behaviour Driven Development drives you process towards keeping the [...]]]></description>
			<content:encoded><![CDATA[<p>On Jun 2nd and 3rd I’ll be speaking at the <strong>PrairieDevCon</strong> 2010 in Regina!!!</p>
<p><a href="http://orthocoders.com/wp-content/uploads/2010/05/Prairie_Dev_Con_Presenter.gif"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Prairie_Dev_Con_Presenter" src="http://orthocoders.com/wp-content/uploads/2010/05/Prairie_Dev_Con_Presenter_thumb.gif" border="0" alt="Prairie_Dev_Con_Presenter" width="225" height="123" /></a></p>
<p>You can read about it at <a href="http://www.prairiedevcon.com/">http://www.prairiedevcon.com/</a>. It would be two complete days of sessions with four tracks and many cool speakers!!!!</p>
<p>I will do two presentations:</p>
<p><strong> </strong></p>
<h5>Real World Behaviour Driven Development</h5>
<p>Behaviour Driven Development drives you process towards keeping the focus on the stakeholder’s goals while discovering new features to achieve those goals.<br />
But&#8230; what does it mean in a .NET project to use BDD? What do I have to change? What tools are available? Can I use it for project with actual deadlines? How the quality will be improved?<br />
We are going to see a real world example from start to finish using BDD and TDD while answering all those questions. After the session you will have the foundation to apply BDD with confidence on any .NET project.<br />
<strong>Track:</strong> Developer Foundation<br />
<strong>Style:</strong> Dojo (Bring your laptop and code with me!)</p>
<h5>Test Driven Development Patterns for .NET Developers</h5>
<p>Test Driven Development is a methodology that will help us to discover our model while improving the quality of our software.<br />
We are going to see different patterns to help us deal with day to day problems like constructor initialization, exception testing, combinatorial tests, database testing, and many others.<br />
<strong>Track:</strong> Developer Foundation<br />
<strong>Style:</strong> Lecture</p>
<p>Hope to see you there!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://orthocoders.com/2010/05/03/prairie-development-conference/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The road to be an Architect</title>
		<link>http://orthocoders.com/2009/03/03/the-road-to-be-an-architect/</link>
		<comments>http://orthocoders.com/2009/03/03/the-road-to-be-an-architect/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 14:07:53 +0000</pubDate>
		<dc:creator>Amir Barylko</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Architecture]]></category>

		<guid isPermaLink="false">http://orthocoders.com/?p=21</guid>
		<description><![CDATA[After the TDD presentation someone asked me about what should he do in order to become a Software Architect. Here is what I think. First of all, I would say that you have to be sure that you would like to be an architect, and for that we have to agree on an architect definition. [...]]]></description>
			<content:encoded><![CDATA[<p>After the TDD presentation someone asked me about what should he do in order to become a Software Architect. Here is what I think.</p>
<p>First of all, I would say that you have to be sure that you would like to be an architect, and for that we have to agree on an architect definition.</p>
<p>An architecture in software development can be considered a collection of different components, each one with a particular role, and the interaction between them through interfaces.</p>
<p style="text-align: justify;">Therefore, an architect is responsible for defining the best architecture in order to solve the problem at hand. In order to do that the architect should have technical roots and technical acuity to grasp technical issues and collaborate with the team to solve them. The architect will have the global view of the system and would be responsible of identifying the major issues that have to be addressed to avoid failure.</p>
<p style="text-align: justify;">An architect has to be close the developers and able to answer questions and provide guidance to the rest of the team. He has to be fond of writing code and familiar with the technology the team is using. A good architect will be a combination of being a excellent technologist, strategist and politician.</p>
<p style="text-align: justify;">The difference between the team leader (or lead developer) and the architect is the scope and the responsibility. The architect has a broader scope that includes interaction between different components, security, response time, etc.</p>
<p style="text-align: justify;">Many times the architect role is considered a &#8220;promotion&#8221; or the next step in the hierarchy for a lead developer. But that may be a mistake because unfortunately not all the great developers or leads have the broad talents required to be an architect.</p>
<p>So, what should we do to achieve such a worthy goal?</p>
<p>Here is a (mixed) list of subjects to learn and practice (not exclusive, just a starting point):</p>
<ul>
<li>Different architectures: Which well known architectures are available?</li>
<li>Security: How to secure applications and systems, which options are available, benefits, etc.</li>
<li>Concurrency: How to run process in parallel? Implementation, Benefits, drawbacks&#8230;.</li>
<li>Communication and Services: Why be service oriented? What kind of services are available?</li>
<li>Testing: TDD, functional testing, how to write scripts to test web or desktop apps.</li>
<li>Storage: Which databases or alternative methods of storage are available?</li>
<li>Development methodologies: Which ones are available? Why should I use one instead of the other?</li>
<li>Agile planning and management: How does it work? What is the difference with classic management?</li>
<li>Source Control Management: SVN, CVS, GIT&#8230;</li>
<li>Continuous Integration: What? Why? When</li>
<li>Development platforms: Rails? J2EE? .NET? GWT?</li>
<li>Politics: How to be politically correct and identify managers and customer needs.</li>
<li>Communication: How to communicate with your team, managers and customers effectively.</li>
<li>Requirements: What should they look like? When is enough?</li>
</ul>
<p style="text-align: justify;">Sometimes, architects specialize in one technology or framework (i.e: Web Services Architect, .NET Architect, Testing Architect). I think is natural to have more experience in a particular technology than other but that doesn&#8217;t mean that you should ignore the rest. Not always the job you are working on will help you to develop or to grow towards being and architect. That, I&#8217;m afraid to say is up to each of us.</p>
<p style="text-align: justify;">As any software professional you have to research, read books, blogs and try to meet others with the same goals. Keep your information up to date, find tendencies, success stories, antipatterns (patterns to identify failure) and guidelines.</p>
<p>Here are some books I like (see the link for the full information) and think can be helpful:</p>
<ul>
<li> <a title="Patterns Enterprise Architecture" href="http://www.amazon.com/exec/obidos/ASIN/0321127420" target="_blank"><span id="btAsinTitle">Patterns of Enterprise Application Architecture</span></a></li>
<li><a title="Design Patterns" href="http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1236037168&amp;sr=1-1" target="_blank">Design Patterns</a></li>
<li><a title="Manage It!" href="http://www.amazon.com/Manage-Modern-Pragmatic-Project-Management/dp/0978739248/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1236037205&amp;sr=1-1" target="_blank">Manage It!</a></li>
<li><a title="Enterprise Integration Patterns" href="http://www.amazon.com/exec/obidos/ASIN/0321200683" target="_blank">Enterprise Integration Patterns</a></li>
<li><a title="Refactoring to patterns" href="http://www.amazon.com/exec/obidos/ASIN/0321213351" target="_blank">Refactoring to Patterns</a></li>
<li> <a title="Java concurrence in practice" href="http://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601/ref=sr_1_2?ie=UTF8&amp;s=books&amp;qid=1236037567&amp;sr=1-2" target="_blank"><span id="btAsinTitle">Java Concurrency in Practice</span></a></li>
<li> <a title="Enterprise Integration with Ruby and Rails" href="http://www.amazon.com/Enterprise-Recipes-Ruby-Rails-Schmidt/dp/1934356239/ref=sr_1_3?ie=UTF8&amp;s=books&amp;qid=1236037683&amp;sr=1-3" target="_blank"><span id="btAsinTitle">Enterprise Recipes with Ruby and Rails </span></a></li>
<li><a title="Software Architecture In Practice" href="http://www.amazon.com/Software-Architecture-Practice-Len-Bass/dp/0201199300" target="_blank">Software Architecture in Practice</a></li>
<li><a title="Documenting Software Architecture" href="http://www.amazon.com/Documenting-Software-Architectures-Beyond-Engineering/dp/0201703726/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1239671754&amp;sr=1-1" target="_blank">Documenting Software Architecture, Views and Beyond</a></li>
</ul>
<p>And here some blogs that I like:</p>
<ul>
<li><a title="ScottGu's Blog" href="http://weblogs.asp.net/Scottgu/" target="_blank">ScottGu&#8217;s </a></li>
<li><a title="Haacked" href="http://haacked.com/" target="_blank">Haacked</a></li>
<li><a title="James Gosling" href="http://blogs.sun.com/jag/" target="_blank">James Gosling: on the Java Road</a></li>
<li><a title="Oren Eini" href="http://ayende.com/" target="_blank">Ayende @ Rahien</a></li>
<li><a title="The Planetarium" href="http://blogs.sun.com/theplanetarium/" target="_blank">The Planetarium</a></li>
<li><a title="Stack Overflow" href="http://stackoverflow.com/" target="_blank">StackOverflow</a></li>
</ul>
<p style="text-align: justify;">There is no certified recipe, you will find all kind of architects with many strengths and weaknesses. As with any other role, try to find architects that inspire you, people that you respect that will help you to keep your spark alive. Follow them in their blogs, books and conferences. They would lead you to other great professionals for sure.</p>
<p style="text-align: justify;">Here are some of mine:</p>
<ul>
<li><a title="Martin Fowler" href="http://martinfowler.com/" target="_blank">Martin Fowler</a></li>
<li><a title="Bertrand Meyer" href="http://se.ethz.ch/~meyer/" target="_blank">Bertrand Meyer</a></li>
<li><a title="James Gosling" href="http://blogs.sun.com/jag/" target="_blank">James Gosling</a></li>
<li><a title="Scott Meyers" href="http://www.aristeia.com/" target="_self">Scott Meyers</a></li>
<li><a title="Kent Beck" href="http://www.threeriversinstitute.org/" target="_blank">Kent Beck</a></li>
<li><a title="Scott Gu's blog" href="http://weblogs.asp.net/scottgu/" target="_blank">Scott Guthrie</a></li>
</ul>
<p>As a closing remark, keep in mind that is very important to work supporting your team and whatever you do don&#8217;t become a &#8220;<a title="Seagull Architect" href="http://orthocoders.com/?p=14" target="_blank">Seagull architect</a>&#8220;.</p>
]]></content:encoded>
			<wfw:commentRss>http://orthocoders.com/2009/03/03/the-road-to-be-an-architect/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

