Building an architecture to support the development of a platform, various products, and sustaining massive growth-fueled change while operating in an agile environment.
easily. • Architecture • The art or practice of designing and constructing something. public void ExplainAgileArchitecture() { if ("Agile" == "Fast" && "Art" == "Slow") { "Agile Architecture" != "Fast"; } }
Agile squads move faster than artifacts can be produced/maintained • Lack of technical debt and architectural runway focus • Lack of executive support and understanding of architecture
strive for MVA • Business requirements MUST drive the architecture • Anything less is failing to deliver business value • Anything more is a waste of business investment • It’s OK to iterate on architectural designs
The squads own the product, not you, eventually • Wanting the right long-term solution now instead of an intermediate stepping stone(s) • Don’t be Snooty Brent, the Architect, work with squads and POs as much as possible
to operate within them • Adjust the guards as needed, let them drive conversations • Move to hands-off when tribes are healthy, continue to drive conversation
the “what” based on organization maturity 2. Architect empowers chapters to determine “how” 3. Squads determine “how”, approval and review from Chapter 4. Squads become self-sufficient with senior engineer/architect team members 5. Architect focuses on strategic runway epics, assists squads as needed, the tie-breaker
architectures: • 3 – Classic Architectures (3 offshore agile teams) • 2 – Acquisition Architectures (1 distributed & 1 collocated agile team) • 1 – Modern Architecture (3 collocated agile teams) • Complexity, age, and technical debt vary across each architecture • Each system is aimed at solving different business goals under different contexts
for cross-tribe activities: • Quality Assurance • DevOps • Tackling architectural runway and strategic stories to achieve desired future state • Focusing on reduction of technical debt