The Art Of Software Architecture (Englisch Version)
Cooking on top level

Software Architecture is becoming increasingly complex. A number of years ago, a total solution was often chosen; "Best-of-Suite". Today you see more use of individual components all the best in performing a specific task; "Best of Breed".
How can you as a Software Architect deal with this trend? I often compare it to food. See the Software Architect as a Chef and compare the architecture with a menu. The applications are the ingredients. You must also make choices that a Chef makes; … .. How many courses does the menu have? Sweet or savory? Many or less? Expensive (exclusive) or cheap dishes? Homemade ice cream or from the supermarket? ….. The method of preparation, quantities and timing are also important for a super dish.
Let's look at the ingredients. In a Dutch family, Dutch-dishes used to be cooked. According to a fixed recipe, in a grandmother's way (Best-of-Suite). There was one exception on Sunday; "The Chinese". That had to do with father and his Studio Sport.
The pepper was introduced to the Netherlands some 50 years ago. From that moment on, numerous new - sometimes exotic - ingredients have been added. Also a host of new recipes. The "Fusion Kitchen" made its appearance. Different styles are combined into a tasty meal (Best-of-Breed). A little about those recipes, do you have that too? You follow a recipe - with military precision - but the result is not the same as on the picture or on television,…. oh yes it also took twice as long. While the Chef does everything smoothly and jokes with it; “…. Anyone can make it
... ". Yeah right, so that's disappointing. Certainly if you are going to experiment with different ingredients: Chocolate is tasty in itself and tomatoes are too, but together?
You can translate the above into Software Architecture one-on-one. Architectural principles (recipes) can easily be combined with all new applications (ingredients). You must always ask yourself the following questions: Why, why, when, with what and how. These are the underlying questions behind a good and flexible architecture. The choices that result from this cannot be captured in an If-Then-Else procedure (recipe). You need a professional team for preparation and a lot of practice because: ".... Practice makes perfect ....".
Casper.
Blog

Nu er veel nagedacht wordt over Digitale Transitie rijst de vraag; “ Wat doen we met al die digitale gegevens? ” Waar vroeger de website het eindstation was zijn er anno 2020 betere oplossingen. Waarom je beperken tot een website, of mobiel? “ -- Mobile first -- ” is een veel gehoorde kreet. Ik pleit er voor dat om te bouwen naar “ -- API-first -- ” (API staat voor; Application Programming Interface). Als we de software architectuur verdelen in een voor- en achterkant en we zetten daar een laag tussen die dat allemaal verbindt. We waren immers toch al bezig met het schaalbaar maken van de backend systemen (achterkant) in het kader van de digitale transformatie (Lees ook mijn blog over Digitale Transformatie , https://www.casperotto.nl/digitale_transformatie ). Hoe mooi is het als je een API-laag creëert waarop je alles zou kunnen aansluiten: een website of een mobiele applicatie of een koppeling met een ander platform of ….. wat je maar wil. Je bent flexibel om te doen wat voor jouw bedrijf het beste is. Bijvoorbeeld voor klanten een portaal realiseren waar ze zaken zelf kunnen regelen. Of koppelen met een ander portaal van een partner bedrijf. Ongekende mogelijkheden. Van belang is wel om de digitale transformatie goed door te voeren. Als systemen op een goede manier gekoppeld zijn heb je daar veel profijt van. Belangrijke vraagstukken zul je moeten beantwoorden (onder andere); • Welke delen van de architectuur gedragen real time, welke niet? • Waar leg ik gegevensverzamelingen aan? • Waar moet ik buffers creëren om niet (te) afhankelijk te zijn van andere systemen? • Waar maak ik gebruik van API’s en waar van (micro) services? Belangrijk is om goed het evenwicht in het oog te houden. Net als met alle goede apparaten moeten de componenten in balans zijn. Alleen dan werkt het optimaal samen. Naast het technische is het ook belangrijk dat je een groep met de juiste mensen samen stelt. Met focus op techniek, business en financiën. Multi disciplinair, laat ze samen werken, stel kaders op maar zo min mogelijk doelen. Laat het team dat doen, je kunt de uitkomst toetsen aan de strategie welke je voor ogen hebt. Misschien word je wel verrast met een uitkomst die je niet voor mogelijk had gehouden. Dat geeft je als ondernemer ook een boost, nieuwe terreinen verkennen, nieuwe dingen leren en ontdekken. Iedere disruptieve gebeurtenis, hoe vervelend ook, opent de deur voor nieuwe kansen en oplossingen. Laten we er wat mee doen! Casper. https://www.casperotto.nl/ https://www.casperotto.nl/blog