Maturing an Agile organization with intentional architecture
When you balance emergent changes created by Agile teams with strategic intentional architecture, you can foster a sustainable ecosystem in a mature (poststartup phase) organization. Nimisha Asthagiri shares her experiences bringing an organically built monolithic open source system to a more intentionally maintained platform using leading architectural principles and practices.
Talk Title | Maturing an Agile organization with intentional architecture |
Speakers | Nimisha Asthagiri (edX) |
Conference | O’Reilly Software Architecture Conference |
Conf Tag | Engineering the Future of Software |
Location | New York, New York |
Date | February 24-26, 2020 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
Change management is difficult but necessary to lead an (organically grown) organization’s architecture to a more sustainably viable future. Nimisha Asthagiri has led the evolution of the edX architecture for the last two years from a mostly emergent design to a more balanced and intentionally guided platform through the effective use of fitness functions, providing guardrails without creating blockers for Agile teams; iterate, using Lean principles, until you find low-effort but high-impact sustainable architectural processes; create maturity models that provide a pragmatic vision and phased approach toward an aligned future direction; and bridge the gap between business leaders and your architects. Inspired by industry-leading architectural principles, Nimisha provides examples of this transition, such as transitioning governance from a blocking arch council to consulting arch buddies to communicative monthly arch stand-ups; sustaining developer documentation from wieldy practices to architectural decision records; aligning on principles and strategic direction with an organization-wide technology radar; providing a domain-driven design (DDD) and reactive-inspired vision with a bounded context maturity model; and managing code complexity with optimized processes for deprecation and removal and feature toggles.