Architecture and Agility

Being agile does not mean living life one iteration at a time. Iterations are tools for producing, validating, and discovering architectural needs. This is not mutually exclusive with a longer view for the system architecture. Successful agility comes from planning within iterations and across iterations. Many agile teams plan releases (several iterations) creating an excellent forum for engaging architectural and other cross cutting concerns.

Architects who think that agile projects evolve code one test at a time are only partially correct. Agile methods challenge teams to validate and evolve architectures using unit tests, acceptance tests, architectural spikes, and continuous review to test a system’s ability to adapt and respond, a common attribute of well architected systems.

This session will talk about the relationship of agile methods, architecture andarchitects. We will discuss tools and forums which connect people to architecture to produce stronger products and systems. The session draws on experiences from projects and architectures of all sizes from a variety of companies, including many large and complex systems.

Participants Will Learn:

  • Over of agile process
  • How to use various agile forums to foster strong architecture
  • Tools for connecting architects and agile teams
  • Ideas for using agile forums to feed existing architectural goals
  • The practice and value of evolutionary design
  • Ways to incorporate non-story (e.g. non-functional) needs like scalability
  • Techniques for incorporate other cross cutting planning needs (e.g. usability)

Agenda (content and format)

Outline (1 day):

  • Over of agile processes
  • Common architecture related challenges faced by agile projects
  • Using agile cadences to foster strong architecture
  • Evolutionary design and other practices which support architectural needs
  • Other architectural needs (non-functional - usability - etc)
  • Q/A session

Audience:

This course will be beneficial for architects, managers, developers, or anyone who is interested in learning how to use agile forums and practices as a new set of tools for building strong applications and systems in a sustainable manner.