backstage / community-plugins

Community plugins for Backstage
Apache License 2.0
135 stars 132 forks source link

πŸš€ Tech Radar: RFC new design #634

Open clanghout opened 1 month ago

clanghout commented 1 month ago

Plugin Name

Tech radar

πŸ”– Feature description

Redesign of the tech radar:

We believe that by understanding the tech radar users first we are able to improve the user interface and user experience for the tech radar. This will change the way the tech radar looks and behaves so it meets the needs of the users in a better way.

🎀 Context

Spotify and bol were working both on an initiative to improve the tech radar. We seized the opportunity to collaborate together and find common ground. The initiative was entrusted to bol because they wanted to do usability testing with users to validate the new designs and make remarks where needed. The usability tests were very positive and on a scale from 1 to 10 the engineers, tech leads, and tech principles scored the new tech radar overall with 2 points higher than the current tech radar.

✌️ Possible Implementation

What will change?

accordionabout

What will be configurable?

Current tech radar:

current

New tech radar:

new

Data format:

Proposal: enrich the entry data object with a label or filter property. The type of that property should be a list of:

{
// to represent the category this filter value applies to (the bold header in the filter dropdown)
category: string,
// the value for this entry within the category (e.g. category: Disciplines; value: Back-end)
value: sting,
}

This would allow the front-end to collect all possible filter labels, and dynamically fill this dropdown with the categories and values.

Where will the configuration for rings reside (count, names, colors)?

https://github.com/backstage/community-plugins/tree/main/workspaces/tech-radar/plugins/tech-radar#tech-radar-data-model -> the ring type already has name, color, and description

How to configure the shape of the blip?

Is now automatically inferred from the timeline property of an entry (blip)

How to include/exclude golden technology indication?

Let’s add an extra property to the entry data type for this. An optional boolean isGoldenTechnology or something like that.

πŸ‘€ Have you spent some time to check if this feature request has been raised before?

🏒 Have you read the Code of Conduct?

Are you willing to submit PR?

Yes I am willing to submit a PR!

Rugvip commented 1 month ago

As mentioned we've been discussing this redesign for a bit, it has my 🦭 of approval 🟒 πŸ‘

andrei-ivanovici commented 1 month ago

This looks really good and extends the base functionality significantly. Especially the filters. I have a few questions and ideas to share

acierto commented 1 month ago

Hey @andrei-ivanovici πŸ‘‹

  1. What is the use case for having labels/tags?
  2. Do you have an example when a blip can be in multiple categories at the same time?
  3. Currently Tech Radar get's the data via Rest API, where user defines the call. So even now can be created a custom entity kind, where this API can read and return to Tech Radar as a source of it.
  4. No, we don't have plans to implement a visual editor. Could be a good addition if someone will πŸ˜„
schobbejak commented 1 month ago

I've been working with the Tech Radar and this redesign would address some of the issues I've been facing. A few other issues I've had are:

So having the options to customise and more flexibility in the data model would be very helpful. If the above options are possible currently and I missed something, I would greatly appreciate any advice on that.