<?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; Management</title>
	<atom:link href="http://orthocoders.com/tag/management/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>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>
		<item>
		<title>Beware of PowerPoint Architects</title>
		<link>http://orthocoders.com/2009/02/11/beware-of-powerpoint-architect/</link>
		<comments>http://orthocoders.com/2009/02/11/beware-of-powerpoint-architect/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 16:48:29 +0000</pubDate>
		<dc:creator>Amir Barylko</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Architect]]></category>

		<guid isPermaLink="false">http://orthocoders.com/?p=14</guid>
		<description><![CDATA[I&#8217;m reading the book Manage It! and found this excerpt that talks about seagull architects. I hope you like it. I&#8217;ve worked on several projects where the architect was like a seagull. He swooped in, dumped a lot of poop in the form of PowerPoint pictures of the architecture, and left as soon as possible. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m reading the book <a title="Manage It!: Your guide to project management" href="http://www.amazon.com/Manage-Modern-Pragmatic-Project-Management/dp/0978739248" target="_blank">Manage It!</a> and found this excerpt that talks about <em><strong>seagull</strong> </em>architects. I hope you like it.</p>
<blockquote><p><em>I&#8217;ve worked on several projects where the architect was like a seagull. He swooped in, dumped a lot of poop in the form of PowerPoint pictures of the architecture, and left as soon as possible. He didn&#8217;t stick around for the hard part of the project: making the product work in this architecture or evolving the architecture so that the product could work by the time of release.2</em></p>
<p><em>But if your architect is overly fond of drawing programs and not fond of writing code and can&#8217;t really answer the developers&#8217; questions about how to make the parts fit into a coherent structure, you don&#8217;t have a real architect. Eliminate that person from your project, and build time into the project for assessing the architecture as you proceed. Add the lack of architecture as an explicit risk to your project so you can manage it.</em></p>
<p><em>Not every project requires an architect. If you have no architect, your sponsors should recognize that your team needs time to assess the architecture and see what patterns are emerging.</em></p>
<p><em>It&#8217;s possible to have an architect who acts as a consultant to the project. It is harder when you have a consultant-architect—Murphy&#8217;s Law implies that the architect will be busy on another higher-priority project when you need him or her most.</em></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://orthocoders.com/2009/02/11/beware-of-powerpoint-architect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

