department-of-veterans-affairs / va.gov-team

Public resources for building on and in support of VA.gov. Visit complete Knowledge Hub:
https://depo-platform-documentation.scrollhelp.site/index.html
284 stars 206 forks source link

Define imposter component in appropriate guidance #96720

Open shiragoodman opened 2 weeks ago

shiragoodman commented 2 weeks ago

User Story

As a VFS team member, I want to understand what an imposter component is so that I can prevent them from being used in my product, or learn how to address them if/when an imposter component is flagged at Staging Review.

Assignee: @allison0034 Peer Reviewer: @KKitagawa-Bosch

Description

There is currently no guidance on Platform Website or on VADS that explains what an imposter component is. If we're going to use this language in Staging Review and throughout the Collaboration Cycle, then we need to define an imposter component and provide guidance on how it is flagged and how to handle it.

The purpose of this ticket is to write guidance on Imposter Components, as well as identify where the guidance should live. (Shira's vote is for VADS).

Impacted Artifacts

Live pages

Drafted pages

Tasks

Peer Review

To be completed by peer reviewer

Acceptance Criteria

Team Notification

How to prepare this issue

Refinement

allison0034 commented 1 day ago

Working with Ian on "technical" wording.

allison0034 commented 1 day ago

@shiragoodman I have a question about...

Draft guidance on the imposter component, including labels used (both exp-std label and imposter component label)

We do not include any labels for any other violations we log at Staging review. I am thinking we do not want to start listing specific ones in the guidance for DS (which is where this will be going). The experience standard and label are included in our internal guidance.

Is it ok to not add the label and experience standard to DS guidance? For what it is worth I will likely be adding it to this page.

allison0034 commented 23 hours ago

@erinrwhite wanted to get your opinion. I am planning on putting something like this (gonna have Keegan and Ian look at the content)...

Imposter components Most components are listed in Storybook. If your team is not using the components and their code in Storybook, then that is considered an imposter component and will be flagged at a Staging Review. This includes components that are coded to look like the ones in Storybook, but do not use the Storybook code.

...after the alert on this page.

shiragoodman commented 21 hours ago

@allison0034 I am okay with us not adding info on the experience standard or labels. If we ever feel like it is needed, we can always add it in.

erinrwhite commented 21 hours ago

@allison0034 I like the idea of updating the components page and putting this info where the current h3 Governance rules for using v3-based components is. Maybe transform that heading to be more broad, something like...

Governance rules for components

Avoid imposter components

Most components are listed in Storybook. If your team is not using the components and their code in Storybook, then that is considered an imposter component and will be flagged at a Staging Review. This includes components that are coded to look like the ones in Storybook, but do not use the Storybook code.

Use newest component versions when possible; when not possible, be consistent

v3-based versions of the components are designed to sit alongside our current v1 based components and the foundational elements of the Design System. Teams must use the new versions of our web-components and following these rules:

[ ... ]