its features, and each feature is owned, frontend to backend, by a different team. This ensures that every feature is developed, tested and deployed independently from other features.“ Micro Frontends De fi nition: Thoughtworks Technology Radar 👩🏭 📦 🔬
Specialist Teams Team Inspire Team Decide Team Checkout Cross Functional Teams grouped around a use case or customer need grouped around a skill or technology developing a new feature inter-team communication ⏳ Autonomy level waiting for others Source: Micro Frontends in Action
66 $ 1 1 list home detail basket payment confirm $ $ %% Team Inspire Team Decide Team Checkout Customer Journey Source: Micro Frontends in Action How do we separate? systems are aligned with user fl ow
per team n teams 1 team split team if needed works great in a known domain > low risk for wrong cuts higher operational complexity if cuts are not needed
██████ ████████ ██████ ████ ██████████████ ████████ ████ ██████████ send message inquiry system Chat interface for experts to support customers with their DIY projects. Customer Service Back Of fi ce
█ ██████ ████████ ██████ ████ ██████████████ ████████ ████ ██████████ send message materials for premium bike shed #22 ███ ██ ██ █ + ▼ █ ██ █ ██ █ materials system inquiry system System for composing and managing part lists. Knows all products, individual pricing, discounts, availability, … included materials system acts as an HTML form fi eld containing the id of the selected list inquiry system doesn’t have to know anything about lists and products 😁 perfect decoupling
█ ██████ ████████ ██████ ████ ██████████████ ████████ ████ ██████████ send message materials for premium bike shed #22 ███ ██ ██ █ + ▼ █ ██ █ ██ █ New Legal Requirement The state of a sent material list must be conserved. 🌟 Quick solution: inquiry system noti fi es materials system when a message is submitted via browser events. 🙂 still decoupled but two-way communication inquiry system materials system message sent event
████ ██████████████ ████████ ████ ██████████ send message materials for premium bike shed #22 ███ ██ ██ █ + ▼ █ ██ █ ██ █ inquiry system New Legal Requirement Documents can’t be modi fi ed after sending. 🌟 Solution: inquiry system includes document system. Same pattern as with materials system. materials system document system upload ███ ██ ███ █ ██ █ █ ██ New Feature Instructions and data sheets can be attached. 🌟 🫤 loosely coupled but increasing complexity message sent event
████ ██████████████ ████████ ████ ██████████ send message materials for premium bike shed #22 ███ ██ ██ █ + ▼ █ ██ █ ██ █ inquiry system materials system document system upload ███ ██ ███ █ ██ █ █ ██ New Feature Material lists can have a set of initial documents. 🌟 😭 loosely coupled but high complexity Hard to debug and change. Three teams are involved. list selection changed message sent event
████ ██████████████ ████████ ████ ██████████ send message materials for premium bike shed #22 ███ ██ ██ █ + ▼ █ ██ █ ██ █ upload ███ ██ ███ █ ██ █ █ ██ Are these the best system boundaries? Is this the best user experience?