Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discovery: MFE Extensibility and Pain Points #146

Closed
2 tasks done
arbrandes opened this issue Feb 16, 2022 · 3 comments
Closed
2 tasks done

Discovery: MFE Extensibility and Pain Points #146

arbrandes opened this issue Feb 16, 2022 · 3 comments
Assignees
Labels
discovery Pre-work to determine if an idea is feasible epic Large unit of work, consisting of multiple tasks

Comments

@arbrandes
Copy link
Contributor

arbrandes commented Feb 16, 2022

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 openedx/platform-roadmap#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:

  • Clear understanding of associated pain points with the current MFE experience and articulation of how MFE plugins will address (or not) those pain points.
  • Clear articulation of target audience. Who are MFE plugins intended to support, and how.
  • Clear definition and scope of plugins.
  • Tradeoffs and alternatives to MFE plugins

Background:

MFEs have many benefits for developers, including:

  • more flexibility
  • more productive workflows
  • more potential for customization

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

  • they're currently harder to theme and customize, requiring users to fork the MFE codebase(s)
  • they make it harder for Tutor developers to bundle them, which undermines the intent of Tutor adoption

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 openedx/platform-roadmap#27.

@arbrandes arbrandes self-assigned this Feb 16, 2022
@arbrandes arbrandes added discovery Pre-work to determine if an idea is feasible frontend Frontend-related tasks labels Feb 18, 2022
@jmakowski1123 jmakowski1123 removed the frontend Frontend-related tasks label Feb 18, 2022
@arbrandes
Copy link
Contributor Author

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

@jmakowski1123 jmakowski1123 added the epic Large unit of work, consisting of multiple tasks label Mar 17, 2022
@arbrandes
Copy link
Contributor Author

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

@arbrandes arbrandes changed the title Discovery: MFE Plugins Discovery: MFE Extensibility and Pain Points Mar 22, 2022
@jmakowski1123
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discovery Pre-work to determine if an idea is feasible epic Large unit of work, consisting of multiple tasks
Projects
Development

No branches or pull requests

2 participants