12/23/19

Capgemini Netherlands' yearly tradition: Patatjesdag (French-fries-day)!

A great opportunity for our kids get acquainted with new technologies, to have a lot of fun ... and have tons of French fries in the bargain!


















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.

12/11/19

The Wednesday Evening Training: a recap of 2019 and quick preview of 2020

Also this year we organized around 50 sessions on diverse technical topics. We learned a lot and we had a lot of fun...



On 3D graphics... Quincy Jacos and Remko Haagsma organised a number of sessions covering various techniques in computer graphics like WebGL, Unity 3D, Blender and of course the math involved. We dealt with one topic per evening and had also have time to work on projects together or alone. At the end of 2019, we mainly discussed topics that were close to the basics. The sessions that have been held so far were about the layout of the track and the Unity game engine.

On Quantum Computing... Julian van Velzen organised sessions in which the basics of Quantum Computing were discussed: the physics, gates, programming and platforms (IBM, Microsoft) involved.

On architecture... Amir Westhoff, Fred van Nimwegen and Hans van Rijs discussed ways in which architecture can be modelled, stored & queried and visualized. Some of the topics: Neo4J (graph databases) and Apache Jena for storing and querying models, patterns, modelling in Archimate/Archi and UML and model visualization prototypes in threejs (2D/3D).

On IoT and Microcontrollers... Aishwarya Dhall organised sessions on Arduino, Raspberry Pi. In various labs we experimented with various sensors, made our own LED cube and learned to implement basic home automation solutions using IFTT (If This Then That) and Smart Home Devices like Alexia.

We discussed various topics on software engineering and specific technology stacks like C#, Python, Code Reviewing & SonarQube, ASP.NET Core, WebSockets and SignalR.

On mobile we had workshops on Android Studio, Ionic4 and Progressive Web Apps (PWA).

There was also room for Frontend technologies like Angular, Web Components, FlexBox and Vanilla Frontend Architectures (that is: building the frontend without frameworks).

On security, we had sessions on Encryption and Social Engineering in which we discovered that you don't need to use advanced technology to hack an organisation.

Various platforms were discussed, like Kafka, Docker, Kubernetes and DevonFW.

And in our "klusavonden" (which translates from Dutch as "an educational and sociable evening full of experiments on technology") we worked on our projects on various topics, gave demos and held discussed on the topics involved.

Thanks to all colleagues who contributed to the sessions by sharing their knowledge, experience, prototypes, demos and participating in the inspiring discussions!


There remains a lot to learn in our Wednesday Evening Training... a quick preview on 2020


In 2020, we'll continue our tracks on Graphics, IoT & Micro controllers, Architecture and our Combi klusavonden. And more topics have been put on the agenda... and there is still room for more.

The agenda for the sessions in January and February 2020 will include:

  • Combi IoT klusavond: Squat for coffee (Arduino and sensors)
  • Practical 3D Graphics & Programming: Practical 3D Graphics & Programming: Unity movement
  • A practical introduction to the Kotlin cross-platform programming language
  • A practical introduction to the ReactJS framework
  • Combi IoT klusavond: Automate your house using IFTTT.com (If-This-Then-That)
  • Practical 3D Graphics & Programming: Blender modeling
  • Architecture: API management


Past Wednesday Evening Trainings on all topics

You 'll find post of previous sessions on my blog and on LinkedIn: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining


Would you like to attend one of our Wednesday Evening Training sessions?

There is a limited amount of seats available to attend our sessions. Please send me an email if you would like more information on the sessions and the the possibilities to attend.


Work @Capgemini?

Do you want to join us? We're always looking for and well-motivated young professionals. Do you have a bachelor or master degree or extensive practical experience? Or do you have a relevant ICT / Informatics training and you have become curious about us? Please send me an email. Working for us gives you access to all Wednesday Evening Trainings!