Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

See Thoughtworks Tech Radar FAQ for more information.

Tech Radar Process

(tick) Step 1: Learning

In this step, we learned what a tech radar is and how to apply the concept to Open edX. We took an initial stab at what our quadrants and rings might be, and thought about what sort of blips belong on the radar, and what don’t. We also came up with a plan for how we could collaboratively build the radar with the community.

(tick) Step 2: Ideation (Workshop)

Each participant individually brainstormed blips based on their areas of expertise. The goal was to come up with a corpus of technologies that might become blips.

...

(tick) Step 3: Analysis (Workshop)

Participants gathered in breakout rooms by expertise area: Architecture, Backend, Frontend, and SRE / DevOps. We also had breakout rooms for Data and “Rebels”, but they were unused during the workshop for lack of participants.

...

(tick) Step 4: Retrospective (Workshop)

We paused after our analysis to reflect on the process so far. This included feedback on the workshop itself, the emerging shape of our radar, how we should categorize blips, and thoughts on how we should proceed for the next steps.

...

(tick) Step 5: Quadrants

In this step we looked at the output of Step 3 (Analysis) and categorized technologies into quadrants using our learnings and predictions from Step 1 (Learning) to guide us. We confirmed - based on the analysis in the workshop - that having quadrants of Techniques and Open edX Technologies made sense for our Tech Radar. The former is also present on Thoughtworks' Radar, and the latter makes sense given the number of Open edX-specific technologies in use in our platform.

We also decided that we had enough technologies in the frontend development ecosystem, and that they were distinct enough from our other technologies, to justify having a Frontend quadrant. Finally, all other technologies effectively went into the Technologies quadrant. The majority are backend oriented, but there are also a number of services and operational/process technologies in this space.

...

(tick) Step 6: Consolidation

In this step, we refined what potential blips should be included in the radar. We came up with a set of criteria by which we could combine some blips and remove others, with the goal of having roughly 25-50 blips in each quadrant.

...

We also made some decisions around the shape of the radar and the next steps in the process.

Approaches

...

  1. Combine listing of tools into description of the single 'technique' that they support.

...

  1. Combine or exclude blips that only a small percentage of engineers need to know about. For example, engineers are consumers of all the coverage and linting tools. They don't need to know about each one we use and don't use. They can be listed within a description, if needed.

...

  1. Combine blips where one is an important subset of the other, or a sub-technology integral to the adoption of the other.

...

  1. Remove blips that are obvious and can be taken for granted. (eg Django).

...

  1. Remove blips that are not used in the platform at all right now. If the idea is a consideration for the future, have it first be prototyped with a provisional OEP. Exception: If it's a commonly asked question of our opinion on it and we've made a decision against it, consider including it.

...

  1. Move blips that are abstracted away by cookie-cutters or Open edX APIs (since those choices are made for developers) to the 2nd tier Radar.

...

  1. Move blips that developers need not know about within their first 30 days to the 2nd tier Radar.

Decisions

  • Rings. Align name of rings with status of OEPs. We want to update OEP-1 to remove the "Final" state and clarify the difference between Provisional and Accepted. We also want to add a description for the "Adopted" state we propose using in the Tech Radar.

  • Tiers of Radars.

    • 1st tier includes information that we expect developers will want to know within 1st 30 days.

    • 2nd tier includes additional decisions to learn post-30 days.

    • 3rd tier includes edX.org-specific decisions.

  • Descriptions Next. We'll write blip descriptions first, then use that additional context to determine what ring it belongs in.

  • Quadrants. Our quadrants will differ from those used by Thoughtworks. One of our quadrants should be "Open edX Technologies" and include technologies specific to the Open edX ecosystem. The "Techniques" quadrant from Thoughtworks radar feels appropriate for ours, so we will use it. The remaining two quadrants are currently "Backend" and "Frontend", reflecting the natural divisions in our code-base.

We then populated a spreadsheet with all of our blips and set the quadrants appropriately, and the rings to “Hold” pending Step 8. https://docs.google.com/spreadsheets/d/1ntg2fy7EBR0TFGktyORyv3W-K1bOmhr5Z4EU6WzdSWE/edit#gid=0

...

Step 7: Descriptions

This is our current step. The goal of this process is to generate descriptions for all of the blips on the radar. We believe that we will more accurately categorize blips into rings equipped with descriptions of what each blip is, and what it means - qualitatively - to the Open edX platform. We intend to do this collaboratively in the Tech Radar spreadsheet. Participants can sign up to be an Author or Reviewer of a blip description.

Step 8: Rings

Once we have descriptions of our blips, it’s time to categorize them into rings by their level of adoption. We haven’t chosen a process for this step yet. One proposal is to use a set of Google Surveys to ask participants to assign a ring to each blip and optionally give a rationale.

Step 9: Publish!

We want to share our Technology Radar with the broader Open edX community to help onboard and educate everyone about our technology stack. As part of our broader information architecture goals, we expect to be prominently linking to the Tech Radar from our documentation. New engineers should be familiar with the technologies in the “Primary Radar” within their first 30 days.

Step 10: Iterate

Once we’ve published the radar, that’s not the end. As we all know, technology continues to change constantly, and our Tech Radar will be both the vehicle for how we adapt to changes in technology, as well as our outward expression of those decisions.

...