12/20/19

Architecting the Ecosystem: 5 Challenges for 2020 and beyond

For years, organizations are experiencing increasing pressure to adapt faster, and at the same time: to work more efficiently (and cheaper).

ICT developments play a dual role in this: on the one hand, new technological developments facilitate organizations to change faster (reorganize, innovate, expand) and work more efficiently, on the other hand, the same developments create a bigger playing field and offer more opportunities to put pressure on the same organizations.

As always, the challenges are met by combining (integrating, linking) IT systems to provide more functionality and splitting systems into smaller pieces, thereby creating a greater degree of flexibility. With these developments, ICT equipment, software and services are becoming increasingly more complex and more extensive. Large ICT ecosystems emerge in which the manageability of development and management is becoming an ever greater challenge. To cope with this, ICT systems are supported with platforms, frameworks and tools, and broad-based industry standards and patterns are adopted.

This evolution is nothing new and has been taking place for decades. In the last decade, however, the speed of change and the associated challenges to cope with it have greatly increased.
The following recent developments have made a major contribution to this:

  • Micro services: applications are split up, making the structure (through reuse of services) and behavior of applications (better scalability) more flexible;
  • Cloud: where applications are placed in platforms so that these applications can be managed more effectively as a group;
  • Agile / SCRUM / SAFe: where development organizations and development activities are split up (schedules and products) in order to be able to develop products and services faster,  more efficiently and effectively;
  • IoT: over the past few years, in addition to smartphones, laptops and tablets, it causes an explosive expansion of the IT ecosystem by adding millions of "smart" devices.

These developments should make it possible to realize a flexible ecosystem of distributed components that in a continuous stream of small adjustments is continuously optimally aligned with the constant and faster changing needs of organizations and individuals.
However, the above also causes some "extra challenges" ...

Challenges for the architecture and the role of the architect

An architect provides insight into the structure and behavior of ecosystems and processes and determines rules according to which these systems are worked on.

Challenge 1: massive increase in boundaries and data streams

The increasing size of ICT ecosystems introduces many more boundaries (in the broadest sense of the word) that must be controlled. Cross-cutting concerns (e.g., maintainability, adaptability, usability) and non-functional requirements (e.g., security, synchronization) must now be managed across entire ecosystems instead of relatively controllable monoliths. These ecosystems also have a highly dynamic character; both the structure and the behavior are constantly changing under the influence of the development and use of ever changing equipment, software and services.

This increasing degree of size, dynamics and complexity makes obtaining the insight that the architect must offer more difficult.

Also, the massive expansion of the ecosystem with devices (IoT devices that generate lots of sensor data) and protocols like WebSocket realizing realtime and two-way communication between server and client massively increases the amount of data that is generated, stored and streamed in the ecosystem. The continuous increase in bandwidth (e.g. 5G) makes data transport easier and faster, and new applications possible.

Challenge 2: additional questions

In addition, the architect is required to answer new questions, well substantiated. Questions on the costs, efficiency and effectiveness of future scenarios (e.g. implementation of new versions of software, new user stories, impact of new regulations etc.) in complex and dynamic ecosystems are becoming increasingly important. After all: the aforementioned pressure from the organizations (business) to be able to deliver faster and cheaper is ever increasing.

Challenge 3: outdated techniques and tools

The architect uses models and views to gain and provide insight into the IT ecosystem. However, the standards, techniques and tools used for this were devised in a time when the architecture was not yet extensive, dynamic and complex to the present extent. Also, nowadays, more different expert architects and designers play a role; for example for UX, infrastructure, business, and software. These experts use models and techniques that work effectively and efficiently for specific target groups (stakeholders), but often do not connect with each other. This makes it more difficult to realize a complete and coherent model of the entire architecture, which also makes it difficult to understand architectures in the IT ecosystem. In addition, the frequency with which changes are implemented has increased sharply, which makes updating models a greater challenge.

It is therefore increasingly difficult to obtain and provide insight into the entire ecosystem; the insight becomes more limited. And limited insight means a limited degree to which the architecture of an ecosystem can be sufficiently aligned with the goals set for it.

Challenge 4: work silos

Furthermore, the Agile / SCRUM way of working results in a division of work over several small work silos in which the influence of the architect is more limited than in classic "waterfall" sections. Effective and efficient coordination between these silos therefore costs the architect more effort, so that regulating and guiding to achieve an effective and efficient architecture and maintaining it as well also takes more effort.

Challenge 5: getting insight in both private and work domains

The User eXperience (UX) architect focuses specifically on usability of ICT for end users.

This is a particular important expert-architect since the ecosystem of devices, processes and software is now no longer limited to the domain of organizations, but has been expanded with the ecosystem of devices, processes and software that is outside the sphere of influence of organizations. The DCX architect must also have insight into the private and working environment (domains) of the individual, which also partly overlap each other.

The way of life has changed considerably in recent decades. Both private and professional life has become more flexible and dynamic and exerts increasing pressure on the individual. Work and private activities and time regularly overlap and long-term focus on tasks is becoming increasingly difficult. Tasks are therefore increasingly performed in a fragmented manner (micro tasks, micro productivity).

