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.
“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...
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
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.
“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...
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
That “see also” link appears to be written by someone whose knowledge of Agile is at best skimpy.
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.
Sounds like the concept of “agility” could be generalized richly indeed.