Architectural Runway | Glossary

Definition:

Dean Leffingwell states “The Architectural Runway consists of the existing code, components, and technical infrastructure needed to implement near-term features without excessive redesign and delay.”

The architectural runway is one of the primary tools used to implement the agile architecture strategy, which provides the necessary technical foundation for developing business initiatives and implementing new Features and/or capabilities. Development of new features and capabilities consumes the architectural runway. Enablers support the activities needed to extend the Architectural Runway to provide future business functionality, which includes exploration, infrastructure, compliance and architecture development.

Architectural Runway is the existing technical infrastructure, code, necessary to support the implementation of upcoming features without excessive, delay-inducing, redesign.

Further Reading:

https://www.scaledagileframework.com/architectural-runway/
https://en.wikipedia.org/wiki/Agile_Architecture
https://www.scaledagileframework.com/enablers/

Emergent Design | Glossary

Definition:

David Cavallo came up with a phrase Emergent Design to describe a theoretical framework for the implementation of systemic change in education and learning system. He studied under Seymour Papert (one who phrased the term “Constructionism”) in Thailand to examine how the choice of design methodology contributes to the success and failure of education reforms. Cavallo with term Emergent Design explains that education systems cannot adapt effectively to technology change unless the education is rooted in the existing skills and needs of the local culture.

Emergent Design in Agile Software Development methodology is conceived,  where focus is on delivering small pieces of working code with business value, letting the design to emerge. With emergent design, a Development team implements a functionality X using best practices and proper test coverage and then move to develop and deliver functionality Y. When these functionality are built, development team looks at the common factor and refactor out the commonality allowing the design to emerge as organisation continuous to deliver functionality. With this development is left with the smallest set of the design needed, as opposed to have an anticipated design in advance. The end result is a simpler scalable design with a smaller codebase easy to understand. Change Vector Tracking is one of the practices which helps teams to adopt Emergent Design.

Further Reading:

Book: Emergent Design: The Evolutionary Nature of Professional Software Development
           By Scott L. Bain

https://en.wikipedia.org/wiki/Emergent_Design