Recommendation: When to MFE

Context

Recently, at an Arch Tea Time and at a Consumer Review, questions were raised on tradeoffs and decisions on when to rewrite legacy frontend pages to MFE technology.

Recommendation

The following set of recommendations can be used as a basis for discussion by the owning squad. As with other implementation decisions, consider tradeoffs between schedule, budget, and resources, along with code quality as defined below.

New large-scale frontend development

Implement new large-scale frontend development using our latest frontend technology: React-based micro-frontends, bootstrapped with our frontend-template “cookie-cutter”.

Updates to legacy frontend code

'Minimal' changes

For a minimal required change, the team will likely not invest in an entire re-write effort.

‘Medium effort’ changes

For a more substantial change, here are a few options that the owning squad can consider given other business considerations.

Quality

  • For MFE rewrites, see https://openedx.atlassian.net/wiki/spaces/FEDX/pages/1917944547.

  • For legacy frontend updates that are somewhat temporary (e.g., #1 and #2 in Option 3 above), the team may choose to not invest as much time on otherwise “Clean Code” practices - with the caveat that the team create a backlog reminder to remove any “hack” code within (3) months. Adding a TODO statement in the code along with a link to a Jira ticket is one way of tracking this.

Sub-Pages