Enterprise architecture is playing an increasingly important role in the success of businesses in the current digital era. According to a recent survey, 70% of organizations have reported an increase in their investments in enterprise architecture, with an average increase of 15.7%. Moreover, 97% of these organizations plan to make significant investments over the next two years . As an enterprise architect, you bear the responsibility of ensuring that the technology infrastructure is aligned with the overall business objectives. However, the modern digital business landscape poses new challenges that require enterprise architects to adapt and evolve.
Traditionally, enterprise architects (EA) focused on designing and implementing technology solutions that supported specific business functions or processes. These solutions were often built on monolithic, on-premises systems and were highly centralized. The role of the EA was primarily technical in nature, with a focus on maintaining system stability, improving efficiency, and reducing costs.
How does an Enterprise Architect work in a Modern Digital Business?
Modern digital businesses are embracing composable technology stacks to achieve agility. A composable stack is an approach that breaks down monolithic suites into individual microservices connected by APIs, enabling organizations to design, source, and deliver digital solutions that can quickly adapt to evolving business needs. This approach is growing in popularity as organizations seek to provide compelling digital experiences without the constraints of legacy technology. In this business landscape, EAs are beginning to take on a new role. Although EAs may have previously performed multiple roles such as business architecture design, technology assessment, or communicating technology strategy, their primary responsibility is now shifting to building an evolving structure with continuous feedback from teams. As a result, the role shifts from merely enforcing standards to actively communicating. In other words, one-directional communication that follows the motto of “EA says, teams execute” is no longer sufficient.
Why Communication is Getting More Important?
Communication between stakeholders such as agile teams, infra teams, and various business departments can become complex and may hinder progress). It is the EA’s responsibility to identify the right people to talk to and bridge the communication between isolated thinkers within the organization. As an EA, you may feel like a messenger between people who do not want to communicate with each other. This is the only viable way to create an architecture scenario that can be presented to a committee or stakeholders.
Henley Business School conducted a survey of 300 enterprises to understand the role of communication in the daily life of EA . The results show that the agile working style requires 18% more communication for EAs. Interpersonal skills were identified as the most important key skill, and working with external consultants was ranked as the second most important development area for EAs, highlighting the importance of communication.
Communication Approach (Computational Thinking)
A useful approach for EAs for effective communication is computational thinking, which is concisely described by the BBC as having “four cornerstones”: 
- Decomposition: breaking down a complex problem or system into smaller, more manageable parts
- Pattern recognition: looking for similarities among and within problems
- Abstraction: focusing only on the important information, ignoring the irrelevant details
- Algorithms: developing a step-by-step solution to the problem or the rules to follow to solve the problem
I like this approach and have used it extensively in my career as an enterprise architect. So, I would like to use an example to demonstrate how it works. Let’s say that you are an EA for a SaaS company that provides online accounting services to small and midsize businesses. In this role, you are assigned the responsibility of designing a new feature that automates the invoicing process for your customers. To accomplish this task, you need to collaborate and communicate with both the product manager and the development team.
- The initial step is to decompose the problem into smaller parts. This involves addressing several key aspects, such as:
What are the existing pain points of both customers and the company?
- A significant number of customer support tickets are related to invoicing issues, which are not only costly but also time-consuming to solve.
- Customers find the current invoicing process to be time-consuming, leading to delays in payment and difficulties in managing their cash flow.
- One of the main concerns is the security of financial data. Customers are worried about transmitting sensitive information via insecure channels, such as email.
- Customers have expressed requests for new features, particularly customization options for their invoicing process like branding and specific payment terms.
What are the non-functional and functional requirements that the new feature should meet?
- Functional Requirements:
- Enable customers to add logos and choose a color scheme on their invoices
- Provide the option for creating recurring invoices for regular clients
- Allow customers to monitor the status of their invoices, whether they are paid or outstanding
- Include an invoice reporting screen for revenue generated or outstanding invoices
- Non-Functional Requirements:
- Ensure features are easy to use and intuitive for customers, with clear instructions and a minimum number of steps.
- Maintain high availability with minimal downtime and errors, in accordance with the SLAs established with customers
- Implement robust security measures to protect customer data and prevent unauthorized access.
- Ensure scalability to accommodate a growing number of customers and invoices without any performance issues.
- Adhere to compliance requirements, particularly those related to GDPR and local data protection regulations such as KVKK
What are the available technologies and resources within the existing system?
- The SaaS app utilizes React on the front end and Java on the back end.
- It is hosted on AWS infrastructure.
- Payment processing is integrated with PayPal and customers’ bank payment systems.
- The database used is MySQL
What are the constraints and risks associated with the project?
- Budget Constraints: The project has a limited budget, and implementing the related feature requires additional developers, especially for the automated feature. Utilization of AWS infrastructure brings additional costs for ensuring SLA and system availability.
- Time Constraints: The project must be completed within a short time frame due to high customer demands.
- Technical Constraints: The application has limitations on the database side in terms of creating fast automated invoicing. To address this, there is a need to use non-SQL technologies.
- User adoption risk is high as customers are already accustomed to the existing application’s screens.
- Performance risk needs to be carefully analyzed as the introduction of the new feature may impact the performance of the existing system if not designed properly.
- Next, the EA can identify patterns and commonalities within these parts:
The recurring themes of customization, automation, and ease of use are recurring themes in both the pain points and the functional requirements. Additionally, security and compliance concerns are apparent in non-functional requirements and associated risks. Once these patterns are identified, the EA can then focus on abstraction, emphasizing the most important information while disregarding the irrelevant details.
- Moving on, the EA then proceeds to abstract the important information while filtering out irrelevant details such as:
The primary focus should be on the high-level goals and desired outcomes of the new feature. These include ensuring a seamless UX for the automation feature, enhancing security measures, and providing customization options for invoices. It is worth noting that while AWS infrastructure plays a role in availability, it is not the main goal and can be addressed differently, as it adds costs.
Secondly, EA identifies key stakeholders, who have a direct impact on the project’s success. These stakeholders include the cloud team, the invoicing development team, the product manager, the infrastructure team lead, the data security officer, and the AI team lead. But it is also important to avoid including indirectly related teams as key stakeholders, as this can lead to irrelevant discussions that can distract from the project. For example, the UX lead is important but their involvement is more relevant during the development phase. Although their expertise is valuable for achieving project goals, it is not necessary to include them in this particular stage.
Additionally, EA we should focus on defining key features and functions, rather than getting bogged down in possible scenarios and use cases. Features such as customization (logo selection, color scheme choices), recurring invoices for regular clients, invoice monitoring and reporting, and some integration capabilities may not seem as critical. The responsibility for such detailed analysis can be delegated to the business analysts within the implementation team. Similarly, the UX requirements for the feature, while significant, fall within the scope of the development team’s collaboration with UX-related roles.
- Lastly, the EA designs algorithms to address each part of the problem. This includes:
Creating a flowchart that visually illustrates how the new feature generates invoices based on customer data and preferences. This helps to understand the sequential steps involved in the process.
Developing a data diagram that shows how this feature can integrate with various payment methods and APIs. This showcases the data flow and connectivity aspects of the system.
Constructing a table that outlines how the new feature meets the requirements and addresses the pain points. This provides an overview of how the solution aligns with the desired goals.
Throughout the process, EA maintains regular communication with all stakeholders and conducts regular meetings with the implementation team and product manager. With these efforts, EA can present the proposed solution to the product manager or upper management, using the algorithms mentioned above.
In today’s dynamic business environment, EAs should have more than just the expertise in using EA tools and methodologies to create visual representations of the architecture. Equally important is their ability to communicate effectively, ensuring that stakeholders receive clear and comprehensible information. By doing so, they can ensure that business strategies and technology solutions are aligned, ultimately leading to the successful implementation of the new systems.
A strategic communication approach is essential to overcoming the challenges of silo-based communication. To achieve this, EAs should first identify the system of interest, recognizing its boundaries and components. They should also identify the key stakeholders involved and understand their concerns and viewpoints. Through effective communication, they enable stakeholders to grasp the strategic importance of architectural decisions and facilitate informed decision-making.