Architecture is about elegance, whether it is about construction or software.
Architecture is about elegance, whether it is about construction or software.

I am an enterprise architect. Among the things I work on, I am bridging technology and business at the enterprise level. When I am on the technology side, I am talking to a lot of engineers and architects of various levels. When I am on the business side, I am trying to explain our technology constraints, while trying to not dumb it down or sound condescending – two behaviors I viscerally hate.

Setting clear expectations across the board has become an important part of my job. This comes by setting the right level.

That’s why I wanted to level-set vocabulary and concepts that I considered critical. Therefore, when The Select Group asked me to talk to their consultants, I jumped on the opportunity to finally prepare this Building Enterprise Software Today presentation. The Select Group already invited me to give a talk on Data and AI last year.

The first version of this conference was given on January 26th, 2021, I have since cut the content into three twenty-minute videos available on YouTube.

Part 1: CX, architecture patterns, and more…

The first part sets the decorum. Where did software engineering come from? Why was there a need for change? Sure, I am talking about key elements like relational databases (and the third normal form, my favorite), but I quickly jump into the drivers for change. The web came along and brought this need for instantness of everything. How does it impact your information systems? Are your skills still relevant? CX or Customer Experience is the driving force behind modern software engineering.

I will go through the guiding principles of empathy, which is one of the keys to understanding your customers. It will then be time to jump into some of the common architecture patterns such as microservices, API gateway, event streaming, and integration.

Part 1: CX, architecture patterns, and more…

Part 2: DevOps, Cloud, and more…

The second part talks about technical debt and what you could be doing about it. Where is your deployment strategy now? Let’s find out how deployment (or distribution of software) has evolved on the consequence it had. Is DevOps just an IT version of PDCA? What’s the SAFe approach to DevOps? Can we make DevOps CALMR? I’ll jump to Infrastructure as Code (IaC) and why is it a direct consequence of DevOps and, also, finance? Finally, what is the Cloud bringing in the mix, and what’s a good practice of using the Cloud?

Part 2: DevOps, Cloud, and more…

Part 3: Documentation, Security, and more…

The third (and last) part talks about an easy way to structure and keep your documentation up to date. Not too much doc, not “not enough.” I split the documentation into seven viewpoints to target precisely the different stakeholders in your project. Security is a vast subject but I will explain why a gated process will not be enough. The organization needs to consider a culture shift around security as well. Finally, I will talk about SAFe and how it can help you structure all these new constraints and conclude with a good Q&A session.

Part 3: Documentation, Security, and more…

Going Forward

I covered a lot of concepts in a very short time: I hope I manage to share the holistic (as in Ayurveda) approach to modern software engineering and its evolution over the last decades.

ThenNow
Predictable loadsScalable architecture
Database-centricCustomer-centric
Focus on transactionsFocus on experience
BatchNear real time
Need-basedUbiquitous
Hardware-dependentCloud-native
Security as a culture

I hope you share this vision. I am happy to debate in the comments, as well as what you think I should add, remove, modify in future iterations of this presentation. More than ever, your feedback is precious.