Soms ligt een betere oplossing voor de hand
Niet zo lang geleden heb ik met een klein team een webapplicatie gebouwd waarin meerdere gebruikers in grote installatie-tekeningen tegelijk wijzigingen kunnen maken.
De naïeve oplossing was om bij het opslaan “gewoon” de data samen te voegen, of anders telkens voor één gebruiker wijzigingen toe te staan. Beiden zijn een gevolg van denken in een “desktop” paradigma in plaats van de mogelijkheden van het web.💩
🌈 Mijn alternatieve oplossing was om CQRS te combineren met een Black Board repository in de cloud. Hierdoor hoeft elke editor alleen de relevante subset van de data te downloaden, waren validaties volautomatisch in de cloud te realiseren, en werd het beheren van varianten van de tekeningen kinderspel.
Dit werkte technisch zo goed, dat de Product Owner moeite had om te beseffen welke “onmogelijke” wensen van gebruikers hierdoor werden ontsloten. 🚀
💡Moderne software bestaat niet meer uit het toepassen van oude patronen. Gebruikers verwachten steeds meer, en de kunst is om oplossingen te vinden voor de werkelijke behoeften van gebruikers.