March 24, 2020

270 words 2 mins read

Maturing an Agile organization with intentional architecture

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.

comments powered by Disqus