openedx / axim-engineering

GitHub Issue repository for the Axim engineering team
https://openedx.atlassian.net/wiki/spaces/COMM/pages/3241640370/Axim+Collaborative+Engineering+Team
4 stars 3 forks source link

Discovery: MFE Extensibility and Pain Points #146

Closed arbrandes closed 2 years ago

arbrandes commented 2 years ago

Final discovery artifact open for comment: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/3390701611/Discovery+Findings+Areas+of+Improvement+for+Micro-frontends

Background:

The original abstract to kick off implementation of MFE plugins is as follows (from https://github.com/openedx/platform-roadmap/issues/27):

The ability to extend the user interface of the Open edX Platform is a prerequisite for scalable innovation, customization, and experimentation. It allows us to maintain a small, stable, and extensible platform core, and is a vital part of our micro-frontend customization capabilities. Micro-frontend plugins (a.k.a., "Experience Plugins" or "XPs") give us a dramatic increase in flexibility in how we build and deploy our user experiences. They enable an increase in team autonomy for feature development, modularization of cross-cutting features, code reuse, and approachable experimentation and extensibility.

While there is general consensus that extensibility of the user interface is a critical prerequisite for scalable innovation, customization and experimentation, there are a number of assumptions and gaps in this abstract that require further investigation and testing before implementing MFE plugins as a solution.

One key assumption is that MFE plugins are indeed the most effective solution for extending the user interface. Has feedback been gathered from target users to illustrate and support this assumption? Is there a clear understanding of how the user interface experience will be demonstrably better with the implementation of MFE plugins?

Furthermore, gaps include:

Background:

MFEs have many benefits for developers, including:

However, the current process of executing MFEs has resulted in pain points. Two examples include:

See this thread for a longer discussion on pain points.

Scope and Intended Outcome:

The goal of this epic is to outline a discovery framework and process for addressing the assumptions and gaps listed above, and to deepen understanding of the current MFE landscape, including pain points, advantages and challenges for each of the key personas who interact with and benefit from MFEs.

By the end of the discovery process, we will have:

  1. a clear view of the nature, scope and types of pain points that currently exist in MFE workflows, and who (which users/personas) those pain points impact the most;
  2. a clear view of how MFE plugins could fix or mitigate those pain points, as well as enhance or improve the user interface experience more broadly;
  3. a clear definition of what a plugin is and is not;
  4. a list of tradeoffs and alternatives to implementing MFE plugins.
  5. a clear point of view on whether to move ahead in implementing MFE plugins, and a recommended approach.

Associated tasks:

See https://github.com/openedx/platform-roadmap/issues/27.

arbrandes commented 2 years ago

Status update: there hasn't been much progress, yet. I'm expecting this to change next week.

arbrandes commented 2 years ago

@jmakowski1123, only made minor changes to the enumeration of pain points. Otherwise I'm completely on board with the description. Thanks!

jmakowski1123 commented 2 years ago

Final discovery artifact open for comment: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/3390701611/Discovery+Findings+Areas+of+Improvement+for+Micro-frontends