While we must acknowledge emergence in design and system development, a little planning can avoid much waste. Architectural Runway The Architectural Runway consists of the existing code, components, and technical infrastructure needed to implement near-term features without excessive redesign what is software architecture slideshare delay. The architectural runway is one of the primary tools used to implement the Framework’s Agile Architecture strategy.
Since the development of new features and capabilities consumes the architectural runway, continual investment must be made to extend it by implementing Enablers. Some enablers fix existing problems with the Solution, such as improving the performance or User Experience. Others might provide foundational capabilities that will be used to support future functionality. This yields the practice of emergent design—the process of discovering and extending the architecture only as necessary to implement and validate the next increment of functionality. However, organizations must respond simultaneously to new business challenges with larger-scale architectural initiatives that require some intentionality and planning. All of these problems can result in poor solution performance, bad economics, and slower time-to-market.
Intentional Architecture Supports the Bigger Picture It simply isn’t possible for all teams to anticipate changes that may occur well outside their environment. For this reason, teams need some intentional architecture—a set of purposeful, planned architectural guidelines that enhance solution design, performance, and usability—and direction for cross-team design while syncing implementation. Emergent design enables fast, local control so that teams can react appropriately to changing requirements without excessive attempts to future-proof the system. Engineering typically define them at the Program and Large Solution Levels. The architects who define the enablers help steer them through the Kanban systems, providing the guidance needed to analyze, estimate, and implement them. This support ensures that the affected elements—subsystems, components, functions, protocols, internal system functions—have the architecture necessary to support the near-term features and capabilities on the Roadmap. To avoid the BDUF approach, the enterprise commits to implementing architecture incrementally.
Did not find what they wanted? Try here
In some cases, this means that new architectural initiatives are implemented incrementally. They may not even be exposed to the users in the PI in which they are implemented. In this way, the architectural runway can be implemented and tested behind the scenes, yet allowing shipment throughout. The new architecture can be exposed to users when it’s ready to support new business epics and features. PI cadence and synchronization help manage the inherent variability of research and development. This way, ARTs have new product constantly available for potential release. Then the enterprise is free to decide whether or not to ship that asset based on mostly external factors.
Having high-quality, deployable, system-level solutions at PI boundaries, at the very least, is critical. In turn, that also means that some amount of architectural runway must exist prior to the PI Planning session. Otherwise, there’s a danger that architectural rework—followed by the build-out of new features reliant on that rework—may add unacceptable risk and delay to the program. To mitigate that threat, programs must ensure that the underlying architecture for the most innovative new features is already in the system when planning for the PI.
Engineer to play a role in defining and building out the runway. Teams that build the runway iterate like every other Agile team in the program. Credit goes to working solutions, not models and designs. It should take no more than a few iterations to implement and prove the new architecture.
Very quickly after that, the program is expanded to add some feature teams who test the new architecture with the initial, consumable features, as illustrated in Figure 2. Engineers, in collaboration with the affected teams, define many of these enablers. But implementation is the responsibility of the ARTs. While supporting successful near-term delivery, the architectural runway should not overly constrain development with long-range technical commitments. Consuming the Architectural Runway With a new architecture in place, and valuable features already deployed, all is good up to this point. Unless the Agile teams are really on their game, the result will be what’s shown in Figure 4. Often, when there isn’t enough architectural runway when teams start a PI, any features dependent on the new architecture are a high risk.