Re: [ba-ohs-talk] Software development -Big Ball of Mud
I assume most people on this list are familiar with the notion of
"software patterns", and if so, you have probably read that it goes
back to a notion by a (real, non-software) architect by the name of
Alexander, who worked on architectural patterns for buildings and
cities. (01)
What most people have not done -- and that particularly includes
those, apparently, who quote Alexander when writing about software
patterns -- is actually read what he had to say, which is very
profound in my opinion (I've been looking at houses, including my
own, differently ever since). (02)
Far from advocating centrally designed "top-down architectures" as we
tend to do in software, he would advocate for organic improvements,
and for livable structures who would adapt as the needs of the people
around the structure change. The parallel with software evolution (to
stay away from the derogatory and judgmental term "maintenance") is
fairly obvious, but not widely explored at all. (but then, few
architects build according to Alexander's rules either, which is
regrettable). (03)
At 9:25 -0700 2002/07/30, Jack Park wrote:
>Found this at http://www.memes.net:
>
>http://www.laputan.org/mud/
>
>The paper argues, I think, in favor of building evolvable
>structures. Requisite quote:
>
>"Large-lump development is based on the idea of replacement.
>Piecemeal Growth is based on the idea of repair. … Large-lump
>development is based on the fallacy that it is possible to build
>perfect buildings. Piecemeal growth is based on the healthier and
>more realistic view that mistakes are inevitable. … Unless money is
>available for repairing these mistakes, every building, once built,
>is condemned to be, to some extent unworkable. … Piecemeal growth is
>based on the assumption that adaptation between buildings and their
>users is necessarily a slow and continuous business which cannot,
>under any circumstances, be achieve in a single leap." (04)