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

Incremental Architecture and Tools - anybody want to talk about them?

Expand Messages
  • juddgledhill
    Hi, I am working on a paper for a master s (my final paper I hope) about continuous architecture practices. I was wondering if there were any agile
    Message 1 of 5 , Apr 4, 2007
    • 0 Attachment
      Hi,

      I am working on a paper for a master's (my final paper I hope) about
      continuous architecture practices. I was wondering if there were any
      "agile architects" on this list who would be willing to answer
      questions and share stories about how they were or were not succesful
      with incremental architecture and what they would recommend for other
      people who are interested in getting better at it.

      Thanks,

      J
    • Steven Gordon
      Hi Judd, What is your working definition of architecture? This definition would indicate to many people here whether or not they qualify as agile architects
      Message 2 of 5 , Apr 4, 2007
      • 0 Attachment
        Hi Judd,

        What is your working definition of architecture?

        This definition would indicate to many people here whether or not they
        qualify as "agile architects" for your purposes.

        Steve

        On 04 Apr 2007 12:25:38 -0700, juddgledhill <judd.gledhill@...> wrote:
        >
        > Hi,
        >
        > I am working on a paper for a master's (my final paper I hope) about
        > continuous architecture practices. I was wondering if there were any
        > "agile architects" on this list who would be willing to answer
        > questions and share stories about how they were or were not succesful
        > with incremental architecture and what they would recommend for other
        > people who are interested in getting better at it.
        >
        > Thanks,
        >
        > J
        >
        >
        >


        [Non-text portions of this message have been removed]
      • Keith Nicholas
        The 4+1 model of architecture serves as a good definition of software architecture. Generally people mostly mean logical and process when they talk
        Message 3 of 5 , Apr 4, 2007
        • 0 Attachment
          The 4+1 model of architecture serves as a good definition of software
          architecture.



          Generally people mostly mean logical and process when they talk architecture
          (with a scattering of the others), so



          Several bits of advice..



          Build layers of design capability.



          Coding principles / Unit testing

          design principles (understanding coupling, coherencey, abstraction, modular,
          etc)

          Refactoring

          Patterns

          Systems of patterns

          Frameworks

          Systems Thinking



          Learn patterns that are applicable to your domain (enterprise, real time,
          distributed, game, etc). You need to practice each of things outside of
          production code. Coding Katas, pet projects, exploration, and build up your
          capability.



          Then you at least have the tools to incrementally evolve your architecture.




          You then need a good collaboration environment and have a way of developing
          architecture as a team. Constant review, constant brainstorming,
          whiteboarding, arguing.



          You need to do a bunch of work on getting your Functionality and User
          Experience right, understanding the deployment, how you want to manage the
          code.



          Initially you want to find slices through a system that will help shape the
          system



          If you are going to use a framework that defines certain architectural
          parts, then simply use them, don't try to evolve towards them. You can
          however introduce a layer of abstraction to isolate the framework if you
          wish, which you might do with some GUI frameworks, but something like RoR
          you wouldn't (partly because it already helps decouple your code). Again
          it pays to practice with the target framework before using it in anger



          Ideally you should have a good domain model / DSL with abstraction in the
          right places so it is easy to decorate it with new concrete behaviours or
          its easy to describe new concepts. But its not a static target,
          Architecture is animated over time and should keep evolving. Sometimes
          there are fundamental changes to your architectural model (eg, deployment
          architecture might change, or you have to make a highly scalable system, eg
          a single player game becoming a multiplayer game to a massively multiplayer
          game). Hopefully certain aspects of the architecture remain stable and
          other parts need re-engineering.



          + lots more J



          Regards,



          Keith



          From: extremeprogramming@yahoogroups.com
          [mailto:extremeprogramming@yahoogroups.com] On Behalf Of Steven Gordon
          Sent: Thursday, April 05, 2007 9:11 AM
          To: extremeprogramming@yahoogroups.com
          Subject: Re: [XP] Incremental Architecture and Tools - anybody want to talk
          about them?



          Hi Judd,

          What is your working definition of architecture?

          This definition would indicate to many people here whether or not they
          qualify as "agile architects" for your purposes.

          Steve

          On 04 Apr 2007 12:25:38 -0700, juddgledhill <judd.gledhill@...
          <mailto:judd.gledhill%40fmr.com> > wrote:
          >
          > Hi,
          >
          > I am working on a paper for a master's (my final paper I hope) about
          > continuous architecture practices. I was wondering if there were any
          > "agile architects" on this list who would be willing to answer
          > questions and share stories about how they were or were not succesful
          > with incremental architecture and what they would recommend for other
          > people who are interested in getting better at it.
          >
          > Thanks,
          >
          > J
          >
          >
          >

          [Non-text portions of this message have been removed]





          [Non-text portions of this message have been removed]
        • Steven Gordon
          Maybe I should have asked what does not fall under the category of architecture. On 04 Apr 2007 15:22:57 -0700, Keith Nicholas ...
          Message 4 of 5 , Apr 4, 2007
          • 0 Attachment
            Maybe I should have asked what does not fall under the category of
            architecture.

            On 04 Apr 2007 15:22:57 -0700, Keith Nicholas <keithnlist@...>
            wrote:
            >
            > The 4+1 model of architecture serves as a good definition of software
            > architecture.
            >
            > Generally people mostly mean logical and process when they talk
            > architecture
            > (with a scattering of the others), so
            >
            > Several bits of advice..
            >
            > Build layers of design capability.
            >
            > Coding principles / Unit testing
            >
            > design principles (understanding coupling, coherencey, abstraction,
            > modular,
            > etc)
            >
            > Refactoring
            >
            > Patterns
            >
            > Systems of patterns
            >
            > Frameworks
            >
            > Systems Thinking
            >
            > Learn patterns that are applicable to your domain (enterprise, real time,
            > distributed, game, etc). You need to practice each of things outside of
            > production code. Coding Katas, pet projects, exploration, and build up
            > your
            > capability.
            >
            > Then you at least have the tools to incrementally evolve your
            > architecture.
            >
            > You then need a good collaboration environment and have a way of
            > developing
            > architecture as a team. Constant review, constant brainstorming,
            > whiteboarding, arguing.
            >
            > You need to do a bunch of work on getting your Functionality and User
            > Experience right, understanding the deployment, how you want to manage the
            > code.
            >
            > Initially you want to find slices through a system that will help shape
            > the
            > system
            >
            > If you are going to use a framework that defines certain architectural
            > parts, then simply use them, don't try to evolve towards them. You can
            > however introduce a layer of abstraction to isolate the framework if you
            > wish, which you might do with some GUI frameworks, but something like RoR
            > you wouldn't (partly because it already helps decouple your code). Again
            > it pays to practice with the target framework before using it in anger
            >
            > Ideally you should have a good domain model / DSL with abstraction in the
            > right places so it is easy to decorate it with new concrete behaviours or
            > its easy to describe new concepts. But its not a static target,
            > Architecture is animated over time and should keep evolving. Sometimes
            > there are fundamental changes to your architectural model (eg, deployment
            > architecture might change, or you have to make a highly scalable system,
            > eg
            > a single player game becoming a multiplayer game to a massively
            > multiplayer
            > game). Hopefully certain aspects of the architecture remain stable and
            > other parts need re-engineering.
            >
            > + lots more J
            >
            > Regards,
            >
            > Keith
            >
            > From: extremeprogramming@yahoogroups.com<extremeprogramming%40yahoogroups.com>
            > [mailto:extremeprogramming@yahoogroups.com<extremeprogramming%40yahoogroups.com>]
            > On Behalf Of Steven Gordon
            > Sent: Thursday, April 05, 2007 9:11 AM
            > To: extremeprogramming@yahoogroups.com<extremeprogramming%40yahoogroups.com>
            > Subject: Re: [XP] Incremental Architecture and Tools - anybody want to
            > talk
            > about them?
            >
            > Hi Judd,
            >
            > What is your working definition of architecture?
            >
            > This definition would indicate to many people here whether or not they
            > qualify as "agile architects" for your purposes.
            >
            > Steve
            >
            > On 04 Apr 2007 12:25:38 -0700, juddgledhill <judd.gledhill@...<judd.gledhill%40fmr.com>
            > <mailto:judd.gledhill%40fmr.com> > wrote:
            > >
            > > Hi,
            > >
            > > I am working on a paper for a master's (my final paper I hope) about
            > > continuous architecture practices. I was wondering if there were any
            > > "agile architects" on this list who would be willing to answer
            > > questions and share stories about how they were or were not succesful
            > > with incremental architecture and what they would recommend for other
            > > people who are interested in getting better at it.
            > >
            > > Thanks,
            > >
            > > J
            > >
            > >
            > >
            >
            > [Non-text portions of this message have been removed]
            >
            > [Non-text portions of this message have been removed]
            >
            >
            >


            [Non-text portions of this message have been removed]
          • Keith Nicholas
            Graphic Design? Algorithms? (some gray areas) Method / Process? What seperation are you lookig at making? ... [Non-text portions of this message have been
            Message 5 of 5 , Apr 4, 2007
            • 0 Attachment
              Graphic Design?
              Algorithms? (some gray areas)
              Method / Process?

              What seperation are you lookig at making?


              On 04 Apr 2007 15:32:56 -0700, Steven Gordon <sgordonphd@...> wrote:
              >
              > Maybe I should have asked what does not fall under the category of
              > architecture.
              >
              > On 04 Apr 2007 15:22:57 -0700, Keith Nicholas <keithnlist@...<keithnlist%40compacsort.com>>
              >
              > wrote:
              > >
              > > The 4+1 model of architecture serves as a good definition of software
              > > architecture.
              > >
              > > Generally people mostly mean logical and process when they talk
              > > architecture
              > > (with a scattering of the others), so
              > >
              > > Several bits of advice..
              > >
              > > Build layers of design capability.
              > >
              > > Coding principles / Unit testing
              > >
              > > design principles (understanding coupling, coherencey, abstraction,
              > > modular,
              > > etc)
              > >
              > > Refactoring
              > >
              > > Patterns
              > >
              > > Systems of patterns
              > >
              > > Frameworks
              > >
              > > Systems Thinking
              > >
              > > Learn patterns that are applicable to your domain (enterprise, real
              > time,
              > > distributed, game, etc). You need to practice each of things outside of
              > > production code. Coding Katas, pet projects, exploration, and build up
              > > your
              > > capability.
              > >
              > > Then you at least have the tools to incrementally evolve your
              > > architecture.
              > >
              > > You then need a good collaboration environment and have a way of
              > > developing
              > > architecture as a team. Constant review, constant brainstorming,
              > > whiteboarding, arguing.
              > >
              > > You need to do a bunch of work on getting your Functionality and User
              > > Experience right, understanding the deployment, how you want to manage
              > the
              > > code.
              > >
              > > Initially you want to find slices through a system that will help shape
              > > the
              > > system
              > >
              > > If you are going to use a framework that defines certain architectural
              > > parts, then simply use them, don't try to evolve towards them. You can
              > > however introduce a layer of abstraction to isolate the framework if you
              > > wish, which you might do with some GUI frameworks, but something like
              > RoR
              > > you wouldn't (partly because it already helps decouple your code). Again
              > > it pays to practice with the target framework before using it in anger
              > >
              > > Ideally you should have a good domain model / DSL with abstraction in
              > the
              > > right places so it is easy to decorate it with new concrete behaviours
              > or
              > > its easy to describe new concepts. But its not a static target,
              > > Architecture is animated over time and should keep evolving. Sometimes
              > > there are fundamental changes to your architectural model (eg,
              > deployment
              > > architecture might change, or you have to make a highly scalable system,
              > > eg
              > > a single player game becoming a multiplayer game to a massively
              > > multiplayer
              > > game). Hopefully certain aspects of the architecture remain stable and
              > > other parts need re-engineering.
              > >
              > > + lots more J
              > >
              > > Regards,
              > >
              > > Keith
              > >
              > > From: extremeprogramming@yahoogroups.com<extremeprogramming%40yahoogroups.com>
              > <extremeprogramming%40yahoogroups.com>
              > > [mailto:extremeprogramming@yahoogroups.com<extremeprogramming%40yahoogroups.com>
              > <extremeprogramming%40yahoogroups.com>]
              > > On Behalf Of Steven Gordon
              > > Sent: Thursday, April 05, 2007 9:11 AM
              > > To: extremeprogramming@yahoogroups.com<extremeprogramming%40yahoogroups.com>
              > <extremeprogramming%40yahoogroups.com>
              > > Subject: Re: [XP] Incremental Architecture and Tools - anybody want to
              > > talk
              > > about them?
              > >
              > > Hi Judd,
              > >
              > > What is your working definition of architecture?
              > >
              > > This definition would indicate to many people here whether or not they
              > > qualify as "agile architects" for your purposes.
              > >
              > > Steve
              > >
              > > On 04 Apr 2007 12:25:38 -0700, juddgledhill <judd.gledhill@...<judd.gledhill%40fmr.com>
              > <judd.gledhill%40fmr.com>
              > > <mailto:judd.gledhill%40fmr.com> > wrote:
              > > >
              > > > Hi,
              > > >
              > > > I am working on a paper for a master's (my final paper I hope) about
              > > > continuous architecture practices. I was wondering if there were any
              > > > "agile architects" on this list who would be willing to answer
              > > > questions and share stories about how they were or were not succesful
              > > > with incremental architecture and what they would recommend for other
              > > > people who are interested in getting better at it.
              > > >
              > > > Thanks,
              > > >
              > > > J
              > > >
              > > >
              > > >
              > >
              > > [Non-text portions of this message have been removed]
              > >
              > > [Non-text portions of this message have been removed]
              > >
              > >
              > >
              >
              > [Non-text portions of this message have been removed]
              >
              >
              >


              [Non-text portions of this message have been removed]
            Your message has been successfully submitted and would be delivered to recipients shortly.