The context in which the individual performs tasks also varies more frequently and to a greater extent than before; he now uses different and rapidly changing devices and applications, from different locations, at any time of the day, and under different circumstances (e.g. online, offline).

In addition, the behavior of the individual has also changed considerably in recent decades. Hardware and software have become fashion-sensitive and participating in trends or, on the contrary, wanting to be “different” by choosing specific equipment and apps has become commonplace.

The behavior of the individual is also influenced by the services and IT ecosystems that he uses. Through structural personalization and commercialization, information bubbles and echo chambers can arise in which the information and services provided to the individual are aligned with earlier behavior and his behavior is thus confirmed more often than is inspired by other insights. Services can, as a kind of government, influence the behavior of the individual.

Both the behavior of the end user, the services he uses and the context in which he performs tasks in both private and work domains and the way in which he performs tasks play a decisive role in the effectiveness and efficiency of services offered to users by organizations. Insight into this is therefore crucial for the work of the UX architect.

How can architects deal with these challenges?

The basis for a good architecture is insight; in functionality, structure and behavior of eco systems. Models that the different specialist architects and designers use will have to be aligned so that a consistent model is formed from which this insight can be obtained. The current method of modeling can be used in part, but the size, complexity and dynamics of these ecosystems requires that modeling should be done in a more comprehensive and efficient manner.

Consolidating models, modelling dynamics and calculating constructions

Static models (the "blocks and arrows", sketches, overviews, etc.) will have to be incorporated into consolidated and standardized models from which views for all expert architects and stakeholders are derived. And insight into the dynamics will play a major role in this, for example in the form of simulations. The concept of "Digital Twins", in which models are expanded with digital replicas of entities that exist in the physical world, offers possibilities to implement these simulations. All the domains involved, both the own organization and the domains in which the individual operates, must be involved.

This way, insight into the architecture and influences on this architecture can be obtained more efficiently and efficiently. This facilitates understanding and communication between the various architects and stakeholders. After all, from a shared simulation across all relevant domains (dynamic) views can be defined in the format that best fits the perception of the stakeholders and expert architects involved. The above-mentioned new questions posed to architects can also be better answered. Impact analyzes can be "calculated" and subsequently evaluated with actual measurements.

Use best practices & patterns

The fact that we have much less to do with monoliths and more with an ecosystem of ICT components (distributed applications with lots more boundaries) makes standardized implementation of solutions for cross-cutting concerns more of a challenge. By using best practices and patterns, thus using solution blueprints standardizing solutions for parts of the ecosystem, this challenge can be met. An additional advantage of this is that, with the use of patterns, the associated problem areas are also better understood.

Keeping up with Agile/SCRUM

Effective and efficient application of Agile / SCRUM stands or falls with sufficient adoption thereof throughout the organization and sufficient involvement of architecture, architects, support services (e.g. for infrastructure) and stakeholders. Although frameworks such as SAFe provide tools for tackling these challenges, they must be applied to a sufficient extent. In addition to adapting the organization and organizing processes, this also requires a different way of thinking: a cultural change. And cultural changes are generally more difficult to implement. Streamlining supporting processes, such as requesting environments (e.g. by applying self service), can in any case significantly reduce the workload of architects.

What remains a challenge is the force field between the interests of the business (which has a more direct influence on work in progress; implementation and documentation / communication) and working under architecture. Software development is becoming increasingly intertwined with business processes (development of services), as a result of which software development itself has actually become a business process itself in which architecture (medium and long term) is given less importance than the rapid realization of agility; the development of new products and services (short term).

Get a better and broader insight

Adding the user's private and work domain to the UX-architect's focus area makes insight more challenging; certainly with the dynamics of the ICT ecosystem, user behavior and context. The use of simulations in those domains is even more important here to give the UX architect the insight with which he can devise efficient and effective solutions.

Because the UX architect has to deal with different domains, both the private and the work domain, the UX architect must have broad knowledge base. His expertise actually includes the expertise of various expert architects; among others in the areas of User Experience (UX), platforms (CMS, business systems), integration and devices (e.g. mobile, IoT).

The models and techniques used in these different areas of expertise will have to be aligned so that a holistic view of solution ecosystems can be obtained. This coordination can already take place initially by making use of existing modeling standards that naturally already offer a joint insight to the various expert architects. An example of this are semantic information models that offer building blocks for epics and user stories as well as for technical data models.

Summarized… and concluding

The ever increasing pressure to deliver products and services quickly, effectively and efficiently in an increasingly complex and dynamic ecosystem of devices, services and users gives the architect some major challenges:

  • Challenge 1: massive increase in boundaries and data streams
  • Challenge 2: additional questions
  • Challenge 3: outdated techniques and tools
  • Challenge 4: work silos
  • Challenge 5: getting insight in both private and work domains

ICT / automation is still a relatively young discipline. Disciplines like architectural engineering, civil engineering, hydraulic engineering and industrial engineering are much more mature when it comes to working under architecture, standards for development and dealing with changes. As ICT architects, we can learn a lot from these disciplines. The techniques used therein such as modeling, calculating (strength theory, capacity planning, simulation, logistics, etc.) and simulation can be a true source of inspiration for us.

No comments:

Post a Comment