With an objective to enable continuous learning and progression for our learners, PremierAgile curated several learning articles. Out of a wide range of topics, you can choose to learn from the real-world experiences by practitioners in the areas of Agile, Scrum, Product Ownership, Scaling, Agile Leadership, Tools & Frameworks, latest market trends, new innovations etc.
As defined by the Scaled Agile Framework, the concept of Agile Architecture is defined by a combination of practices, values and associations. All these support the evolutionary and active plan of a system. It is an outlook holds the DevOps perspective, thereby permitting the structure of a system to improve in an ongoing fashion as days pass. At the same time, it supports the requirements of the present users.
When compared to the classic waterfall approach, the Agile Delivery approach pays attention to the delivery of value faster. It does it via small and quick iterations that improve the return on investment. It aids in improving Business Agility. When an organization plans to follow SAFe Agile architecture and Agile delivery is introduced, the maturity level of all business units should be developed inclusive of the maturity of the architecture team. The Agile architecture is unique from the legacy approach for different reasons. Some of the crucial points include:
The good thing about the Agile architecture framework is that it underwrites Agile Development procedures via design simplicity, intentional architecture, emergent design and collaboration. Further, it also helps with the designing for releasability, deployability and testability. It is further underwritten by decentralized innovation, niche modeling and rapid prototyping.
A system’s architecture can either impede or quicken the ability for providing independent and frequent deployments for the business to achieve its goals. Agile architects underwrite the alignment of business by improving the architecture for supporting the top-to-bottom value stream. In turn, the business can achieve its objectives of the ongoing delivery of worth in the quickest probable time.
Agile architects continually spend on legacy modernization moves. They know, the place to refactor for getting rid of hindrances. They share the requirements for these continuous technical goals in business terms clearly. To underwrite the ongoing value flow through a Continuous Delivery Pipeline, Agile architecture does the following:
The Lean-Agile principles of SAFe provide details about Agile architecture practices. When all principles apply, three of them are specifically appropriate to architecture. Prior to committing to a particular model, Agile architects employ quick-learning cycles. They do this for exploring alternatives. In turn, they can reach the best possible solution. They create the right atmosphere for distributed decision-making by explaining and conveying the vision of architecture and strategy. Then, they collaborate with and train the teams engaged in building them.
SAFe explains three architectural roles. They are system, solution and enterprise architects. Professionals in these roles provide solutions to these concerns at their appropriate levels like Essential, bigger solution and portfolio respectively. Also, these professionals work with each other regularly among and across levels. They do this for ensuring alignment and for addressing concerns and issues as they come up. As you can understand from the picture below, these roles need all the required architectural skills for arriving at the technical decision. So, organizations should think about filling these positions with more than a single person. When this happens, it will be possible to prevent architectural decisions from hindering teams with sufficient knowledge.
Source: Scaled Agile
In any business, some roles are dependent on other roles. The technical strategy needs the association between architects and also other Scaled Agile Framework roles. This collaboration will help with ensuring that the architecture go inline with the present and upcoming requirements of organizations and the customers served.
Not only when considering the organization as a whole but also within each Agile Release Trains, system architects have certain responsibilities. For instance, they explain the technical path via the non-functional requirement, the design and support of the CD Pipeline and architectural runway. The SAFe Agile architecture also enables built-in quality. The system team perceives the architecture vision. The team does it by building the supporting infrastructure. In turn, it becomes possible for the Agile Teams to develop, put into practice, evaluate and deliver value. Further, the System Architects in any Agile team will coordinate with solution and enterprise architects. They do it for making sure that the solutions they create align with the larger vision. In any position, architects take the role of Lean-Agile leaders. In this role, they are responsible for improving the entire capabilities of contributors by mentoring teams.
When you take the case of traditional architecture approaches, they contributed to early architecture work. This approach creates plenty of documentation and decisions that are not properly validated. The best alternative for designing the architecture to go well with the organizational needs is a blend of emergent design and intentionality. Here, architecture comes up from Developers engaged in the generation of systems to see what works. Agile architecture equates to emergence and intentionality.
Here, the emergent design offers the technical basis for incremental implementation and a fully evolutionary approach. It aids designers and developers to respond to the immediate needs of users. It permits the design to improve as the system is created and put into practice.
Intentional architecture explains a combination of planned architectural and purposeful initiatives and strategies that are purposeful. Together, they help with improving solution design, usability and performance. They guide implementation synchronization and inter-team design.
With the balance between emergent design and intentional architecture, Agile architecture functions as a Lean-Agile approach. This function is for meeting the complexity of developing enterprise solutions. Besides supporting the requirements of present users, it also improves the system side-by-side to meet the close-term and future requirements. When these two are used together, they develop the architectural runway that offers the technical base for production of business value in the future.
The good thing about SAFe Agile Architecture is that it cultivates a DevOps Culture. It does it by making sure that the solutions are architected for ongoing delivery. Architects take part not only in the design but also in the execution of the Continuous Delivery Pipeline, converting and representing CALMR Principles of SAFe. They permit decisions to come up by defining the least viable architecture. By doing this, they make sure of loose linking between system elements. Also, they support the creation and development of interfaces and cultivate architecture. They do these things as codes via naming conventions, attributes and common annotations. Agile architecture also automates architectural compliance checks. By doing this, they build quality.
To brace ongoing deployment, Agile architecture disjoints deployment from release. The deployment of functionality happens continuously in a production atmosphere. Nevertheless, the release is made to end-users only when they actually demand it. Frequent deployment is good because it aids in building reliability in the CDP pipeline. It brings down delays that arise from more traditional governance practices like Release Management. This dependability enables individual teams and Agile Release Trains to explore independently and test ideas in a true production atmosphere.
The Continuous Delivery Pipeline starts and closes with the value hypothesis. It defines ongoing exploration and eventually evaluates it in a Release on Demand. The system architecture offers the required measure for evaluating hypotheses for supporting innovation accounting and other usage data for teams and Agile Release Trains for validating their assumptions. Agile architecture underwrites the CD pipeline by considering the other factors as architectural concerns like test data management and test architecture.
In the present world, where everything is turning digital, organizations depend on technology for delivering worth to their customers. As the strategy of business changes, the systems, the technology and the business applications that deliver that strategy must also change with it. From the picture below, you can better understand the operational value stream for product delivery and customer order. You can find operational steps in this image in green. You can find the applications and systems that support those steps below. Any changes to the business to the customer experience are realized by those supporting systems and applications. Architects work closely with Product Managers and Business Owners for making sure that those systems are competent enough of realizing not only the present but also future goals of businesses.
Source: Scaled Agile
Portfolio vision, portfolio canvas and strategic themes influence architecture and drive the architecture runway. In a portfolio, they offer the direction, constraints and the entire context for spending on the technical aspect. When seeing broadly, architecture should consider the larger enterprise strategy that encompasses awareness across the portfolio, particularly for enterprise architects.
It will be possible to increase the speed at which the business goals can be achieved when the architecture is aligned with the business strategy. Architects identify the objectives of the business by shifting strategy from strategic themes into remedies. Those remedies are explained by their Solution Intent, Solution Context and Vision. The solution intent is a live storehouse of knowledge that denotes the single source of truth of the system. The truth is on behavior, structure, design, requirements and other architectural concerns. It encompass models, patterns, decisions and other technical details for serving as the least sufficient documentation. The solution intent captures system constraints that encompasses Non-Functional Requirements as well. Similar to other needs, these requirements are also validated in an ongoing fashion with automated tests for making sure of compliance and quality.
Roadmaps help a team learn about the plan for realizing the solution. In the roadmap, enablers are defined together by teams and architects. They do this after exploring technical options. Accordingly, they develop the architectural runway. In this process, they provide early feedback on reaching those milestones. On architectural decisions, feedback is provided by teams as they engage in the development of features on top. In this process, they balance intentionality and emergence. The roadmap drives the backlog that explains all work for an Agile Release Train. Architects work in combination with product management on balancing new functionality and prioritizing technical work. They presume technical debt impediments to architectural and flow runway requirements and advocate for their prioritization.
In each increment, teams develop the highest priority enablers and features. Architects work with the Project Management for explaining and giving importance to closer work items. They offer feasibility judgments that aid to explain and scope the present features and the criteria for their acceptance. They consider future features and explain enablers in the backlog. They do this for helping teams explore and gain knowledge that makes sure of the viability of future features. These professionals consider the technical dependencies external to their Agile Release Trains. They do this with other Agile Release Trains on a solution train or in the enterprise. They act as key collaborators in these activities. They also associate with teams for bringing down discoveries at the time of PI planning and aiding teams with decision-making during PI Planning.
At the time of PI planning, architects support the teams that take part in the creation of the upcoming increment plans. As part of the planning agenda, they present the architectural briefing. Since teams engage in plan creation during breakouts, architects inspect to make sure that teams plan technical work rightly. Also, architects ensure that the teams account for the Enabler Work of Agile Release Trains properly. Besides supervising, they address any concerns and queries teams might have in this process.
Architects underwrite the management review for addressing technical issues and architectural problems on probable adjustments. They take part with entrepreneurs when they give value to the PI objectives of teams. They are competent enough in explaining in business terminologies on the methods that enablers and other technical works use for underwriting their entire objectives for their requirements and cruciality.
In Agile Architect Framework, architects own the solution-level exploration and technical work in enablers. So, they guide the progress of teams on their implementation. They may attend the Sprint Planning of these teams and take part in Sprint Demo events. They do this to adjust direction, attend to issues and track progress and are available to teams for mentoring, coaching and for making sure that issues and problems are addressed swiftly. In turn, the chances of architecture turning out to be a hindrance are avoided.
In the case of bigger solutions, the architects share progress and stay aligned with the architect sync event as you can understand from the image below:
Source: Scaled Agile
Architecture must improve to meet the changing requirements and chances in any business. When this does not happen, technology will turn out to be a hindrance to the marching forward of the business. Changes made in the strategy by any business will show up in modified and new strategic themes. This should happen apart from the portfolio canvas changing into modified value streams or solutions.
Enterprise architects influence and underwrite this process by offering input and taking part in value stream mapping workshops. They do this by setting suppositions on technical practicality. As soon as they make the new direction, they work together with the solution and system architects for realizing the fresh organizational direction. They share information about the new master plan and show how it modifies the roadmap, intent and solution vision.
Further, enterprise architects bring together architectural job spread over different portfolio. They do this to make sure that the alignment across value streams and solutions happens rightly. They also offer technical assistance for the futuristic development of platforms and technologies. They do this for larger non-functional requirements for portfolio solution set. They generally work as Epic owners for the enablers at portfolio level for making sure that huge movements in technology go hand-in-hand with the strategies of the business.
Because of their experience and knowledge, architects are generally given the utmost respect. They generally hold a high position in the development niche due to their experience and knowledge. So, when an organization plans for a SAFe transformation, architects can play a crucial role. They are leaders in Lean-Agile and so they give way for autonomy. They motivate mastery for growing the knowledge of the development niche.