Architectural Decisions (ADs) influence and impact the non-functional characteristics of a system.
Software architecture design is a wicked problem,[REF] therefore ADs are difficult to get right and often, no single optimal solution for any given set of architecture design problems exists.