updated with consequences etc

This commit is contained in:
Alysia Broddrick 2023-11-02 20:23:31 -07:00
parent 4119d24149
commit 79e0480058
No known key found for this signature in database
GPG key ID: 03917052CD0F06B7
2 changed files with 10 additions and 8 deletions

View file

@ -8,16 +8,16 @@ In Review
## Context
Going into our first production launch we need a plan describing what our release cadence for both our staging and stable envirornment will be. Currently, we release to staging whenever there are significant changes made, but we have not been making releases to stable with the same frequency. When deciding what our release schedule would be, we discussed releasing to stable once a sprint compared to releasing once a week.
Going into our first production launch we need a plan describing what our release cadence for both our staging and stable envirornments will be. Currently, we release to staging whenever there are significant changes made, but we have not been making releases to stable with the same frequency.
## Considered Options
**Option 1:** Releasing to stable/staging once a sprint
Releasing once a sprint would mean that we release the past sprint's work to stable at the end of the current sprint. At the same point, the current sprint's work would be pushed to staging; thus making staging a full sprint ahead of stable. While this is more straight forward, it means our users would have to wait longer to see changes that weren't deemed critical.
Releasing once a sprint would mean that we release the past sprint's work to stable at the end of the current sprint. At the same point, the current sprint's work would be pushed to staging, thus making staging a full sprint ahead of stable. While this is more straight forward, it means our users would have to wait longer to see changes that weren't deemed critical.
**Option 2:** Releasing to stable/staging once a week
Releasing once a week would follow the same flow but with code being released to staging one week before the same code is released to stable. This would make staging only one week behind stable and would allow us to roll out minor bug fixes and faster with greater speed. The negative side is that we have less time to see if errors occur on staging
Releasing once a week would follow the same flow but with code being released to staging one week before the same code is released to stable. This would make stable only one week behind staging and would allow us to roll out minor bug fixes and faster with greater speed. The negative side is that we have less time to see if errors occur on staging
In both of the above scenarios the release date would fall on the same day of the week that the sprint starts, which is currently a wednesday. Additionally, in both scenarios the release commits would eventually be tagged with both a staging and stable tag. Further, critical bugs or features would be exempt from these restrictions based on CISA's discretion.
In both of the above scenarios the release date would fall on the same day of the week that the sprint starts, which is currently a Wednesday. Additionally, in both scenarios the release commits would eventually be tagged with both a staging and stable tag. Furthermore, critical bugs or features would be exempt from these restrictions based on CISA's discretion.
## Decision
@ -25,4 +25,6 @@ We decided to go with option 2 and release once a week once in production. This
## Consequences
Work not completed by end of the sprint will have to wait to be added to stable.
Work not completed by end of the sprint will have to wait to be added to stable. Also, making hit fixes for bugs that are found on stable will be a little more complicated to fix.
When first going into production, staging and stable will start with the same code base. The following week a new release will be made to staging, but not stable as no code will have been on staging long enough to warrant another release. Thus just at the start of launch stable will be essentially frozen for 2 weeks, not one.