<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Architects Must Write Code</title>
	<atom:link href="http://www.jrothman.com/blog/mpd/2006/04/architects-must-write-code.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.jrothman.com/blog/mpd/2006/04/architects-must-write-code.html</link>
	<description>Management, especially good management, is hard to do. This blog is for people who want to think about how they manage people, projects, and risk.</description>
	<lastBuildDate>Fri, 18 May 2012 15:02:36 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Dan Clamage</title>
		<link>http://www.jrothman.com/blog/mpd/2006/04/architects-must-write-code.html/comment-page-1#comment-362</link>
		<dc:creator>Dan Clamage</dc:creator>
		<pubDate>Wed, 24 May 2006 03:58:37 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8060#comment-362</guid>
		<description>I think Architects should have coded a great deal in the not too distant past. By the time they&#039;re trusted to be architects, they should have had a considerable amount of experience building software systems (preferably on a variety of platforms in multiple industries).
An architect may also be expected to mock up a prototype or otherwise provide a meaningful proof of concept. They should be expected to prove that their designs will scale, provide a desirable level of built-in housekeeping or auditing, perform well in a real-world setting, and be highly maintainable.
Furthermore, an architect *must never* use &quot;architect&quot; as a verb. It&#039;s a noun.</description>
		<content:encoded><![CDATA[<p>I think Architects should have coded a great deal in the not too distant past. By the time they&#8217;re trusted to be architects, they should have had a considerable amount of experience building software systems (preferably on a variety of platforms in multiple industries).<br />
An architect may also be expected to mock up a prototype or otherwise provide a meaningful proof of concept. They should be expected to prove that their designs will scale, provide a desirable level of built-in housekeeping or auditing, perform well in a real-world setting, and be highly maintainable.<br />
Furthermore, an architect *must never* use &#8220;architect&#8221; as a verb. It&#8217;s a noun.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://www.jrothman.com/blog/mpd/2006/04/architects-must-write-code.html/comment-page-1#comment-361</link>
		<dc:creator>John</dc:creator>
		<pubDate>Mon, 22 May 2006 23:27:44 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8060#comment-361</guid>
		<description>As a Senior Project Manager I think it depends on the project and what is gettig coded. I beleive that architects obvioulsy participate in the requirements and design process in order to mitigate the risk of not meeting all requirements. However, at this point in general they should not code for meeting the requirements of the project. They may review code as part of a review process and make suggestions for risk and maintenance purposes.
That said; architects may code for testing data or run programmers code when they are not readily available for two reasons. One, testing of the code should; one should not be offended when you get an extra hand for risk mitigation. It&#039;s prior to production and usually out of site of your customer. Two, there are times when a programmer is not available, for whatever reason, and timelines need to be kept. For whatever that reason be there was short sightedness on someone&#039;s part during budget and estimating. KEEP THE PROJECT ON SCHEDULE. Don&#039;t get your &quot;short&#039;s all balled up&quot; for getting and extra-hand when a programmer is not availble when there was already a commitment.</description>
		<content:encoded><![CDATA[<p>As a Senior Project Manager I think it depends on the project and what is gettig coded. I beleive that architects obvioulsy participate in the requirements and design process in order to mitigate the risk of not meeting all requirements. However, at this point in general they should not code for meeting the requirements of the project. They may review code as part of a review process and make suggestions for risk and maintenance purposes.<br />
That said; architects may code for testing data or run programmers code when they are not readily available for two reasons. One, testing of the code should; one should not be offended when you get an extra hand for risk mitigation. It&#8217;s prior to production and usually out of site of your customer. Two, there are times when a programmer is not available, for whatever reason, and timelines need to be kept. For whatever that reason be there was short sightedness on someone&#8217;s part during budget and estimating. KEEP THE PROJECT ON SCHEDULE. Don&#8217;t get your &#8220;short&#8217;s all balled up&#8221; for getting and extra-hand when a programmer is not availble when there was already a commitment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob Ferguson</title>
		<link>http://www.jrothman.com/blog/mpd/2006/04/architects-must-write-code.html/comment-page-1#comment-360</link>
		<dc:creator>Bob Ferguson</dc:creator>
		<pubDate>Mon, 22 May 2006 20:39:52 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8060#comment-360</guid>
		<description>I have no objection to &quot;architects must write code&quot; other than I thought you stopped short. I used to say, the architect must attend the first real implementation when I worked in the telecom space.
Basically, it&#039;s the &quot;build the right thing&quot; principle. You must see the product in use to know if you built the right thing. It doesn&#039;t matter if you &quot;build it right&quot; but you did not deliver the &quot;right thing&quot;.</description>
		<content:encoded><![CDATA[<p>I have no objection to &#8220;architects must write code&#8221; other than I thought you stopped short. I used to say, the architect must attend the first real implementation when I worked in the telecom space.<br />
Basically, it&#8217;s the &#8220;build the right thing&#8221; principle. You must see the product in use to know if you built the right thing. It doesn&#8217;t matter if you &#8220;build it right&#8221; but you did not deliver the &#8220;right thing&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fletch</title>
		<link>http://www.jrothman.com/blog/mpd/2006/04/architects-must-write-code.html/comment-page-1#comment-359</link>
		<dc:creator>fletch</dc:creator>
		<pubDate>Fri, 19 May 2006 21:57:01 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8060#comment-359</guid>
		<description>Architect versus Software Engineer
(when you confuse the roles you get arguements like this that are really about I code so I am smarter than you even though you are the &#039;architect&#039;)
The architect must understand a lot more than coding to have something that meets customer needs.  The architect must decide do we code it, buy or what?  If we code it what language makes sense? How many servers?  Network issues? Databases issues, Resourcing, etc.
Once the decision is made you need a lead developer better called software engineer who can code well but says we&#039;ll do mvc, use these classes, re-use this ,etc.  To have the same person be the Architect and Engineer probably doesn&#039;t make sense unless the company is so small you have to(doesn&#039;t work that well but you have to).
The Engineer likes to code, sweat algorithms and doesn&#039;t like to figure out the best technology agostically, decide what users want etc.  Well they like to tiddle with code and do it Right!
The architect is more big picture in that this business problem needs to be solved! and I understand the technology choices well enough to diagram it, convince the business and then make it happen.  They need to be part of project teams to refine, understand places they were wrong but they don&#039;t need to be writing &quot;hello world&quot; and believe me the Software Engineer who lives for code doesn&#039;t want them to.</description>
		<content:encoded><![CDATA[<p>Architect versus Software Engineer<br />
(when you confuse the roles you get arguements like this that are really about I code so I am smarter than you even though you are the &#8216;architect&#8217;)<br />
The architect must understand a lot more than coding to have something that meets customer needs.  The architect must decide do we code it, buy or what?  If we code it what language makes sense? How many servers?  Network issues? Databases issues, Resourcing, etc.<br />
Once the decision is made you need a lead developer better called software engineer who can code well but says we&#8217;ll do mvc, use these classes, re-use this ,etc.  To have the same person be the Architect and Engineer probably doesn&#8217;t make sense unless the company is so small you have to(doesn&#8217;t work that well but you have to).<br />
The Engineer likes to code, sweat algorithms and doesn&#8217;t like to figure out the best technology agostically, decide what users want etc.  Well they like to tiddle with code and do it Right!<br />
The architect is more big picture in that this business problem needs to be solved! and I understand the technology choices well enough to diagram it, convince the business and then make it happen.  They need to be part of project teams to refine, understand places they were wrong but they don&#8217;t need to be writing &#8220;hello world&#8221; and believe me the Software Engineer who lives for code doesn&#8217;t want them to.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob Keller</title>
		<link>http://www.jrothman.com/blog/mpd/2006/04/architects-must-write-code.html/comment-page-1#comment-358</link>
		<dc:creator>Bob Keller</dc:creator>
		<pubDate>Wed, 17 May 2006 21:58:06 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8060#comment-358</guid>
		<description>It seems we are continuing to ÂlegitimatizeÂ software development by borrowing from engineering nomenclature.  Now we have Âarchitects, engineers, builders, etc.Â.  If we follow that line of reasoning, no, architects should not code any more than I would expect to see a real architect hanging sheet rock, and installing wiring or plumbing in my house!  With 30 years experience in I.T., I can confidently say IÂve not found an ÂarchitectÂ who would want to code, let alone, who I would let code.  Conversely, a coder or developer who became an architect makes a lot of sense because they would have a more in-depth understanding of the logical processes required to meet design goals.  In our current environment, architects are configuring operating environments, networks or the physical entities in which and by which the applications will be created.  This logical and physical separation of tasks provides a secure environment for development and operations.</description>
		<content:encoded><![CDATA[<p>It seems we are continuing to ÂlegitimatizeÂ software development by borrowing from engineering nomenclature.  Now we have Âarchitects, engineers, builders, etc.Â.  If we follow that line of reasoning, no, architects should not code any more than I would expect to see a real architect hanging sheet rock, and installing wiring or plumbing in my house!  With 30 years experience in I.T., I can confidently say IÂve not found an ÂarchitectÂ who would want to code, let alone, who I would let code.  Conversely, a coder or developer who became an architect makes a lot of sense because they would have a more in-depth understanding of the logical processes required to meet design goals.  In our current environment, architects are configuring operating environments, networks or the physical entities in which and by which the applications will be created.  This logical and physical separation of tasks provides a secure environment for development and operations.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim</title>
		<link>http://www.jrothman.com/blog/mpd/2006/04/architects-must-write-code.html/comment-page-1#comment-357</link>
		<dc:creator>Jim</dc:creator>
		<pubDate>Wed, 17 May 2006 21:35:07 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8060#comment-357</guid>
		<description>It all depends, isn&#039;t it? If the architect is a good coder, without question, he/she would like to code. If the architect likes to code, and does not code well, he/she should just code prototype, at most. If an architect does not like coding, and is bad in coding, you can be sure that the final design will have lots of flaw, unless he/she has a good implementation team and has good working relationship.</description>
		<content:encoded><![CDATA[<p>It all depends, isn&#8217;t it? If the architect is a good coder, without question, he/she would like to code. If the architect likes to code, and does not code well, he/she should just code prototype, at most. If an architect does not like coding, and is bad in coding, you can be sure that the final design will have lots of flaw, unless he/she has a good implementation team and has good working relationship.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sshea</title>
		<link>http://www.jrothman.com/blog/mpd/2006/04/architects-must-write-code.html/comment-page-1#comment-356</link>
		<dc:creator>sshea</dc:creator>
		<pubDate>Wed, 17 May 2006 18:54:23 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8060#comment-356</guid>
		<description>I think the old adage applies here.  Some know theory inside and out, regardless of the discipline, but if you cannot execute, or understand the execution of the theory, what assistance can you offer?  So many times I have seen &quot;hands off&quot; technologists sink into the pit of old experience and up to date study, make recommendations that at execution time are not the best of solution, that I agree, the architect must to some degree, &quot;code&quot;</description>
		<content:encoded><![CDATA[<p>I think the old adage applies here.  Some know theory inside and out, regardless of the discipline, but if you cannot execute, or understand the execution of the theory, what assistance can you offer?  So many times I have seen &#8220;hands off&#8221; technologists sink into the pit of old experience and up to date study, make recommendations that at execution time are not the best of solution, that I agree, the architect must to some degree, &#8220;code&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fm</title>
		<link>http://www.jrothman.com/blog/mpd/2006/04/architects-must-write-code.html/comment-page-1#comment-355</link>
		<dc:creator>fm</dc:creator>
		<pubDate>Wed, 17 May 2006 17:05:50 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8060#comment-355</guid>
		<description>The coder is the architect. (The code is the design.) The compiler is the construction company.</description>
		<content:encoded><![CDATA[<p>The coder is the architect. (The code is the design.) The compiler is the construction company.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stewart Mayott</title>
		<link>http://www.jrothman.com/blog/mpd/2006/04/architects-must-write-code.html/comment-page-1#comment-354</link>
		<dc:creator>Stewart Mayott</dc:creator>
		<pubDate>Wed, 17 May 2006 10:21:47 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8060#comment-354</guid>
		<description>I think we are missing some critical elements of the design and development process all wrapped up in current circumstances:
I was a Senior engineer scientist for a major computer manufacturer.  I am not a project manager with PMP certification.  With 20 years experience in the industry.
1) &quot;Power Point&quot; architects.  This is not a definition of an architecture.  We need to go back to some basic level communication artifacts to communicate to developers what must really be implemented.  We seem to have lost some basic data flow techniques and capabilities to perform data flow and interface analysis.  I would question if this is not the root cause of failures on a &quot;throw it over the wall&quot; circumstances.
2) Most reasonable development lifecycles involve an iterative development cycle.  On each iteration you should learn new information, refine your deliverables and possibly impact your design.  It would seem reasonable to have the architects involved in this process.
3) Why do you have &quot;Architects&quot;?  They are extremely strong engineer folks who have shown knowledge of the big picture as well as the ability to implement.  The loss of this experience is detrimental.  Therefore, I personally believe two items in this area:
A) Architects should participate in the design and code reviews.  This keeps them in the loop of the design and the actual implementation while leveraging their past experiences for other engineers.
B) You move an individual to a strategic position to leverage future project activities.  &quot;Pave the way for the rest of the team&quot;.  They have proven track record you wish to leverage on the next project.  If they are focused on the tactical execution of the current project, then you have not &quot;initiated&quot; the next release for the development team. You need to apply knowledge and people in the best role for the business and in the end the team.
4) An overriding factor to my team, the architects (I have 3) must know the implementation but must also be looking to the future - next project, new technologies, next set of requirements on the product.  They must look to the future with a STRONG understanding of the product implementation.  In the past I had Architects (whom I did respect) but they had lost knowledge of the real implementation....they became less respected by the engineers.  This was not a beneficial situation and in the end, self-destructive.
Therefore, I think the summary is:
* the architectural artifacts must be such that it leads to clear project design (JUST Power Point is not the answer)
* the architects must understand and absorb the implementation but can not be distracted from solving my next large problem.
* the architects must be engaged/respected by the engineers and a member of the team.
It is not an easy problem and a fine line to walk.</description>
		<content:encoded><![CDATA[<p>I think we are missing some critical elements of the design and development process all wrapped up in current circumstances:<br />
I was a Senior engineer scientist for a major computer manufacturer.  I am not a project manager with PMP certification.  With 20 years experience in the industry.<br />
1) &#8220;Power Point&#8221; architects.  This is not a definition of an architecture.  We need to go back to some basic level communication artifacts to communicate to developers what must really be implemented.  We seem to have lost some basic data flow techniques and capabilities to perform data flow and interface analysis.  I would question if this is not the root cause of failures on a &#8220;throw it over the wall&#8221; circumstances.<br />
2) Most reasonable development lifecycles involve an iterative development cycle.  On each iteration you should learn new information, refine your deliverables and possibly impact your design.  It would seem reasonable to have the architects involved in this process.<br />
3) Why do you have &#8220;Architects&#8221;?  They are extremely strong engineer folks who have shown knowledge of the big picture as well as the ability to implement.  The loss of this experience is detrimental.  Therefore, I personally believe two items in this area:<br />
A) Architects should participate in the design and code reviews.  This keeps them in the loop of the design and the actual implementation while leveraging their past experiences for other engineers.<br />
B) You move an individual to a strategic position to leverage future project activities.  &#8220;Pave the way for the rest of the team&#8221;.  They have proven track record you wish to leverage on the next project.  If they are focused on the tactical execution of the current project, then you have not &#8220;initiated&#8221; the next release for the development team. You need to apply knowledge and people in the best role for the business and in the end the team.<br />
4) An overriding factor to my team, the architects (I have 3) must know the implementation but must also be looking to the future &#8211; next project, new technologies, next set of requirements on the product.  They must look to the future with a STRONG understanding of the product implementation.  In the past I had Architects (whom I did respect) but they had lost knowledge of the real implementation&#8230;.they became less respected by the engineers.  This was not a beneficial situation and in the end, self-destructive.<br />
Therefore, I think the summary is:<br />
* the architectural artifacts must be such that it leads to clear project design (JUST Power Point is not the answer)<br />
* the architects must understand and absorb the implementation but can not be distracted from solving my next large problem.<br />
* the architects must be engaged/respected by the engineers and a member of the team.<br />
It is not an easy problem and a fine line to walk.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Naveen Mankotia</title>
		<link>http://www.jrothman.com/blog/mpd/2006/04/architects-must-write-code.html/comment-page-1#comment-353</link>
		<dc:creator>Naveen Mankotia</dc:creator>
		<pubDate>Wed, 17 May 2006 09:11:13 +0000</pubDate>
		<guid isPermaLink="false">http://jrothman.com/blog/mpd/?p=8060#comment-353</guid>
		<description>If we talk in terms of management then planning and controlling go hand in hand. An architect is planning something, he has to get the feedback to ensure that what has been precieved, is implemented. It may not be necessary for an architect to code but he must have coded some time in past.</description>
		<content:encoded><![CDATA[<p>If we talk in terms of management then planning and controlling go hand in hand. An architect is planning something, he has to get the feedback to ensure that what has been precieved, is implemented. It may not be necessary for an architect to code but he must have coded some time in past.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

