<?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 for Armed and Dangerous</title>
	<atom:link href="http://esr.ibiblio.org/?feed=comments-rss2" rel="self" type="application/rss+xml" />
	<link>http://esr.ibiblio.org</link>
	<description>Sex, software, politics, and firearms. Life&#039;s simple pleasures...</description>
	<lastBuildDate>Tue, 21 May 2013 11:40:03 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>Comment on Natural rights and wrongs? by esr</title>
		<link>http://esr.ibiblio.org/?p=4878&#038;cpage=1#comment-402008</link>
		<dc:creator>esr</dc:creator>
		<pubDate>Tue, 21 May 2013 11:40:03 +0000</pubDate>
		<guid isPermaLink="false">http://esr.ibiblio.org/?p=4878#comment-402008</guid>
		<description>&gt;Err, you do know that the official name of ‘consequentialist’ truth is correspondance truth? 

That is incorrect. The two have different origins and meanings. &quot;Correspondence truth&quot; is associated with the Vienna logical-positivist school, while consequentialism derives from Anglo-Americamn analytical philosophy.  The latter refers to a theory of confirmation, the former to a definition that sounds like a definition of confirmation but has severe ungroundedness problems - which is the reason logical positivism is dead and now only of historical interest.</description>
		<content:encoded><![CDATA[<p>>Err, you do know that the official name of ‘consequentialist’ truth is correspondance truth? </p>
<p>That is incorrect. The two have different origins and meanings. &#8220;Correspondence truth&#8221; is associated with the Vienna logical-positivist school, while consequentialism derives from Anglo-Americamn analytical philosophy.  The latter refers to a theory of confirmation, the former to a definition that sounds like a definition of confirmation but has severe ungroundedness problems &#8211; which is the reason logical positivism is dead and now only of historical interest.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adobe in cloud-cuckoo land by winter</title>
		<link>http://esr.ibiblio.org/?p=4946&#038;cpage=1#comment-402005</link>
		<dc:creator>winter</dc:creator>
		<pubDate>Tue, 21 May 2013 10:17:50 +0000</pubDate>
		<guid isPermaLink="false">http://esr.ibiblio.org/?p=4946#comment-402005</guid>
		<description>@nigel
&quot;So yes, KSLOC is a terrible unit of measure with the only redeeming value being that it’s an objective measure as opposed to pretty much every other measure. As an objective measure you can compare your organization efficiency in terms of KSLOC per Function Point or Use Case Point or Pixie Fairy Dust Ratio.&quot;

SLOC is a figure related to &lt;em&gt;cost&lt;/em&gt;. It is not related to merit nor to productivity. 

Given the size of a project in SLOC, its final costs (including testing, debugging, and documentation) can be fairly well estimated, if necessary adapted by using some measure of &quot;hardness&quot;, e.g., OS kernel code versus webpage browser Javascript.

Just changing the design or implementation language changes both the SLOC and the cost, without affecting the functionality.</description>
		<content:encoded><![CDATA[<p>@nigel<br />
&#8220;So yes, KSLOC is a terrible unit of measure with the only redeeming value being that it’s an objective measure as opposed to pretty much every other measure. As an objective measure you can compare your organization efficiency in terms of KSLOC per Function Point or Use Case Point or Pixie Fairy Dust Ratio.&#8221;</p>
<p>SLOC is a figure related to <em>cost</em>. It is not related to merit nor to productivity. </p>
<p>Given the size of a project in SLOC, its final costs (including testing, debugging, and documentation) can be fairly well estimated, if necessary adapted by using some measure of &#8220;hardness&#8221;, e.g., OS kernel code versus webpage browser Javascript.</p>
<p>Just changing the design or implementation language changes both the SLOC and the cost, without affecting the functionality.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Natural rights and wrongs? by Alrenous</title>
		<link>http://esr.ibiblio.org/?p=4878&#038;cpage=1#comment-402004</link>
		<dc:creator>Alrenous</dc:creator>
		<pubDate>Tue, 21 May 2013 09:03:35 +0000</pubDate>
		<guid isPermaLink="false">http://esr.ibiblio.org/?p=4878#comment-402004</guid>
		<description>Err, you do know that the official name of &#039;consequentialist&#039; truth is correspondance truth? You just claimed that your own theory pops like a bubble.</description>
		<content:encoded><![CDATA[<p>Err, you do know that the official name of &#8216;consequentialist&#8217; truth is correspondance truth? You just claimed that your own theory pops like a bubble.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adobe in cloud-cuckoo land by JustSaying</title>
		<link>http://esr.ibiblio.org/?p=4946&#038;cpage=1#comment-402001</link>
		<dc:creator>JustSaying</dc:creator>
		<pubDate>Tue, 21 May 2013 07:05:14 +0000</pubDate>
		<guid isPermaLink="false">http://esr.ibiblio.org/?p=4946#comment-402001</guid>
		<description>@esr:
&lt;blockquote&gt;Many developers want to work to the standards of excellence manifested in good civil engineering, the kind where the artifacts last centuries with failures so rare that individual ones make the news.&lt;/blockquote&gt;

Agreed but I still think software development is engineering mixed with art, because it is impossible to design software such that it never needs to be refactored to account for the unexpected future needs. The art is to make good design decisions about expectations for the future given incomplete and inexact information. We can improve, e.g. my ideas about increased granularity of modularity, yet we won&#039;t be able to fully engineer the projections of the future needs over the intended lifespan as we can with civil engineering. Software models (encodes) real life processes, e.g. the development and refinement of a Space Shuttle, and real life is inherently dynamic.

I assert that the most general model that yields the most optimum theoretical fitness for general dynamic development, is simulated annealing (c.f. my &lt;a href=&#039;http://esr.ibiblio.org/?p=4934&amp;cpage=1#comment-401368&#039; rel=&quot;nofollow&quot;&gt;prior description&lt;/a&gt;), i.e. many granular independent actors and thus open source. The rigamortis of large top-down management &quot;software engineering&quot; can&#039;t come close.</description>
		<content:encoded><![CDATA[<p>@esr:</p>
<blockquote><p>Many developers want to work to the standards of excellence manifested in good civil engineering, the kind where the artifacts last centuries with failures so rare that individual ones make the news.</p></blockquote>
<p>Agreed but I still think software development is engineering mixed with art, because it is impossible to design software such that it never needs to be refactored to account for the unexpected future needs. The art is to make good design decisions about expectations for the future given incomplete and inexact information. We can improve, e.g. my ideas about increased granularity of modularity, yet we won&#8217;t be able to fully engineer the projections of the future needs over the intended lifespan as we can with civil engineering. Software models (encodes) real life processes, e.g. the development and refinement of a Space Shuttle, and real life is inherently dynamic.</p>
<p>I assert that the most general model that yields the most optimum theoretical fitness for general dynamic development, is simulated annealing (c.f. my <a href='http://esr.ibiblio.org/?p=4934&amp;cpage=1#comment-401368' rel="nofollow">prior description</a>), i.e. many granular independent actors and thus open source. The rigamortis of large top-down management &#8220;software engineering&#8221; can&#8217;t come close.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adobe in cloud-cuckoo land by Jon Brase</title>
		<link>http://esr.ibiblio.org/?p=4946&#038;cpage=1#comment-401999</link>
		<dc:creator>Jon Brase</dc:creator>
		<pubDate>Tue, 21 May 2013 06:30:13 +0000</pubDate>
		<guid isPermaLink="false">http://esr.ibiblio.org/?p=4946#comment-401999</guid>
		<description>@esr:

&gt;Interesting planet you live on. I wonder what color the sky is there?

&gt;Those of us who have lived outside the U.S. on planet Earth know how utterly ludicrous this claim is.

During the time I spent in Germany, the only noticeable difference in infrastructure quality was in public transportation, which was indeed orders of magnitude better there than here in Dallas. On the other hand, I think that had much more to do with population density than anything else. Plus, the time I spent in London on my way back from Germany left me with a very poor impression of the road infrastructure in the UK.</description>
		<content:encoded><![CDATA[<p>@esr:</p>
<p>&gt;Interesting planet you live on. I wonder what color the sky is there?</p>
<p>&gt;Those of us who have lived outside the U.S. on planet Earth know how utterly ludicrous this claim is.</p>
<p>During the time I spent in Germany, the only noticeable difference in infrastructure quality was in public transportation, which was indeed orders of magnitude better there than here in Dallas. On the other hand, I think that had much more to do with population density than anything else. Plus, the time I spent in London on my way back from Germany left me with a very poor impression of the road infrastructure in the UK.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adobe in cloud-cuckoo land by nigel</title>
		<link>http://esr.ibiblio.org/?p=4946&#038;cpage=1#comment-401998</link>
		<dc:creator>nigel</dc:creator>
		<pubDate>Tue, 21 May 2013 05:14:45 +0000</pubDate>
		<guid isPermaLink="false">http://esr.ibiblio.org/?p=4946#comment-401998</guid>
		<description>&lt;i&gt;Nigel, I play the “age” card because you continually show a naiveity that frankly would seem more at home on Slashdot than here.&lt;/i&gt;

Heh.  You mean like believing that bridges and roads are built on time and on budget?

Attempting to pull the I&#039;m older that you card on an old guy still seems really silly.

&lt;i&gt;Example is believing that endorsement by gatekeepers to be given more gatekeeping powers proves anything.

Any state can pass a law/regulation allowing licensing of any profession or subset of a profession. The PE&amp;LS Board in my locate consists (last I looked) of a part-time secretary and a part-time chair whose job is to send and receive forms and payments and conduct meetings of the appointed boards. They administer tests written by someone else and award licenses based on the tests and some checkoff items. That’s about all it proves – you passed some tests.

“Both IEEE and NCEES accept SwE as a sufficiently mature discipline to be accepted as “engineering”.”

See above. Does this really impress you?&lt;/i&gt;

I know where we were in the 80s and where we are today.  The IEEE SWEBOK is more mature and more nuanced than the SEI CMM was.  It is highly unlikely that we would have been able to convince NCEES that Software Engineering was engineering and not just coders putting on airs twenty years ago.  Part of that is politics but a larger part is the actual maturing of the discipline in the intervening decades.

I am not overly impressed by titles nor by certification but there&#039;s a point where a discipline emerges from being alchemy to an actual practice based on science or engineering.  I believe that we have reached that point and our peers seem to agree.  That&#039;s a positive development.

That there is art and craftsmanship involved in software is not an indication that there is also not reproducible rigor underlaying our profession.

&lt;i&gt;Again, show me how software consists of well developed solutions applied to well understood problems using well accepted methodologies.

Is Agile SwE? How about the other fad-of-the moment ways of attempting to manage the complexity?&lt;/i&gt;

Agile is included in the SWEBOK as one development methodology.  Is it a &quot;fad&quot;?  No more than any other development lifecycle model or practice.

Are agile concepts a fad in civil engineering or simply part of their body of knowledge?

http://www.infoq.com/news/2010/01/adaptive-reuse

&lt;i&gt;
“LOL. If you have more than 5 years on me I’d be surprised and I’m not sure that playing the age card in a software field is all that wise anyway.”

That’s comical. In all true engineering fields gray hair, experience and maturity are considered valuable and nearly indispensable. Wonder what is different?&lt;/i&gt;

That&#039;s a fair point but all the practicing software engineers I know gave gray hair.  /shrug

&lt;i&gt;“90% of the time SwE is a relatively unneeded specialty”

What percent was it of made-up statistics? 
&lt;/i&gt;

True again.  To rephrase, my position is simple:  Typically the projects that requires the rigor of full up SwE, like the signing by a PE are of larger size, higher complexity or criticality.  Most projects don&#039;t need this level of rigor to be successful any more than you need to draft complex blueprints and have a PE review it to make a shed or barn except when demanded by code.

My opinion is that a lot of what we build today are the equivalent of sheds in civil engineering.  There are houses which does require more rigor but that we, as a profession, typically do not currently apply and should.  But our equivalent to skyscrapers do apply the engineering rigor required by our discipline or they predictably and repeatably fail.

&lt;i&gt;So is it an engineering discipline or a relatively unneeded specialty? With real engineering disciplines the discipline is applied to all projects in the domain using things like the NEC that codify the discipline into a form that can be followed by an 18-year helper with a GED. Can software artistry approach that in any fashion?&lt;/i&gt;

While the definition of an engineering discipline does include codes and standards it more importantly requires a body of knowledge with methods based on the understanding of the underlying theory and science and those methods verified by empirical testing.  Our underlying basic science is that of logic and mathematics.  The SWEBOK and CMM before it codifies our higher level methods while things like basic algorithms, data structures, encapsulation, abstraction, etc codifies our lower level methods.  The success and failure of specific methods and practices within our BOK is documented by studies and the empirical results of CMMI Level 5 type of organizations with high levels of metrics collections and repeatability of work.

&lt;i&gt;
Now certain groups have some pretty amazing track records .I read such about the software team for the Apollo project. Quite an amazing story and they are not the only ones. But here’s the rub: such high performance software teams usually have to invent much of their methodology and practices on the spot. There is no rigorous and well established engineering discipline that can be applied in semi-turnkey fashion and be expected to work. The complexity most always defeats it.&lt;/i&gt;

I believe that you cannot apply any method in a semi-turnkey fashion in any engineering discipline and have it be reliably expected to work when any significant complexity is involved whether that is a large unique structure in civil engineering or a large software project in software engineering.  

Hence similar failure rates seen in studies.

In the case of SwE the knowledge areas (methodologies) for requirements analysis, configuration management, testing, etc are not invented by every high performance team from scratch but build on the existing body of knowledge.  That high performance teams often will expand our set of effective methodologies is part of an engineering discipline not an indication that it does not exist.

&lt;i&gt;“I’ve provided citations that show that Software Engineering as a discipline is no more prone to schedule and cost failure than a mature engineering discipline as Civil Engineering.’

You’ve done no such thing.&lt;/i&gt;

Really?  There wasn&#039;t a link to a study showing that civil engineering project have a poor on budget  success rates?  Are the numbers provided in that study not similar to the numbers shown for software projects which is the basis for the perception that 80% of software projects fail in terms of meeting schedule, budget or expectations?

&lt;i&gt;Really? Who exactly said that? Or are you reframing again, as seems to be your primary talent.&lt;/i&gt;

Heh.  Here you go:

&quot;Picture the Highway Department in your locale and their ability to build bridges. Generally they can build one bridge after another, sometimes in projects spanning multiple years, and deliver exactly what is expected and with solid control over timeline and budgets.&quot;

I get the impression you like to try to goad people into anger.  That seems far more slashdotish than providing links to contrary data.  Jessica believes I laugh too much but I believe if you don&#039;t laugh (or at least chuckle) you&#039;ll just get all pissed off over something some random person on the internet wrote to try to get under your skin.  That provides too much amusement for them and too much aggravation for you.</description>
		<content:encoded><![CDATA[<p><i>Nigel, I play the “age” card because you continually show a naiveity that frankly would seem more at home on Slashdot than here.</i></p>
<p>Heh.  You mean like believing that bridges and roads are built on time and on budget?</p>
<p>Attempting to pull the I&#8217;m older that you card on an old guy still seems really silly.</p>
<p><i>Example is believing that endorsement by gatekeepers to be given more gatekeeping powers proves anything.</p>
<p>Any state can pass a law/regulation allowing licensing of any profession or subset of a profession. The PE&amp;LS Board in my locate consists (last I looked) of a part-time secretary and a part-time chair whose job is to send and receive forms and payments and conduct meetings of the appointed boards. They administer tests written by someone else and award licenses based on the tests and some checkoff items. That’s about all it proves – you passed some tests.</p>
<p>“Both IEEE and NCEES accept SwE as a sufficiently mature discipline to be accepted as “engineering”.”</p>
<p>See above. Does this really impress you?</i></p>
<p>I know where we were in the 80s and where we are today.  The IEEE SWEBOK is more mature and more nuanced than the SEI CMM was.  It is highly unlikely that we would have been able to convince NCEES that Software Engineering was engineering and not just coders putting on airs twenty years ago.  Part of that is politics but a larger part is the actual maturing of the discipline in the intervening decades.</p>
<p>I am not overly impressed by titles nor by certification but there&#8217;s a point where a discipline emerges from being alchemy to an actual practice based on science or engineering.  I believe that we have reached that point and our peers seem to agree.  That&#8217;s a positive development.</p>
<p>That there is art and craftsmanship involved in software is not an indication that there is also not reproducible rigor underlaying our profession.</p>
<p><i>Again, show me how software consists of well developed solutions applied to well understood problems using well accepted methodologies.</p>
<p>Is Agile SwE? How about the other fad-of-the moment ways of attempting to manage the complexity?</i></p>
<p>Agile is included in the SWEBOK as one development methodology.  Is it a &#8220;fad&#8221;?  No more than any other development lifecycle model or practice.</p>
<p>Are agile concepts a fad in civil engineering or simply part of their body of knowledge?</p>
<p><a href="http://www.infoq.com/news/2010/01/adaptive-reuse" rel="nofollow">http://www.infoq.com/news/2010/01/adaptive-reuse</a></p>
<p><i><br />
“LOL. If you have more than 5 years on me I’d be surprised and I’m not sure that playing the age card in a software field is all that wise anyway.”</p>
<p>That’s comical. In all true engineering fields gray hair, experience and maturity are considered valuable and nearly indispensable. Wonder what is different?</i></p>
<p>That&#8217;s a fair point but all the practicing software engineers I know gave gray hair.  /shrug</p>
<p><i>“90% of the time SwE is a relatively unneeded specialty”</p>
<p>What percent was it of made-up statistics?<br />
</i></p>
<p>True again.  To rephrase, my position is simple:  Typically the projects that requires the rigor of full up SwE, like the signing by a PE are of larger size, higher complexity or criticality.  Most projects don&#8217;t need this level of rigor to be successful any more than you need to draft complex blueprints and have a PE review it to make a shed or barn except when demanded by code.</p>
<p>My opinion is that a lot of what we build today are the equivalent of sheds in civil engineering.  There are houses which does require more rigor but that we, as a profession, typically do not currently apply and should.  But our equivalent to skyscrapers do apply the engineering rigor required by our discipline or they predictably and repeatably fail.</p>
<p><i>So is it an engineering discipline or a relatively unneeded specialty? With real engineering disciplines the discipline is applied to all projects in the domain using things like the NEC that codify the discipline into a form that can be followed by an 18-year helper with a GED. Can software artistry approach that in any fashion?</i></p>
<p>While the definition of an engineering discipline does include codes and standards it more importantly requires a body of knowledge with methods based on the understanding of the underlying theory and science and those methods verified by empirical testing.  Our underlying basic science is that of logic and mathematics.  The SWEBOK and CMM before it codifies our higher level methods while things like basic algorithms, data structures, encapsulation, abstraction, etc codifies our lower level methods.  The success and failure of specific methods and practices within our BOK is documented by studies and the empirical results of CMMI Level 5 type of organizations with high levels of metrics collections and repeatability of work.</p>
<p><i><br />
Now certain groups have some pretty amazing track records .I read such about the software team for the Apollo project. Quite an amazing story and they are not the only ones. But here’s the rub: such high performance software teams usually have to invent much of their methodology and practices on the spot. There is no rigorous and well established engineering discipline that can be applied in semi-turnkey fashion and be expected to work. The complexity most always defeats it.</i></p>
<p>I believe that you cannot apply any method in a semi-turnkey fashion in any engineering discipline and have it be reliably expected to work when any significant complexity is involved whether that is a large unique structure in civil engineering or a large software project in software engineering.  </p>
<p>Hence similar failure rates seen in studies.</p>
<p>In the case of SwE the knowledge areas (methodologies) for requirements analysis, configuration management, testing, etc are not invented by every high performance team from scratch but build on the existing body of knowledge.  That high performance teams often will expand our set of effective methodologies is part of an engineering discipline not an indication that it does not exist.</p>
<p><i>“I’ve provided citations that show that Software Engineering as a discipline is no more prone to schedule and cost failure than a mature engineering discipline as Civil Engineering.’</p>
<p>You’ve done no such thing.</i></p>
<p>Really?  There wasn&#8217;t a link to a study showing that civil engineering project have a poor on budget  success rates?  Are the numbers provided in that study not similar to the numbers shown for software projects which is the basis for the perception that 80% of software projects fail in terms of meeting schedule, budget or expectations?</p>
<p><i>Really? Who exactly said that? Or are you reframing again, as seems to be your primary talent.</i></p>
<p>Heh.  Here you go:</p>
<p>&#8220;Picture the Highway Department in your locale and their ability to build bridges. Generally they can build one bridge after another, sometimes in projects spanning multiple years, and deliver exactly what is expected and with solid control over timeline and budgets.&#8221;</p>
<p>I get the impression you like to try to goad people into anger.  That seems far more slashdotish than providing links to contrary data.  Jessica believes I laugh too much but I believe if you don&#8217;t laugh (or at least chuckle) you&#8217;ll just get all pissed off over something some random person on the internet wrote to try to get under your skin.  That provides too much amusement for them and too much aggravation for you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adobe in cloud-cuckoo land by nigel</title>
		<link>http://esr.ibiblio.org/?p=4946&#038;cpage=1#comment-401996</link>
		<dc:creator>nigel</dc:creator>
		<pubDate>Tue, 21 May 2013 03:37:49 +0000</pubDate>
		<guid isPermaLink="false">http://esr.ibiblio.org/?p=4946#comment-401996</guid>
		<description>&lt;i&gt;Unless it is that old reliable number of LOC per person day, huh?&lt;/i&gt;

Yep.  As I said, as a metric it&#039;s the worst one except for all the others.  Very smart folks like Capers Jones would vehemently disagree with me regarding FP vs KSLOC as the best of the worst.

They might be right but my feeling is that with something that is likely to be wrong anyway that a simpler model you accept with larger error bars is better than a more complex model with more hidden assumptions that is more accurate in specific circumstances when done by very competent practitioners.

&lt;i&gt;
&gt; If you’d like to assert that software productivity is a useless thing to attempt to measure I mildly disagree.

I have never made such a claim. I have claimed that measuring useless measures is, well, useless.&lt;/i&gt;

It would be a better claim than a tautology based on a dubious premise.  Some folks do argue that software productivity is in fact not measurable in any useful sense.  While they have some good points, like I said I mildly disagree.

&lt;i&gt;
&gt; But to argue either of these and then steadfastly defend an arbitrary number like 100:1 is hilarious.

I’m so happy that this discussion is offering you so much mirth. It is so nice to be able to add a little to the happiness of the world, don’t you think?
&lt;/i&gt;

Yep.  Much better than getting pissed off about something as silly as software.

&lt;i&gt;
So let’s stop talking abstractly, let’s get specific. You have a project that requires a really complex GUI on a client side web app. You are given the choice: John Resig or 100 offshore Indian programmers with six years “out of school” experience working on a dozen miscellaneous ASP.NET apps. Who you going to choose? John charges you $1000 per hour, the Indians $25 per hour. Which is the best spend?

Ah, you might say, but these big projects usually consist of hundreds of forms and reports that are sufficiently simple that the Indian newbies can do them, so it doesn’t apply there.

So who would you rather have, some hotshot who can auto-generate the reports from whatever specifications the BAs come up with (perhaps providing them with a tool to do so) or 100 of these self same newbies, cranking out the reports in an ugly, line by line, individually hand coded fashion?
&lt;/i&gt;

LOL.  Lets get specific with a unrealistic scenario designed to elicit the outcome you desire?  Okay, sure.

I don&#039;t personally know John I suspect it would very hard for me to lure him from Khan where he&#039;s doing work that makes (IMHO) a huge real world difference in education even for $1000 an hour to work on ye olde boring corporate web app.  Well, okay, for $1000 an hour probably but I suspect that John would tell you he&#039;s not the best fit for this sort of thing because a) it&#039;s not interesting and b) UI design isn&#039;t necessarily his thing but rather doing really cool stuff in javascript which is related but not quite the same.  Like I said I dunno John but looking at his body of work that&#039;s the feel I get.

The &quot;real world&quot; answer, as opposed to an academic exercise, is neither as both would more than likely fail.  A &quot;really complex&quot; UI is extremely difficult to do well procedurally so you either end up with a UI that works and looks bad or you have a scenario where John lacks sufficient support to complete the task in the desired time to market at a sufficient level of UI quality even automating the production of some screens procedurally or via templates.

For a well crafted, complex UI many of the elements of that UI will be hand crafted by good designers and developers.

A UI that consists of a bunch of simple forms, even when there are a lot of them, isn&#039;t &quot;really complex&quot; but mind stupefyingly tedious for both developer and user.

Someone that suggests a procedurally generated UI for any complex interaction leaves me thinking that I wouldn&#039;t want to use their product because therein lies a programmer developed UI of property lists of attributes and a poorly laid out workflow (there an inside, self-deprecating joke here so I&#039;m not picking on you).

100 Indian developers with the wrong skill set isn&#039;t likely getting from here to there either.  Also, 100 indian developers for $25 per hour is $2500 per hour...

So the &quot;best spend&quot; in your contrived example is $1000 per hour of John&#039;s time + $1500 per hour worth of designer and other support for him.  From India if need be.  Indian asp.net developers if absolutely need be.  At which point John would be earning every penny of that $1000/hour fee...

&lt;i&gt;
These aren’t bullshit examples, that is what really happens in the development world. If your answer is in Mumbai, you don’t know what you are talking about.&lt;/i&gt;

This is a very bullshit example even ignoring your budgeting issue.  

The last time I had indian offshore developers we always had some very sharp developers at the beginning to sell us on the idea that XXX corporation had really sharp developers for really cheap $$$.  For example, the lead dev we had at the very start was really sharp.  As sharp as John Resig?  Maybe not but would rank as a top performer in most US software companies.  The first set of devs from this particular Tier 1 company were all reasonably good.

We were also never offered, nor would we have considered anything as bogus as 100 random junior devs with experience in the wrong technology for $25 per hour which at the time was (and still is even today) overpriced for a relatively junior offshore dev even in a Tier 1 city like Mumbai.  Plus the Tier 1 companies aren&#039;t going to offer 100 junior devs with the wrong skill set.  Well not up front anyway.  They&#039;ll try to rotate these folks in later but probably not so many that the probability of failure is 100%.  They do have a reputation to maintain. 

So it is doubly important to specify key staff in working with offshore developers because there, like here, contractors will bait and switch you and move their A team on to capture the next customer and try to stick you with their B and C teams.  It is also important to maintain significant oversight on the work produced AND include stiff penalties and the assumption of liabilities in the contract for IP violations (don&#039;t ask but that was a pricey lesson for someone to learn).

It requires good management and rigor but is workable if a bit risky.  Too much a hassle for my tastes but for the right company with the right needs and the right expectations it can work.  I would not say it is always the wrong answer like you do.

For a $2500/hour burn rate for web app UI development I&#039;d get some a core of very solid 3-4 HTML5 developers, a couple backend support developers, a manager and a couple designers at $150-$250/hr loaded backed by junior programmers, graphic artists, tech writers and testers for around $50-$100/hr loaded.  The exact mix, team size, number of teams, etc depends on a lot of details not provided.</description>
		<content:encoded><![CDATA[<p><i>Unless it is that old reliable number of LOC per person day, huh?</i></p>
<p>Yep.  As I said, as a metric it&#8217;s the worst one except for all the others.  Very smart folks like Capers Jones would vehemently disagree with me regarding FP vs KSLOC as the best of the worst.</p>
<p>They might be right but my feeling is that with something that is likely to be wrong anyway that a simpler model you accept with larger error bars is better than a more complex model with more hidden assumptions that is more accurate in specific circumstances when done by very competent practitioners.</p>
<p><i><br />
&gt; If you’d like to assert that software productivity is a useless thing to attempt to measure I mildly disagree.</p>
<p>I have never made such a claim. I have claimed that measuring useless measures is, well, useless.</i></p>
<p>It would be a better claim than a tautology based on a dubious premise.  Some folks do argue that software productivity is in fact not measurable in any useful sense.  While they have some good points, like I said I mildly disagree.</p>
<p><i><br />
&gt; But to argue either of these and then steadfastly defend an arbitrary number like 100:1 is hilarious.</p>
<p>I’m so happy that this discussion is offering you so much mirth. It is so nice to be able to add a little to the happiness of the world, don’t you think?<br />
</i></p>
<p>Yep.  Much better than getting pissed off about something as silly as software.</p>
<p><i><br />
So let’s stop talking abstractly, let’s get specific. You have a project that requires a really complex GUI on a client side web app. You are given the choice: John Resig or 100 offshore Indian programmers with six years “out of school” experience working on a dozen miscellaneous ASP.NET apps. Who you going to choose? John charges you $1000 per hour, the Indians $25 per hour. Which is the best spend?</p>
<p>Ah, you might say, but these big projects usually consist of hundreds of forms and reports that are sufficiently simple that the Indian newbies can do them, so it doesn’t apply there.</p>
<p>So who would you rather have, some hotshot who can auto-generate the reports from whatever specifications the BAs come up with (perhaps providing them with a tool to do so) or 100 of these self same newbies, cranking out the reports in an ugly, line by line, individually hand coded fashion?<br />
</i></p>
<p>LOL.  Lets get specific with a unrealistic scenario designed to elicit the outcome you desire?  Okay, sure.</p>
<p>I don&#8217;t personally know John I suspect it would very hard for me to lure him from Khan where he&#8217;s doing work that makes (IMHO) a huge real world difference in education even for $1000 an hour to work on ye olde boring corporate web app.  Well, okay, for $1000 an hour probably but I suspect that John would tell you he&#8217;s not the best fit for this sort of thing because a) it&#8217;s not interesting and b) UI design isn&#8217;t necessarily his thing but rather doing really cool stuff in javascript which is related but not quite the same.  Like I said I dunno John but looking at his body of work that&#8217;s the feel I get.</p>
<p>The &#8220;real world&#8221; answer, as opposed to an academic exercise, is neither as both would more than likely fail.  A &#8220;really complex&#8221; UI is extremely difficult to do well procedurally so you either end up with a UI that works and looks bad or you have a scenario where John lacks sufficient support to complete the task in the desired time to market at a sufficient level of UI quality even automating the production of some screens procedurally or via templates.</p>
<p>For a well crafted, complex UI many of the elements of that UI will be hand crafted by good designers and developers.</p>
<p>A UI that consists of a bunch of simple forms, even when there are a lot of them, isn&#8217;t &#8220;really complex&#8221; but mind stupefyingly tedious for both developer and user.</p>
<p>Someone that suggests a procedurally generated UI for any complex interaction leaves me thinking that I wouldn&#8217;t want to use their product because therein lies a programmer developed UI of property lists of attributes and a poorly laid out workflow (there an inside, self-deprecating joke here so I&#8217;m not picking on you).</p>
<p>100 Indian developers with the wrong skill set isn&#8217;t likely getting from here to there either.  Also, 100 indian developers for $25 per hour is $2500 per hour&#8230;</p>
<p>So the &#8220;best spend&#8221; in your contrived example is $1000 per hour of John&#8217;s time + $1500 per hour worth of designer and other support for him.  From India if need be.  Indian asp.net developers if absolutely need be.  At which point John would be earning every penny of that $1000/hour fee&#8230;</p>
<p><i><br />
These aren’t bullshit examples, that is what really happens in the development world. If your answer is in Mumbai, you don’t know what you are talking about.</i></p>
<p>This is a very bullshit example even ignoring your budgeting issue.  </p>
<p>The last time I had indian offshore developers we always had some very sharp developers at the beginning to sell us on the idea that XXX corporation had really sharp developers for really cheap $$$.  For example, the lead dev we had at the very start was really sharp.  As sharp as John Resig?  Maybe not but would rank as a top performer in most US software companies.  The first set of devs from this particular Tier 1 company were all reasonably good.</p>
<p>We were also never offered, nor would we have considered anything as bogus as 100 random junior devs with experience in the wrong technology for $25 per hour which at the time was (and still is even today) overpriced for a relatively junior offshore dev even in a Tier 1 city like Mumbai.  Plus the Tier 1 companies aren&#8217;t going to offer 100 junior devs with the wrong skill set.  Well not up front anyway.  They&#8217;ll try to rotate these folks in later but probably not so many that the probability of failure is 100%.  They do have a reputation to maintain. </p>
<p>So it is doubly important to specify key staff in working with offshore developers because there, like here, contractors will bait and switch you and move their A team on to capture the next customer and try to stick you with their B and C teams.  It is also important to maintain significant oversight on the work produced AND include stiff penalties and the assumption of liabilities in the contract for IP violations (don&#8217;t ask but that was a pricey lesson for someone to learn).</p>
<p>It requires good management and rigor but is workable if a bit risky.  Too much a hassle for my tastes but for the right company with the right needs and the right expectations it can work.  I would not say it is always the wrong answer like you do.</p>
<p>For a $2500/hour burn rate for web app UI development I&#8217;d get some a core of very solid 3-4 HTML5 developers, a couple backend support developers, a manager and a couple designers at $150-$250/hr loaded backed by junior programmers, graphic artists, tech writers and testers for around $50-$100/hr loaded.  The exact mix, team size, number of teams, etc depends on a lot of details not provided.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adobe in cloud-cuckoo land by Michael Hipp</title>
		<link>http://esr.ibiblio.org/?p=4946&#038;cpage=1#comment-401994</link>
		<dc:creator>Michael Hipp</dc:creator>
		<pubDate>Tue, 21 May 2013 02:32:47 +0000</pubDate>
		<guid isPermaLink="false">http://esr.ibiblio.org/?p=4946#comment-401994</guid>
		<description>@Nigel: ...for a discipline to be accepted for PE testing more than simply a PE licensing board must exist as you state.&quot;

Nigel, I play the &quot;age&quot; card because you continually show a naiveity that frankly would seem more at home on Slashdot than here.

Example is believing that endorsement by gatekeepers to be given more gatekeeping powers proves anything.

Any state can pass a law/regulation allowing licensing of any profession or subset of a profession. The PE&amp;LS Board in my locate consists (last I looked) of a part-time secretary and a part-time chair whose job is to send and receive forms and payments and conduct meetings of the appointed boards. They administer tests written by someone else and award licenses based on the tests and some checkoff items. That&#039;s about all it proves - you passed some tests.

&quot;Both IEEE and NCEES accept SwE as a sufficiently mature discipline to be accepted as “engineering”.&quot;

See above. Does this really impress you?

&quot;I would say that the burden of proof today lies on you to show how SwE is insufficiently mature to be considered such beyond handwaving that “everyone knows it’s not”.&quot;

Again, show me how software consists of well developed solutions applied to well understood problems using well accepted methodologies.

Is Agile SwE? How about the other fad-of-the moment ways of attempting to manage the complexity?

&quot;LOL. If you have more than 5 years on me I’d be surprised and I’m not sure that playing the age card in a software field is all that wise anyway.&quot;

That&#039;s comical. In all true engineering fields gray hair, experience and maturity are considered valuable and nearly indispensable. Wonder what is different?

&quot;most software professionals aren’t software engineers.&quot;

You&#039;re the one that equated the terms.

&quot;90% of the time SwE is a relatively unneeded specialty&quot;

What percent was it of made-up statistics? So is it an engineering discipline or a relatively unneeded specialty.? With real engineering disciplines the discipline is applied to all projects in the domain using things like the NEC that codify the discipline into a form that can be followed by an 18-year helper with a GED. Can software artistry approach that in any fashion?

&quot;... that no real engineering discipline exists.&quot;

I&#039;m still rooting for you to learn to read my expert reframing friend. Essentially every professional coder attempts to apply some discipline and best practices. But that&#039;s a long way from claiming that an entire field is a fully fleshed-out and performing engineering discipline.

Now certain groups have some pretty amazing track records .I read such about the software team for the Apollo project. Quite an amazing story and they are not the only ones. But here&#039;s the rub: such high performance software teams usually have to invent much of their methodology and practices on the spot. There is no rigorous and well established engineering discipline that can be applied in semi-turnkey fashion and be expected to work. The complexity most always defeats it.

&quot;I’ve provided citations that show that Software Engineering as a discipline is no more prone to schedule and cost failure than a mature engineering discipline as Civil Engineering.&#039;

You&#039;ve done no such thing.

&quot;Actually, I’m rather surprised that anyone believes that the average state department of transportation does anything on time or on budget…&quot;

Really? Who exactly said that? Or are you reframing again, as seems to be your primary talent.</description>
		<content:encoded><![CDATA[<p>@Nigel: &#8230;for a discipline to be accepted for PE testing more than simply a PE licensing board must exist as you state.&#8221;</p>
<p>Nigel, I play the &#8220;age&#8221; card because you continually show a naiveity that frankly would seem more at home on Slashdot than here.</p>
<p>Example is believing that endorsement by gatekeepers to be given more gatekeeping powers proves anything.</p>
<p>Any state can pass a law/regulation allowing licensing of any profession or subset of a profession. The PE&amp;LS Board in my locate consists (last I looked) of a part-time secretary and a part-time chair whose job is to send and receive forms and payments and conduct meetings of the appointed boards. They administer tests written by someone else and award licenses based on the tests and some checkoff items. That&#8217;s about all it proves &#8211; you passed some tests.</p>
<p>&#8220;Both IEEE and NCEES accept SwE as a sufficiently mature discipline to be accepted as “engineering”.&#8221;</p>
<p>See above. Does this really impress you?</p>
<p>&#8220;I would say that the burden of proof today lies on you to show how SwE is insufficiently mature to be considered such beyond handwaving that “everyone knows it’s not”.&#8221;</p>
<p>Again, show me how software consists of well developed solutions applied to well understood problems using well accepted methodologies.</p>
<p>Is Agile SwE? How about the other fad-of-the moment ways of attempting to manage the complexity?</p>
<p>&#8220;LOL. If you have more than 5 years on me I’d be surprised and I’m not sure that playing the age card in a software field is all that wise anyway.&#8221;</p>
<p>That&#8217;s comical. In all true engineering fields gray hair, experience and maturity are considered valuable and nearly indispensable. Wonder what is different?</p>
<p>&#8220;most software professionals aren’t software engineers.&#8221;</p>
<p>You&#8217;re the one that equated the terms.</p>
<p>&#8220;90% of the time SwE is a relatively unneeded specialty&#8221;</p>
<p>What percent was it of made-up statistics? So is it an engineering discipline or a relatively unneeded specialty.? With real engineering disciplines the discipline is applied to all projects in the domain using things like the NEC that codify the discipline into a form that can be followed by an 18-year helper with a GED. Can software artistry approach that in any fashion?</p>
<p>&#8220;&#8230; that no real engineering discipline exists.&#8221;</p>
<p>I&#8217;m still rooting for you to learn to read my expert reframing friend. Essentially every professional coder attempts to apply some discipline and best practices. But that&#8217;s a long way from claiming that an entire field is a fully fleshed-out and performing engineering discipline.</p>
<p>Now certain groups have some pretty amazing track records .I read such about the software team for the Apollo project. Quite an amazing story and they are not the only ones. But here&#8217;s the rub: such high performance software teams usually have to invent much of their methodology and practices on the spot. There is no rigorous and well established engineering discipline that can be applied in semi-turnkey fashion and be expected to work. The complexity most always defeats it.</p>
<p>&#8220;I’ve provided citations that show that Software Engineering as a discipline is no more prone to schedule and cost failure than a mature engineering discipline as Civil Engineering.&#8217;</p>
<p>You&#8217;ve done no such thing.</p>
<p>&#8220;Actually, I’m rather surprised that anyone believes that the average state department of transportation does anything on time or on budget…&#8221;</p>
<p>Really? Who exactly said that? Or are you reframing again, as seems to be your primary talent.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adobe in cloud-cuckoo land by Jessica Boxer</title>
		<link>http://esr.ibiblio.org/?p=4946&#038;cpage=1#comment-401993</link>
		<dc:creator>Jessica Boxer</dc:creator>
		<pubDate>Tue, 21 May 2013 02:13:18 +0000</pubDate>
		<guid isPermaLink="false">http://esr.ibiblio.org/?p=4946#comment-401993</guid>
		<description>@esr
&gt;GPSD has a Shuttle-avionics-like error rate because there was never any asshat project manager telling me to “just ship it” and demanding idiotic checklist features.

Just to be clear -- quality is a feature just like any other feature, and is just as subject to trade offs as other features. Many users have the preference that something that has all the features they need and is a little buggy, is better than something that isn&#039;t buggy but doesn&#039;t have all the features.

However, unlike most features, quality, up to a point, is free, in fact a negative cost. Because late bugs cost so much more to fix than early bugs, the effort to build quality in from the start (such as the aforementioned regression test suites) has a negative cost, because it reduces the combinatorial explosion of bugs that manifest late in the cycle when they cost a lot more to fix.

However, this is only up to a point. Once a certain level of quality is achieved, more quality starts to become more and more expensive, growing at a frightening rate. To get avionics level quality is insanely more expensive than Photoshop quality. It is for this reason that such critical devices tend to be highly isolated in nature, and then connected through to a lower quality control device.

To give an example (that I worked on for a while) the device that remotely injects insulin into a patient has software that is very simple, very isolated, and VERY high quality with many, many safeguards against error. The device that monitors and logs it, that lets you get advice on what to eat, or reads your blood sugar off a strip, is much more complex, and much lower quality.</description>
		<content:encoded><![CDATA[<p>@esr<br />
&gt;GPSD has a Shuttle-avionics-like error rate because there was never any asshat project manager telling me to “just ship it” and demanding idiotic checklist features.</p>
<p>Just to be clear &#8212; quality is a feature just like any other feature, and is just as subject to trade offs as other features. Many users have the preference that something that has all the features they need and is a little buggy, is better than something that isn&#8217;t buggy but doesn&#8217;t have all the features.</p>
<p>However, unlike most features, quality, up to a point, is free, in fact a negative cost. Because late bugs cost so much more to fix than early bugs, the effort to build quality in from the start (such as the aforementioned regression test suites) has a negative cost, because it reduces the combinatorial explosion of bugs that manifest late in the cycle when they cost a lot more to fix.</p>
<p>However, this is only up to a point. Once a certain level of quality is achieved, more quality starts to become more and more expensive, growing at a frightening rate. To get avionics level quality is insanely more expensive than Photoshop quality. It is for this reason that such critical devices tend to be highly isolated in nature, and then connected through to a lower quality control device.</p>
<p>To give an example (that I worked on for a while) the device that remotely injects insulin into a patient has software that is very simple, very isolated, and VERY high quality with many, many safeguards against error. The device that monitors and logs it, that lets you get advice on what to eat, or reads your blood sugar off a strip, is much more complex, and much lower quality.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adobe in cloud-cuckoo land by esr</title>
		<link>http://esr.ibiblio.org/?p=4946&#038;cpage=1#comment-401992</link>
		<dc:creator>esr</dc:creator>
		<pubDate>Tue, 21 May 2013 01:55:03 +0000</pubDate>
		<guid isPermaLink="false">http://esr.ibiblio.org/?p=4946#comment-401992</guid>
		<description>&gt;There are places where software is in fact engineering. The Space Shuttle, for instance; and avionics in general. But the practices that are driving that sort of development are not driving the development of large business applications, or Photoshop. Time-to-market and feature ticklists triumph over correctness and safety for the vast majority of business or productivity applications. 

This is one of the major reasons the open-source competition for them is, in general, more reliable and better.

GPSD has a Shuttle-avionics-like error rate because there was never any asshat project manager telling me to &quot;just ship it&quot; and demanding idiotic checklist features.  The time I&#039;d have wasted on those went into developing a &lt;em&gt;really good&lt;/em&gt; test suite instead - something proprietary shops never budget anywhere near enough for.

Many developers want to work to the standards of excellence manifested in good civil engineering, the kind where the artifacts last centuries with failures so rare that individual ones make the news. It is possible to do this in software, but the dysfunctional culture of proprietary development (which Jessica describes so vividly and accurately in some recent comments) won&#039;t let them do it.

For software engineering to become a mature engineering discipline, that culture must die and be replaced by open-source practice.</description>
		<content:encoded><![CDATA[<p>>There are places where software is in fact engineering. The Space Shuttle, for instance; and avionics in general. But the practices that are driving that sort of development are not driving the development of large business applications, or Photoshop. Time-to-market and feature ticklists triumph over correctness and safety for the vast majority of business or productivity applications. </p>
<p>This is one of the major reasons the open-source competition for them is, in general, more reliable and better.</p>
<p>GPSD has a Shuttle-avionics-like error rate because there was never any asshat project manager telling me to &#8220;just ship it&#8221; and demanding idiotic checklist features.  The time I&#8217;d have wasted on those went into developing a <em>really good</em> test suite instead &#8211; something proprietary shops never budget anywhere near enough for.</p>
<p>Many developers want to work to the standards of excellence manifested in good civil engineering, the kind where the artifacts last centuries with failures so rare that individual ones make the news. It is possible to do this in software, but the dysfunctional culture of proprietary development (which Jessica describes so vividly and accurately in some recent comments) won&#8217;t let them do it.</p>
<p>For software engineering to become a mature engineering discipline, that culture must die and be replaced by open-source practice.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
