<?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: The buck stops with the programmer</title>
	<atom:link href="http://www.johndcook.com/blog/2009/03/19/the-buck-stops-with-the-programmer/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.johndcook.com/blog/2009/03/19/the-buck-stops-with-the-programmer/</link>
	<description>The blog of John D. Cook</description>
	<lastBuildDate>Sat, 11 Feb 2012 22:42:11 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Bob</title>
		<link>http://www.johndcook.com/blog/2009/03/19/the-buck-stops-with-the-programmer/comment-page-1/#comment-79682</link>
		<dc:creator>Bob</dc:creator>
		<pubDate>Thu, 05 May 2011 18:48:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=1815#comment-79682</guid>
		<description>You press &quot;#&quot; after the zip code so that you have an opportunity to cancel if you made an error on the fifth digit.</description>
		<content:encoded><![CDATA[<p>You press &#8220;#&#8221; after the zip code so that you have an opportunity to cancel if you made an error on the fifth digit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Mugan</title>
		<link>http://www.johndcook.com/blog/2009/03/19/the-buck-stops-with-the-programmer/comment-page-1/#comment-79646</link>
		<dc:creator>Jonathan Mugan</dc:creator>
		<pubDate>Thu, 05 May 2011 14:11:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=1815#comment-79646</guid>
		<description>I didn&#039;t know the title of analyst existed anymore.  That takes me back to my 7th grade introduction to computers class in the 1980&#039;s.  From what I&#039;ve seen, these days there are just developers and managers. But maybe that&#039;s part of the problem that Steve is pointing to, and maybe that&#039;s why so many decisions have to be made by the programmer.</description>
		<content:encoded><![CDATA[<p>I didn&#8217;t know the title of analyst existed anymore.  That takes me back to my 7th grade introduction to computers class in the 1980&#8217;s.  From what I&#8217;ve seen, these days there are just developers and managers. But maybe that&#8217;s part of the problem that Steve is pointing to, and maybe that&#8217;s why so many decisions have to be made by the programmer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric T</title>
		<link>http://www.johndcook.com/blog/2009/03/19/the-buck-stops-with-the-programmer/comment-page-1/#comment-79631</link>
		<dc:creator>Eric T</dc:creator>
		<pubDate>Thu, 05 May 2011 12:52:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=1815#comment-79631</guid>
		<description>Nice post.   The last paragraph sum it up nicely.

I would suggest you replace the he with a less specific gender.  Using the programmer or developer instead should make every gender happy.</description>
		<content:encoded><![CDATA[<p>Nice post.   The last paragraph sum it up nicely.</p>
<p>I would suggest you replace the he with a less specific gender.  Using the programmer or developer instead should make every gender happy.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The bipolar Internet &#8212; The Endeavour</title>
		<link>http://www.johndcook.com/blog/2009/03/19/the-buck-stops-with-the-programmer/comment-page-1/#comment-57613</link>
		<dc:creator>The bipolar Internet &#8212; The Endeavour</dc:creator>
		<pubDate>Tue, 28 Dec 2010 16:55:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=1815#comment-57613</guid>
		<description>[...] The buck stops with the programmer Underwhelmed with progress    ? X [...]</description>
		<content:encoded><![CDATA[<p>[...] The buck stops with the programmer Underwhelmed with progress    ? X [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ekzept</title>
		<link>http://www.johndcook.com/blog/2009/03/19/the-buck-stops-with-the-programmer/comment-page-1/#comment-16385</link>
		<dc:creator>ekzept</dc:creator>
		<pubDate>Thu, 23 Apr 2009 22:27:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=1815#comment-16385</guid>
		<description>Well, it doesn&#039;t just happen in software -- Think of the gaffes over the years which have been made by U.S. auto manufacturers, including one (Ford?) which had spark plugs scattered all over the engine block, including one on the underside, and the several problems of cabin design. 

One of the major features of Japanese makers, including Toyota, was that it was clear from being IN the passenger cabin that someone actually THOUGHT about what it would be like to USE the thing. 

My hunch in the U.S. automotive case was that portions of the vehicle were delegated to different teams who had different measures on them, including cost, and they relied upon some general interface specs to put the parts of vehicles together.  And probably the usability and operability portion of the design was skipped because, well, the waterfall diagram said that if they did it, they wouldn&#039;t finish on schedule.</description>
		<content:encoded><![CDATA[<p>Well, it doesn&#8217;t just happen in software &#8212; Think of the gaffes over the years which have been made by U.S. auto manufacturers, including one (Ford?) which had spark plugs scattered all over the engine block, including one on the underside, and the several problems of cabin design. </p>
<p>One of the major features of Japanese makers, including Toyota, was that it was clear from being IN the passenger cabin that someone actually THOUGHT about what it would be like to USE the thing. </p>
<p>My hunch in the U.S. automotive case was that portions of the vehicle were delegated to different teams who had different measures on them, including cost, and they relied upon some general interface specs to put the parts of vehicles together.  And probably the usability and operability portion of the design was skipped because, well, the waterfall diagram said that if they did it, they wouldn&#8217;t finish on schedule.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ole Laursen</title>
		<link>http://www.johndcook.com/blog/2009/03/19/the-buck-stops-with-the-programmer/comment-page-1/#comment-14993</link>
		<dc:creator>Ole Laursen</dc:creator>
		<pubDate>Thu, 26 Mar 2009 17:00:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=1815#comment-14993</guid>
		<description>True. I often wonder whether some of the bad interfaces I see everyday are a result of organisations that demotivate the responsibility of their developers (for instance by placing an analyst between them and the client :), or just lack of thought, i.e. everyone was so focused on something else that it just slipped.</description>
		<content:encoded><![CDATA[<p>True. I often wonder whether some of the bad interfaces I see everyday are a result of organisations that demotivate the responsibility of their developers (for instance by placing an analyst between them and the client <img src='http://www.johndcook.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , or just lack of thought, i.e. everyone was so focused on something else that it just slipped.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://www.johndcook.com/blog/2009/03/19/the-buck-stops-with-the-programmer/comment-page-1/#comment-14838</link>
		<dc:creator>John</dc:creator>
		<pubDate>Mon, 23 Mar 2009 19:39:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=1815#comment-14838</guid>
		<description>Corwin, I agree with both your points. 

1. I imagine most products with a good UI were developed by a rare programmer who does understand UIs. I doubt many had &quot;user experience experts&quot; who were not programmers but told the programmers what to do.

2. I&#039;m not arguing for exhaustive specifications but rather increased respect for programmers. I don&#039;t think enough people realize the business research and the decision making that goes into developing software.</description>
		<content:encoded><![CDATA[<p>Corwin, I agree with both your points. </p>
<p>1. I imagine most products with a good UI were developed by a rare programmer who does understand UIs. I doubt many had &#8220;user experience experts&#8221; who were not programmers but told the programmers what to do.</p>
<p>2. I&#8217;m not arguing for exhaustive specifications but rather increased respect for programmers. I don&#8217;t think enough people realize the business research and the decision making that goes into developing software.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Corwin</title>
		<link>http://www.johndcook.com/blog/2009/03/19/the-buck-stops-with-the-programmer/comment-page-1/#comment-14836</link>
		<dc:creator>Corwin</dc:creator>
		<pubDate>Mon, 23 Mar 2009 18:53:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=1815#comment-14836</guid>
		<description>A number of points:
1. In terms of user interfaces, most programmers are not well trained on writing UIs.  There is a lot of work involved in writing good interfaces where the computer only asks what it absolutely cannot figure out for itself and every possible &quot;bad&quot; kind of input is accounted for.  This kind of work is hard to do, blurs into QA, and takes a lot of time.  Also, much of it is invisible - the # sign you don&#039;t ask for, skipping the prompt to ask for which bank account, the system that doesn&#039;t crash when an impossible input is given.  Like QA since the results are often not visible and outside of many programmers core expertise this kind of interface refinement is often skimped on or skipped.  Also, companies have time or money deadlines so it is all too easy to ship rough UIs.

2. I&#039;m not a big fan of exhaustive business process specification for a number of reasons:
a. It is very hard to think of everything in advance.   Pieces get left out or code may have interactions with other parts of a system that are just not anticipated by the programmer.  Also, the particular way a feature is coded may have a huge impact on how it interacts with the rest of the system For this reason I think a simple spec followed by design or code reviews is more effective.
b. The truth is that programmers ignore complex specs.  If you put too much in there and don&#039;t break it down and educate them on why it is needed, huge parts of the spec will get ignored.  So you will get partly implemented specs or code that is out of sync with changing specs.  Here the literate programming approach has it right.  Make the code as clear as possible and have it reflect the spec so they don&#039;t get out of sync.</description>
		<content:encoded><![CDATA[<p>A number of points:<br />
1. In terms of user interfaces, most programmers are not well trained on writing UIs.  There is a lot of work involved in writing good interfaces where the computer only asks what it absolutely cannot figure out for itself and every possible &#8220;bad&#8221; kind of input is accounted for.  This kind of work is hard to do, blurs into QA, and takes a lot of time.  Also, much of it is invisible &#8211; the # sign you don&#8217;t ask for, skipping the prompt to ask for which bank account, the system that doesn&#8217;t crash when an impossible input is given.  Like QA since the results are often not visible and outside of many programmers core expertise this kind of interface refinement is often skimped on or skipped.  Also, companies have time or money deadlines so it is all too easy to ship rough UIs.</p>
<p>2. I&#8217;m not a big fan of exhaustive business process specification for a number of reasons:<br />
a. It is very hard to think of everything in advance.   Pieces get left out or code may have interactions with other parts of a system that are just not anticipated by the programmer.  Also, the particular way a feature is coded may have a huge impact on how it interacts with the rest of the system For this reason I think a simple spec followed by design or code reviews is more effective.<br />
b. The truth is that programmers ignore complex specs.  If you put too much in there and don&#8217;t break it down and educate them on why it is needed, huge parts of the spec will get ignored.  So you will get partly implemented specs or code that is out of sync with changing specs.  Here the literate programming approach has it right.  Make the code as clear as possible and have it reflect the spec so they don&#8217;t get out of sync.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://www.johndcook.com/blog/2009/03/19/the-buck-stops-with-the-programmer/comment-page-1/#comment-14719</link>
		<dc:creator>John</dc:creator>
		<pubDate>Fri, 20 Mar 2009 01:04:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=1815#comment-14719</guid>
		<description>Steve, I did s/analyst/client/ above per our discussion. Thanks for the feedback.</description>
		<content:encoded><![CDATA[<p>Steve, I did s/analyst/client/ above per our discussion. Thanks for the feedback.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Diamond</title>
		<link>http://www.johndcook.com/blog/2009/03/19/the-buck-stops-with-the-programmer/comment-page-1/#comment-14716</link>
		<dc:creator>Steve Diamond</dc:creator>
		<pubDate>Fri, 20 Mar 2009 00:20:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=1815#comment-14716</guid>
		<description>John, subsitute &quot;client&quot; and I agree absolutely. The trouble is that clients aren&#039;t trained in analysis, and no one ever told them that they ought to be hiring a programmer PLUS an analyst. They believe that they can communicate directly with the developer, and 9 times out of 10 the communication is woefully incomplete. The developer isn&#039;t trained in business-speak and the client isn&#039;t trained in creating specifications.

That&#039;s why I keep evangelizing for the analysts. My clients are savvy enough to know that they need someone like me in addition to a good developer. Sadly, many small and medium business owners and execs don&#039;t know it.</description>
		<content:encoded><![CDATA[<p>John, subsitute &#8220;client&#8221; and I agree absolutely. The trouble is that clients aren&#8217;t trained in analysis, and no one ever told them that they ought to be hiring a programmer PLUS an analyst. They believe that they can communicate directly with the developer, and 9 times out of 10 the communication is woefully incomplete. The developer isn&#8217;t trained in business-speak and the client isn&#8217;t trained in creating specifications.</p>
<p>That&#8217;s why I keep evangelizing for the analysts. My clients are savvy enough to know that they need someone like me in addition to a good developer. Sadly, many small and medium business owners and execs don&#8217;t know it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://www.johndcook.com/blog/2009/03/19/the-buck-stops-with-the-programmer/comment-page-1/#comment-14715</link>
		<dc:creator>John</dc:creator>
		<pubDate>Fri, 20 Mar 2009 00:03:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=1815#comment-14715</guid>
		<description>Maybe I&#039;m being unfair to business analysts. Take out &quot;business analyst&quot; and substitute &quot;client&quot; and this is a pattern I&#039;ve seen over and over.</description>
		<content:encoded><![CDATA[<p>Maybe I&#8217;m being unfair to business analysts. Take out &#8220;business analyst&#8221; and substitute &#8220;client&#8221; and this is a pattern I&#8217;ve seen over and over.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Diamond</title>
		<link>http://www.johndcook.com/blog/2009/03/19/the-buck-stops-with-the-programmer/comment-page-1/#comment-14714</link>
		<dc:creator>Steve Diamond</dc:creator>
		<pubDate>Thu, 19 Mar 2009 23:53:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=1815#comment-14714</guid>
		<description>&quot;After a few questions like that, the analyst will throw up their hands and leave it up to the developer.&quot;

Boy, I sure hope not! In the first place, any analyst worth his or her salt will already have specified, in exhaustive detail, what the system should do in the case of each conceivable exception. Second, an analyst who isn&#039;t willing to go back and do this kind of work when a gap is exposed isn&#039;t an analyst who ought to be working on any important application for any self-respecting company.

So while it&#039;s true that the buck stops with the programmer, I would emphasize the abysmal failure of the analyst(s) who wrote the specification in these cases.

And before I get off my soapbox, let me add that more often than not the analysts are the unsung heroes of successful automation projects and the unsuspected culprits of unsuccessful ones.

Your readers may be interested in a closely related blog series I&#039;ve recently started on &lt;a href=&quot;http://stevediamondconsulting.com/blog/how-business-automation-projects-fail-part-1.html&quot; title=&quot;How Business Automation Projects Fail&quot; rel=&quot;nofollow&quot;&gt;How Business Automation Projects Fail&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p>&#8220;After a few questions like that, the analyst will throw up their hands and leave it up to the developer.&#8221;</p>
<p>Boy, I sure hope not! In the first place, any analyst worth his or her salt will already have specified, in exhaustive detail, what the system should do in the case of each conceivable exception. Second, an analyst who isn&#8217;t willing to go back and do this kind of work when a gap is exposed isn&#8217;t an analyst who ought to be working on any important application for any self-respecting company.</p>
<p>So while it&#8217;s true that the buck stops with the programmer, I would emphasize the abysmal failure of the analyst(s) who wrote the specification in these cases.</p>
<p>And before I get off my soapbox, let me add that more often than not the analysts are the unsung heroes of successful automation projects and the unsuspected culprits of unsuccessful ones.</p>
<p>Your readers may be interested in a closely related blog series I&#8217;ve recently started on <a href="http://stevediamondconsulting.com/blog/how-business-automation-projects-fail-part-1.html" title="How Business Automation Projects Fail" rel="nofollow">How Business Automation Projects Fail</a>.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.417 seconds -->

