digital-land / submit

0 stars 0 forks source link

Code review and product sign off process #525

Open DilwoarH opened 1 week ago

DilwoarH commented 1 week ago

What

Propose an updated code review and product sign off process.

Why

We want to implement a sign off process that allows product managers and designers to review any work before it gets released to production.

A sign off process will ensure any bugs and immediate issue can be resolved before a feature is released.

Outputs of this issue

DilwoarH commented 6 days ago

Code Quality Process with Designer & Product Manager Sign-Off

1. Pre-Development Planning

2. Development Stage

3. Continuous Integration (CI) & Preview Link Setup

4. Peer Code Review

5. Designer Sign-Off (via Heroku Preview Link)

6. Product Manager Sign-Off (via Heroku Preview Link)

7. Automated Testing (CI) & Sentry Integration

8. Merge to Main Branch & Deployment

9. Post-Deployment Monitoring (Sentry)

10. Feedback & Retrospective


Example Workflow

  1. Branch Name: feature/128-new-dashboard
  2. Heroku Preview Link: https://submit-pr-[PR_NUMBER].herokuapp.com/
  3. Designer Feedback:
    • Designer reviews the Heroku preview link, comments on PR: “UI looks good, approved.”
  4. PM Feedback:
    • PM reviews the Heroku preview link, comments on PR: “Meets business requirements, approved.”
  5. Automated Tests: Run automatically after approvals.
  6. Merge to Main: Code is merged and deployed to production.
  7. Sentry Monitoring: No critical issues detected in Sentry.
  8. Follow-Up: Post-deployment checks with Sentry, feedback loop in retrospective.

Benefits of This Workflow

  1. Visibility for All Stakeholders: Designers and PMs can review changes visually using Heroku’s preview links without needing local setups.
  2. Early Detection of Errors: Sentry integration ensures errors are tracked both in staging and production.
  3. Continuous Feedback Loop: Designer and PM feedback is incorporated early, reducing rework.
  4. Automated Safeguards: CI pipelines, automated testing, and Sentry ensure that only high-quality code reaches production.
DilwoarH commented 6 days ago

@CharliePatterson - could you review this please?

DilwoarH commented 6 days ago

Additional automation request added here: https://github.com/digital-land/submit/issues/543

rosado commented 5 days ago

I find it useful to have the issue number in the branch name, for example: bob/199-important-feature. This allows to quickly gage how old the branch is (without looking at commit history) and get more information (by looking up the issue number in github/jira/whatever).

DilwoarH commented 5 days ago

I find it useful to have the issue number in the branch name, for example: bob/199-important-feature. This allows to quickly gage how old the branch is (without looking at commit history) and get more information (by looking up the issue number in github/jira/whatever).

Thats a great idea - I agree, will update