Loading ...
Sorry, an error occurred while loading the content.

Comparing Architectures

Expand Messages
  • Victor
    When the Gang of Four wrote their book Design Patterns, they were heavily influenced by the architecture of buildings. Since then, the name stuck and now
    Message 1 of 7 , Sep 1, 2005
    • 0 Attachment
      When the Gang of Four wrote their book Design Patterns, they were heavily
      influenced by the architecture of buildings. Since then, the name stuck and
      now people talk about software architecture and software architects.

      Of course, careful people are clear in delineating the differences, like
      software developers don't need to move walls when there is a change in
      design. Once I was making a presentation about XP and an experienced and
      bright developer asked me: "Architects and all kind of engineers can do
      great upfront design, why is that software developers can't?"

      This is a typical question, and there are all kinds of answers that were
      described in many books. I don't want to be repetitive (even though I may
      end being so :-) . What I want to tell here is about a personal
      observation. I started looking at buildings of all kinds, some architected,
      some designed by civil engineers, some probably not designed at all.

      The pattern I saw emerging is that there is no perfect building. I always
      found something that could have been improved. This is not the result of a
      comprehensive study, but rather the cumulative impression of my personal
      experiences. So, somebody may come and tell about a perfectly designed
      building (define perfect). This would be an exception, rather than the
      rule. My comment is intended more to describe the state of the trade,
      rather than to point to uniquely exemplary buildings.

      My conclusion after finding so many buildings that could benefit from
      some/much improvement is that software development, when practiced by
      competent professionals using an agile methodology, has the potential of
      producing much more satisfying results in terms of functionality and
      maintainability than what can be expected from traditional architects and
      civil engineers. The root of the different expectation being the difference
      between BDUF and Agile development, especially if Agile refers to XP.

      Reversing the inspirational flow of ideas, there is a tendency to build
      large spaces with mobile walls, which makes the architecture more flexible.
      It would be nice if building designers would also make more widely available
      considerations of esthetics, livability, and comfort. :-)

      Victor
    • Steve Berczuk
      ... I can think of a few of answers to this ;) 1. People tend to know more about what they need from living and working spaces than they know about software.
      Message 2 of 7 , Sep 1, 2005
      • 0 Attachment
        On 9/1/05, Victor <vmgoldberg@...> wrote:
        > When the Gang of Four wrote their book Design Patterns, they were heavily
        > influenced by the architecture of buildings. Since then, the name stuck and
        > now people talk about software architecture and software architects.
        >
        > Of course, careful people are clear in delineating the differences, like
        > software developers don't need to move walls when there is a change in
        > design. Once I was making a presentation about XP and an experienced and
        > bright developer asked me: "Architects and all kind of engineers can do
        > great upfront design, why is that software developers can't?"

        I can think of a few of answers to this ;)
        1. People tend to know more about what they need from living and
        working spaces than they know about software.
        2. People expect less from buildings than they do from software.
        3. (as you say in your original message) There often really isn't a
        whole lot of great up-front design in buildings.

        There are also more constraints in the physical world than the software world...
        I'm working with an architect now to do an addition to my house...
        He's very good at talking what we tell him, translating the
        "requirements" into "needs" and then sketching out ideas. We're going
        to be interating a lot on design possibilities... In an ideal world
        we'd want to live with "First Floor Scheme A" for a while, then maybe
        move a room around when we realize that the laundry room would work
        better if it were 3 feet wider (and we don't really need the adjacent
        closet anyway(*). But we can't do that, so we're going to iterate at
        the design phase. And they will be small changes during construction
        as we discover issues with the foundation, existing structures, etc...

        But in software we can actually show things to people as we go, and
        change them, so why not do that...

        I suspect that "good" up front design is VERY rare in most all types
        of projects... it is just a necessary evil in projects that involves
        bricks, steel, etc...

        Steve


        (*) anyone who lives in a house built before 1900 realizes that adding
        /any/ closets is a good thing, and that this is very hypothetical! ;)

        --
        Steve Berczuk | steve@... | http://www.berczuk.com
        SCM Patterns: Effective Teamwork, Practical Integration
        www.scmpatterns.com
      • yahoogroups@jhrothjr.com
        From: Victor To: extremeprogramming@yahoogroups.com
        Message 3 of 7 , Sep 1, 2005
        • 0 Attachment
          From: "Victor" <vmgoldberg.at.verizon.net@...>
          To: "extremeprogramming@yahoogroups.com"
          <extremeprogramming.at.yahoogroups.com@...>
          Sent: Thursday, September 01, 2005 9:32 AM
          Subject: [XP] Comparing Architectures


          > When the Gang of Four wrote their book Design Patterns, they were heavily
          > influenced by the architecture of buildings. Since then, the name stuck
          > and
          > now people talk about software architecture and software architects.

          I believe that the term "software architect" was in use long before
          the GOF book.

          > Of course, careful people are clear in delineating the differences, like
          > software developers don't need to move walls when there is a change in
          > design. Once I was making a presentation about XP and an experienced and
          > bright developer asked me: "Architects and all kind of engineers can do
          > great upfront design, why is that software developers can't?"

          The best answer is that they can't do it any better than we do. The
          illusion that they can is fostered by a lack of knowledge of exactly
          what it is that these people do.

          An architect in the building trades is the same as a UI
          or useability designer in software development; the actual
          work of designing the building, in the sense of structural
          steel, plumbing, wireing and so forth is done by a structural
          engineer. And the details of how to assemble the building is
          usually done by the general contractor.

          Disaster buildings are not unheard of. The State of Illiniois
          building in Chicago has (or had) notorious livability problems, and
          there was one in Boston where _all_ the windows blew out.
          "Sick building Syndrome" didn't get it's name because it's
          unheard of. It's all too common.

          Challenge the delusion head on.

          [excellent observations snipped]


          > Victor
        • Keith Ray
          See Brand s book How Buildings Learn.
          Message 4 of 7 , Sep 1, 2005
          • 0 Attachment
            See Brand's book "How Buildings Learn."



            On Sep 1, 2005, at 8:32 AM, Victor wrote:

            > Reversing the inspirational flow of ideas, there is a tendency to
            > build
            > large spaces with mobile walls, which makes the architecture more
            > flexible.
            > It would be nice if building designers would also make more widely
            > available
            > considerations of esthetics, livability, and comfort. :-)
            >
          • William Pietri
            ... As Keith Ray says, How Buildings Learn is a fantastic book that demolishes a lot of myths about buildings and how they get built. I found it very
            Message 5 of 7 , Sep 1, 2005
            • 0 Attachment
              Victor wrote:

              >Once I was making a presentation about XP and an experienced and
              >bright developer asked me: "Architects and all kind of engineers can do
              >great upfront design, why is that software developers can't?"
              >
              >

              As Keith Ray says, "How Buildings Learn" is a fantastic book that
              demolishes a lot of myths about buildings and how they get built. I
              found it very inspiring.

              Another way to answer these people is to point out that architects only
              do half the job. Nobody wants just a house; they want a place to live.
              We're accustomed to doing a lot of the rest of the work by painting,
              adding furniture, putting in lamps and phones, and maybe remodeling the
              kitchen.

              >My conclusion after finding so many buildings that could benefit from
              >some/much improvement is that software development, when practiced by
              >competent professionals using an agile methodology, has the potential of
              >producing much more satisfying results in terms of functionality and
              >maintainability than what can be expected from traditional architects and
              >civil engineers.
              >

              That's an excellent point.

              I think high tech, between its potential and the history of rapid
              improvements, leads people to expect a lot more than they do with
              traditional materials. People accept that with traditional houses you
              can't just move the doorway six inches to the left, and that cars
              neither fly nor go underwater. But most non-technical people don't have
              a similarly clear model of the current limitations of software and hardware.

              I was just talking with somebody yesterday who thought it perfectly
              reasonable that if her Wifi-equipped laptop gets her internet service
              anywhere on campus, it should work anywhere off campus, too. And she's
              right; in ten years, that's probably how it will work.

              But you're right; rather than getting people to lower their
              expectations, we might as well take our agile methods and see how well
              we can keep up. Maybe if we stir things up enough, somebody will get
              inspired to solve whatever problems are keeping me from getting my jet pack.

              William
            • Jeff Langr
              Richard Gabriel s book Patterns of Software also has some interesting thoughts. For example, referring to the New England farmhouse: The result is rambling,
              Message 6 of 7 , Sep 1, 2005
              • 0 Attachment
                Richard Gabriel's book Patterns of Software also has some interesting
                thoughts.
                For example, referring to the New England farmhouse:

                "The result is rambling, but each part is well-suited to its needs, each part
                fits well with the othersÂ…The inhabitants are able to modify their environment
                because each part is built according to the familiar patterns of design, use
                and construction and because those patterns contain the seeds for piecemeal
                growth."

                Jeff
                author, Agile Java: Crafting Code With Test-Driven Development

                Quoting Keith Ray <keithray@...>:

                > See Brand's book "How Buildings Learn."
                >
                > On Sep 1, 2005, at 8:32 AM, Victor wrote:
                >> Reversing the inspirational flow of ideas, there is a tendency to build
                >> large spaces with mobile walls, which makes the architecture more flexible.
                >> It would be nice if building designers would also make more widely available
                >> considerations of esthetics, livability, and comfort. :-)
              • Fehskens, Len
                ... If you re thinking of the Hancock Tower, nowhere near _all_ the windows blew out. Less than a hundred (still an embarassing number) of the over ten
                Message 7 of 7 , Sep 2, 2005
                • 0 Attachment
                  Victor sez:

                  >there was one in Boston where _all_ the windows blew out.

                  If you're thinking of the Hancock Tower, nowhere near "_all_" the
                  windows blew out. Less than a hundred (still an embarassing number) of
                  the over ten thousand (10,344) windows popped out, due to flexing of the
                  building due to wind loads and thermal expansion. The windows were not
                  blown out. The flexing was corrected by the installation of an inertial
                  damper.

                  http://www.galinsky.com/buildings/hancockboston/
                  http://www.glasssteelandstone.com/US/MA/BostonJohnHancock.html

                  Just in the interests of factual correctness.

                  len.
                Your message has been successfully submitted and would be delivered to recipients shortly.