derefr comments on It's all in your head-land - Less Wrong

32 Post author: colinmarshall 22 July 2009 07:41PM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (67)

You are viewing a single comment's thread.

Comment author: derefr 23 July 2009 06:25:09AM 7 points [-]

In software development, this is known as being "Agile." Originally, software was designed mostly in head-land (a "Big Design Up Front"), but gradually a different process was pushed wherein a smaller, prototype design would first be constructed, then evaluated for its effects in real-land, and then improved upon, repeatedly. I find it interesting that unlike in the world of sports, where "one step at a time" can be almost universally agreed upon, software development is rife with controversy over whether "Agile software development methods" have any real advantages.

Comment author: Morendil 21 September 2009 05:24:14PM 2 points [-]

"Prototype" isn't an accurate description of what Agile practitioners do. (To save time in later discussion, note that big-A "Agile" refers to people who self-identify as users of Agile techniques; we could use small-a "agile" to refer to the desirable properties a project is supposed to acquire through use of Agile techniques.)

The term implies something that will be thrown away, whereas an Agile practitioner aims to build very rapidly a skeletal version that will be kept, improved (iteratively) and fleshed out (incrementally).

You're quite right about it being controversial.

What interest (if any) does this (LW) community have in applying rationality (epistemic and instrumental) to the process of developing software ?

There's a landmark paper by Parnas et al. on this topic, which starts off with "Most of us like to think of ourselves as rational professionals. However, to many observers, the usual process of designing software appears quite irrational..." The first three sections by themselves make for good reading on the distinction between epistemic and instrumental rationality.

I came across LW mostly by accident - I stumbled onto the series of articles about quantum physics, found myself glued to the screen until I got to the end, then read the primer on Bayes and its follow-up on EY's site before coming back to sample random sections of LW. I was vaguely aware of Bayes' theorem previously but the promise of improving my thinking got my attention.

Strategies for software development in general, and Agile in particular, are currently my main area of professional interest. Some of LW's readership apparently have some interest in developing software that thinks, and this would seem to entail getting real good at developing software in general... but I didn't find much discussion of that particular topic in my random sampling (and no "software" tag to point me to it if it exists). Hence my question above...

Comment author: thomblake 23 July 2009 04:30:10PM *  1 point [-]

I find it interesting that unlike in the world of sports, where "one step at a time" can be almost universally agreed upon, software development is rife with controversy over whether "Agile software development methods" have any real advantages.

Let's not forget that Agile refers to a particular software development methodology (or family thereof) and people can easily implement a lot of good features of Agile without actually following that methodology. See also

Comment author: Morendil 21 September 2009 04:35:47PM 0 points [-]

That "see also" link appears to be written by someone whose knowledge of Agile is at best skimpy.

Comment author: thomblake 22 September 2009 03:10:15PM 0 points [-]

Well it was written by someone at Yahoo! who used Agile and its variants for many years and is fairly respected in the web development community.

But you are entitled to your opinion.

Comment author: colinmarshall 23 July 2009 09:31:19PM 0 points [-]

Sounds like the concept of "agility" could be generalized richly indeed.