Architecture Team

In most successful software projects, the expert developers working on that project have a shared understanding of the system design. This shared understanding is called 'architecture.' This understanding includes how the system is divided into components and how the components interact through interfaces. These components are usually composed of smaller components, but the architecture only includes the components and interfaces that are understood by all the developers.

- From "Who Needs an Architect?" by Martin Fowler

Context

  • Moving upmarket
  • Shifting technical landscape
  • Growing engineering organization

Mission Statement

  • Provide technical vision for the future
  • Define technical seams, enable teams to deliver
  • Represent architectural items in the quarterly plan
  • Provide principles, support, and review
  • Communicate, work transparently, build consensus

The Plan...

1: Knowledge Crunching

  • Understand the LogRhytm System today
  • Define core entities and their logical relationships
  • Define data flows as they exist today

2: Design

  • Recognize gaps between intetion and execution
  • Define a target architecture
  • Understand that we are fallible

3: Principles

  • Define the organizational seams
  • Investigate, recommend technologies
  • Be involved in implementation

Architecture does not....

  • Own every business domain
  • Manage the teams
  • Dictate every technical decision

Goals

  • Communication, transparency, consensus
  • Be involved in implementation
  • Enable better delivery, represent engineering

Resources

Made with Slides.com