Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Agile Architecture

Will Hamill
September 18, 2013

Agile Architecture

How does the architect's role change in an agile project with empowered, cross-functional teams? How to balance too much design up front with no design at all?

Will Hamill

September 18, 2013
Tweet

More Decks by Will Hamill

Other Decks in Programming

Transcript

  1. The Architect   Tension   Diagrams & Documents   Encapsulation

    & Modularity   Real Options   Architecture Options
  2. Vision & Expertise Guides evolution   and technical direction Creates

    and investigates   options for implementation ✓
  3. ‘Integrated Problem Solving’ 1. Understanding and solving the   problem

    happen at the same time   2. Information released early   3. Information released frequently   4. Information flows in 2 directions   5. Prefer face-to-face over documents
  4. Typical BDUF documentation:   Functional Requirements   Functional Design  

    Solution Architecture   Technical Design   Etc.
  5. Do you have all of these on your project?  

    Are they all up to date?   Do people actually use them?
  6. Unused documentation is   at best a waste   Consider

    the need behind   the documentation
  7. Real  Options   Options  have  value   Options  expire  

    Never  commit  early   unless  you  know  why
  8. Working  in  London  on-­‐site  full  time   Need  accommodation  this

     week   Apartment  lease  might  be     signed  on  Monday   Apartment  lease  might  fall  through
  9. Could  pay  for  the  hotel   for  the  whole  week

      We  won’t  know  until  Monday   if  lease  is  signed   Need  to  create  an  option
  10. We  want  to  delay  the  decision     until  we

     have  more  knowledge   So  we  pay  a  deposit  for  a  hotel   reservation  for  the  week   If  lease  signed,  we  cancel   If  not,  we  stay  in  hotel
  11. For  the  price  of  the  option,   we  can  delay

     the  decision  and   make  a  more  informed  choice
  12. The  option  has  a  value   The  option  will  expire

      Don’t  commit  until  we  know   for  sure  about  the  lease
  13. Value: later decision based on   more knowledge   Expiry:

    may eventually need   to have persistent storage   Avoid early commitment:   unless there is a real need