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
Architecture Team
By autoric
Architecture Team
- 535