Designing and developing machine learning (ML) enabled systems is a complex process that can be eased by leveraging effective and established design decisions that tackle the most important challenges. This knowledge is expected to lead to a good system and software architecture.  We have identified, via a systematic literature review and a series of practitioner interviews, a set of common challenges, best design practices, and software architecture design decisions relevant to the creation, maintenance, and evolution of ML-enabled systems.

In this workshop we will present the results of our investigations.  These best practices are categorized into: 1) system-level concerns, 2) component-level concerns, 3) system environment concerns, 4) project process, and 5) architecture process.  In this workshop we will present and discuss the findings and best practices learned in each of these categories.  Our goal for this workshop is to turn this categorization into an actionable design checklist that is usable by architects of ML-enabled systems in the real world.

Therefore the 3 hours of this workshop will be divided into an initial presentation of our findings and an interactive discussion on how to turn these findings into a useful and usable resource for practicing architects.