Open andreahewitt-odd opened 1 year ago
Let's scope this to creation of preview environments. Preview environments should allow:
feature/xyz
from vets-website
+ feature/xyz
from vets-api
)A few questions...
vets-website
& vets-api
- do we want to call out selected versions from other repositories?Does this only involve manual testing or automated testing too? Does this also include tooling to make automated tests? Potentially both
Are we conflating QA with review?
VFS teams aren't comfortable doing testing in a lower environment because they don't have the same data in dev and review instances.
We need to change the context to reviewing and testing in review instances -- what do we need to do for that piece to be effective. Getting data and information that is closely aligned to prod, easy access for anyone on the team.
How well do we understand the problem?
QA health survey -- success metrics could be a portion of that so we can compare.
Change to: Increase in usage of review instances
Measurements of success might be affected by implementation details.
track usage in staging review - how often can we use these revised review instances
General bugginess of spinning up review instances -- will be dependent on implementation details.
^ success metric: error rate and reliability of preview environments
Configuration of environment settings such as environment variables For MVP, can be accomplished by allowing developer terminal access.
Mocks for external services and data can be configured For MVP, can be accomplished with existing developer tooling if we are able to connect to Staging/Preprod external services
@JoeTice
A few questions...
- The problem statement mentions 'there has been concern raised and incidents occurring due to environment promotion and the ability to reliably test' - can you expand on the concerns and incidents that are being referred to here?
The example I am aware of is code being deployed to Staging for testing purposes, which was inadvertently released to Production
- Are there other specific 'areas of focus' that stand out to you as areas that could or should be considered as areas to improve, either in the near term or long term?
Next steps for this project might be to build out more ready to use mocks for external services.
- In 'What is the acceptance criteria?' - Is access to previewing code in review instances limited in any way?
Updated AC.
- In 'Not included in the AC' - Can you expand on what you mean on 'promotion of code throughout requirements'? And on why you don't think tht should be part of the acceptance criteria for this?
I'm not clear on this, so it has been removed from AC.
In the additional comments from @mchelen-gov
- The comment calls out
vets-website
&vets-api
- do we want to call out selected versions from other repositories?
This should include all repos necessary to build a working VA.gov, likely that will involve content-build
and some others.
- Is there a reason that you want to scope this only to the creation of preview environments?
Yes, because this specific piece of tooling is the farthest "left" in the development and QA process.
- Can you provide some specific examples or use cases around the configuration of environment settings?
No, so I changed the AC to allow developer terminal access.
@andreahewitt-odd
they cannot preview products that require combinations of multiple repositories.
This can be done, however it is a more complex workflow: https://depo-platform-documentation.scrollhelp.site/developer-docs/using-review-instances-to-preview-changes#Usingreviewinstancestopreviewchanges-Manualcreation
Additionally, review instances don’t update when pushes are made to PRs and rely on mocked data/services so are not as useful as they could be.
This is incorrect, RI are redeployed on pushes and are pointed to Staging/Preprod environments per docs.
Updated issue to reflect this.
@JoeTice @pjhill See Chelen's comments per your information around the problem statement ^
@pjhill please can you give us a status update on this item?
@pjhill please can you give us a status update on this item?
@annekerr49 -- This project is currently in the discovery phase. Currently, the team is addressing tickets in the Discovery Epic. Individual ticket statuses within that epic are available here.
Link to a documented plan in mural developed in Nov of 2022 that lays out the planned scope of MVP - mural link
Team of Teams Slide: 4/11/23
Update: 4/18/23
No match for roadmap-DMC
@JoeTice / @andreahewitt-odd - did this ship yet? If not, do you have a new Target Delivery Date?
Not yet, our next target milestone is April 2024, which will be the version that is made available for Usability Testing. The target delivery date will be based on what is surfaced in testing.
Updated the target delivery date to Nov 30, 2024 based on the Milestone 4 (final testing for publicly accessible preview environment).
With Aparna leaving are we still on track to complete this effort in November?
Problem Statement
The current approach to review instances has limitations that cause frustration for VFS teams and VA stakeholders in their efforts to test and preview their products. Examples of those limitations include the required use of SOCKS proxy which involves a level of technical fluency in its setup and use that most non-developers don’t possess, it also limits the tooling that can be used to conduct QA in review instances. Other limitations include that review instances are available for a limited window of time, they cannot be used to test on real mobile devices, and the developer workflow for preview of products that require combinations of multiple repositories is difficult. Additionally, review instances can only point to preprod/Staging environment so they cannot easily be configured to test against lower environments or synthetic data. Finally, better documentation and training on how to use review instances properly and fully would improve the experience.
How might we make it easier for VFS teams and VA stakeholders to preview their features before it makes it to production (especially as we move to a model of continuous deployment)?
User Impact
VFS Teams without SOCKS or the technical knowledge to use SOCKS: Can't use review instances VA Stakeholders without SOCKS or the technical knowledge to use SOCKS: Can't use review instances VFS engineers: Workflow for creation of Review Instances using branches from multiple repos is difficult, can't test with RI on non-GFE devices such as mobile, difficult to match Production data leads to a lack of confidence in the code
Where was this problem reported?
This problem has been reported everywhere (support requests, research, satisfaction survey). It's a common theme in the satisfaction survey quarter to quarter.
What do we not know about the problem space?
vets-website
andvets-api
) or should there be a centralized repo that creates Preview Environments?What (if any) research or discovery has been done?
Satisfaction survey quarter to quarter VFS team's testing experience study - findings Q3 2022 VFS team's testing experience study - synthesis board Q3 2022
Important Project Links
What is the acceptance criteria?
vets-website
,vets-api
,content-build
)Technical Requirements
Not included in the AC
*Note: may be affected by "Is there a network path that allows off-network (non-SOCKS) access while also connecting to preprod external integrations?"
How should we measure success?
TODOs