Latest articles

  • The 4+1 view model for software architecture documentation
    How to describe software architecture in a way that can be easily understood by all stakeholders, be they technical or non-technical? How […]
  • DRY principle with Microservices
    When working with development teams transitioning from a monolithic applications to microservices I sometimes face their anxiety of breaking the ๐——๐—ฅ๐—ฌ (๐—ฑ๐—ผ๐—ป’๐˜ […]
  • Layer Architecture vs. Hexagonal Architecture. Which one to choose?
    Layered architecture is a common architectural pattern for organising application components into distinct technical layers – presentation, application, business, persistence, etc The […]
  • 4 database caching strategies for scaling applications
    When ๐˜€๐—ฐ๐—ฎ๐—น๐—ถ๐—ป๐—ด ๐—ฎ๐—ฝ๐—ฝ๐—น๐—ถ๐—ฐ๐—ฎ๐˜๐—ถ๐—ผ๐—ป๐˜€ the database is often one of the bottlenecks. Caching is an effective way of reducing load on the database […]
  • What is MACH Architecture?
    You may have heard this acronym and you were wondering that it means. MACH is an industry tech standard describing modern technology. […]
  • Prototyping with headless CMS
    One easy way I sometimes validate software architectural solutions I am working on is through ๐—ฝ๐—ฟ๐—ผ๐˜๐—ผ๐˜๐˜†๐—ฝ๐—ถ๐—ป๐—ด. According to wikipedia, a prototype is […]
  • 3 simple rules for effective communication
    Effective communication can prevent or even overcome many problems in software engineering. Many engineers are often underestimating the value and the power […]
  • Data isolation in multitenant applications
    Isolating data in multitenant SaaS applications is a challenging aspect. Between the extremes of sharing all resources between tenants and provisioning individual […]
  • The six drivers for evaluating legacy systems
    There is no silver bullet method for legacy modernization. The best approach obviously depends on the problem that need to be solved. […]
  • Untangle Complexity With Event Storming
    Understanding complex domain models is quite challenging. You can spend a huge amount of time chatting, emailing or meeting relevant (and sometimes […]
  • Software Architecture Evaluation Methods
    Here is yet another post on software architecture evaluation. After ATAM, LAE, Tactics Based Analysis, this time a more general one focusing […]
  • 12 common pitfalls of legacy modernization
    For sure the majority of us working long enough in software engineering have been involved in at least one legacy modernization project. […]
  • Tactics-Based Analysis for Software Architecture
    A tactic is a design decision which influences the achievement of a quality attribute response. It directly affects the systemโ€™s response to […]
  • Lightweight Software Architecture Evaluation
    Continuing the series of posts on software architecture evaluation, with a simpler evaluation method: Lightweight Architecture Evaluation (LAE). As documented in Software […]
  • ATAM made easy
    We all know that reducing risks in early phases of software development lifecycle is extremely important. We all agree that we must […]