Preface
Thanks for acquiring this book! It was born out of the need to industrialize Information Systems. Software is everywhere but, apart from a few high-cost applications, it is full of bugs and costs a lot in maintenance, and most developers spend half their time reinventing the wheel or fighting against the Information System to add some new features.
This is my harsh observation from more than 25 years in the field and a few years working specifically on digital transformation for many different organizations. These diverse experiences convinced me that the root problem is always the same: the software industry does not actually follow the rules of industrialization, which are to decompose systems into smaller ones and join modules together with standards-obeying interfaces.
Working together with academics helped me formalize these problems of business/IT alignment, along with their sources and possible solutions. But most of my customers have told me that I stood out as a consultant because I was able to not only provide boards of directors with a clear transformation plan but also to accompany it with advice on semantics all the way down to the API contracts, and even some hands-on help in the code for the hard bits. They said this made the whole partnership more tangible and provided visible business results, so this is how I wanted this book to be: some theory first because we need to switch the way we think and create Information Systems, but some code as well because too many of them are not efficient today.
Having seen the positive effects on the business efficiency of many companies, from a small lawyers firm to industry/logistics enterprises and to some huge farming cooperatives, I am convinced applying industry concepts to software design and architecture will become a more and more cost-effective approach, particularly since software and data are becoming the competitive backbone of most organizations nowadays.
Using norms and standards for API interfaces, externalizing functions such as authentication, authorization, electronic document management, and, most importantly, thinking in terms of business functions rather than technically, is of utmost importance if you want to transform an Information System from a cost center to a strong asset of an organization.
This method has helped many companies and government-owned agencies, and I hope it will do the same for your Information Systems!
Who this book is for
This book aims to help you create or evolve Information Systems architecture in such a way that it becomes more flexible and provides more business value to your organization. Since it is theoretical, business-oriented, and technically applied with an application in .NET, it can be read at many levels and by many profiles:
- Board directors and chief officers can read the first chapters in order to understand digital transformation and how it can be strategized. Finding out about the most common problems in Information Systems should help them invest in the right places and prioritize work, taking into account not only features but also technical debt reduction when justified.
- Tech leads, architects, and R&D managers will also benefit from reading the next chapters that make the strategy more tangible and explain best practices in structuring Information Systems, choosing tools and methods, and applying alignment in their job.
- - Finally, developers or hands-on architects and technical directors will continue reading the book's last chapters that really put the previous chapters into practice by coding the different concepts, plugging external services, and orchestrating API and webhooks together to create a small but working sample system.