FY21-22 Architecture User Story Roadmap

The following User Story Map provides a high-level overview of the work that edX’s Teams and the Open edX Community are collaboratively delivering over the next few quarters, which include Koa and Lilac releases. These items were taken from the earlier list gathered at Needed Architecture Investments.

As with any roadmap, there is more uncertainty as you look further into the future. However, this still provides a common understanding of what we plan to tackle and what we are leaving on the table. If you have the interest and time in tackling any of the items still listed in the “Backlog” lane, please reach out to @Nimisha Asthagiri (Deactivated) to coordinate the effort. Thanks!

Roadmap supported with the Community

User
Activity

Onboard to (new area of) Platform

Local Development

Cross-boundary Development
(x-repo, x-service, x-org)

Production Development

Maintain Long-term

User
Task

Understand the Platform

How to Use/Develop

Make
change

Test
change

Integrate and not modify core

Deploy change

Observe change

Assess health & value

Removals & upgrades

FY21 Q1 (Jul-Sep)

 

 

Devstack decentralized <Pilot> [1]

Test
Nose to Pytest [4]

Eventing Message bus <Spike> [1]

 

Toggle Env Compare Report

Observability Training [1]

Tech Health Dashboard v1 [1]

Remove Shopping Cart

FY21 Q2 (Oct-Dec)
Koa

 

Toggle Docs (OEP-17) <Pilot> [5]

 

 

 

 

MFE Open Deployment <Pilot> [3, 5, 2]

Split On-call Ownership of Monolith [1]

Toggle Removal Report [5]

Upgrade
Python 3.8 [3]

---------

Remove Notifier

FY21 Q3 (Jan-Mar)

 

Toggle Docs (OEP-17) <Adopt> [5]

---------

Conventional Commits (OEP-51) <Pilot> [1]

Devstack
Doc wins,
Eval Tutor [2]

Pylint
as effective feedback loop [1]

 

 

Containerization Phase 1 <Pilot> [1]

Observability of Celery tasks [1]

 

Upgrade Elasticsearch7.8 [7], Ubuntu 20.04 [1],
MySQL 5.7 [1]

---------

Rotatable SECRET_KEY [1]

---------

Remove XServer

FY21 Q4 (Apr-Jun)
Lilac

Onboarding Slides v4 [1]

Conventional Commits (OEP-51) <Evangelize> [1]

Devstack DevData (OEP-37) <Prototype> [1]

---------

Devstack Metrics [1]

 

 

 

MFE Open edX Deployment <Adopt> [All]

---------

Tutor-for-Open-edX-Deploys <Eval> [5]

 

Tech Health Dashboard v2

Upgrade Prep Django 3 [1]

---------

Remove MIT SysAdmin [8]

FY22 H1 (Jul-Dec)
Maple

Tech Radar

---------

Onboarding Course [6]

Conventional Commits (OEP-51) <Adopt via Automated-Feedback> [1]

Tutor-for-Devstack <Implement> [5]

Pact.io for API Contract-testing <Pilot> [1]

---------

Cypress for end-to-end testing <Adopt> [1]

---------

GitHub Actions, not Jenkins/Travis [1]

Eventing Standard xAPI/Caliper (OEP-26) [4]

---------

Eventing Message bus (OEP-52) <Pilot> [1]

Backend Plugins Django Event API (OEP-50) [3]

---------

Frontend Plugins <Pilot> [1]

Tutor-for-Open-edX-Deploys <Pilot> [5]

---------

Containerization Phase 2 <Implement> [1]

---------

Simplify edx-platform deploys [1]

 

HTTP Cookie Size Alerting [1]

Upgrade
Django 3.2 [All],
Mongo 4.2 [1],
ES 7.10 [1],
Ubuntu 20.04 [1]

FY22 H2 (Jan-Jun)
Nutmeg

 

 

Tutor-for-Devstack <Pilot> [1]

 

Eventing Message bus <Adopt> [1]

Backend Plugins
Python APIs [3]

---------

Frontend Plugins <Adopt> [1]

Tutor-for-Open-edX-Deploys <Adopt> [5]

---------

Containerization Phase 3 <Adopt> [1]

 

 

Upgrade
Node.js [1],
OpenSearch [1]

---------

Remove Legacy Account FE Pages

NEXT

 

 

Tutor-for-Devstack <Adopt> [1]

 

Eventing Message bus <Sustain> [1]

 

Containerization Phase 4 <Sustain>[1]

 

 

Remove Legacy Courseware FE Pages

---------

Remove SiteConfiguration

Backlog Grab Bag

Developer Handbook

Monolith Structure & Boundaries

Doc OEP Refinements

Test Speed startup & individual time

---------

Test Strategy

Authn and Authz Standardized

---------

API Practices

Frontend APIs for rapid development

MFE Theming

---------

Canary Releases in lieu of Stage env

Distributed Tracing

---------

Service Mesh

Automated Feedback Loops

 

Organizations listed above in red

  1. edX

  2. OpenCraft

  3. EduNext

  4. Edly

  5. Overhang.io

  6. Appsembler

  7. Raccoon Gang

  8. MIT

Change History

(We listed changes here when the roadmap was an image instead of a table. Now, you can rely on the wiki’s change history information.)

  • 2021-02-10

    • Deferred

      • Moved “Elasticsearch, Ubuntu 20.04, MySql 5.7” from Q2 to Q3.

      • Moved “Authentication Standardized” from Q3 to Backlog.

      • Moved “Eventing: Inter-service messaging Pilot” from Q2 to Q4.

      • Moved “Eventing: Standard xAPI/Caliper” from Q2 to Q4.

      • Moved “Backend Plugins API: Python APIs” from Q3 to Q4 (Django Signals remains in Q3.

    • Moved Up

      • Moved “Doc: Developer Handbook” from Backlog to Q4.

    • Replaced

      • Deleted “Decentralized Devstack Adoption” from Q2.

      • Added “Devstack: Doc Wins, Data Provision, Eval Tutor” to Q3.

    • Added

      • Added “Pylint as effective feedback loop” in Q3.

      • Added “Monolith PR Standards” in Q3.

  • 2020-10-26

    • Moved “Eventing Standard xAPI/Caliper” from Q1 to Q2.

    • Moved “Backend Plugins API” from Koa to Lilac.

  • 2020-09-25

    • Moved “Doc Onboarding Course” from Backlog to Lilac, assigned to Appsembler.

    • Moved “Eventing Inter-service messaging” from Lilac to Koa; “Authentication standardized” from Koa to Lilac.

  • 2020-09-11

    • Added “Plugin Templates” and OpenCraft to the “Backend Plugins API” card.