Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce the cost of change #11

Closed
rosenhouse opened this issue Feb 26, 2019 · 5 comments
Closed

Reduce the cost of change #11

rosenhouse opened this issue Feb 26, 2019 · 5 comments

Comments

@rosenhouse
Copy link
Member

Currently, there is no automatic way for a change to this repo to propagate to the feedback forms that managers use to collect feedback for their reports.

In other words, if a PR is merged here, that change is only reflected here. In order for that change to affect how feedback is collected, individual managers would need to individually modify the feedback forms for each of their reports. This is a very high cost for change.

This issue is to track efforts related to reducing the cost of change to our feedback forms and heatmaps.

@rosenhouse
Copy link
Member Author

rosenhouse commented Feb 26, 2019

One possible solution is to build out CI/CD to enable a PR-based workflow. For example, imagine things worked like this....

New report

  1. a manager gets a new report
  2. a manager clones the feedback form and heatmap templates, renames them for their report
  3. manager registers the feedback forms for their ICs through some interface: e.g. by listing it at http://bit.ly/feedback-for-all

Change to the areas of contribution

  1. an IC opens a PR against this repo which adds a new bullet point to "technical execution" in the P3 level.
  2. github triggers a job that automatically updates the feedback form and heatmap spreadsheet for a "test user" via the Forms API in Google Apps Script.
  3. the job validates that the update succeeded (no errors in the Forms API).
  4. the job runs tests against the updated form, validating that pre-existing data migrated correctly (e.g. the summary page still shows correct totals).
  5. the job succeeds, leaving a ✅ in the PR status checks list.
  6. humans review the PR, discussing the change, and ultimately approving it.
  7. the PR is merged (by human or by bot?)
  8. post-merge, a separate job runs the same Apps Script against all registered Feedback Forms.

At the end, everyone's feedback forms now include the new skill in the correct page.

@hiremaga
Copy link
Contributor

A couple of side-effects of reducing the cost of making and propagating changes to consider:

  • trends might get harder to see as skill lists and phrasing change over time
  • responses might not no longer be valid if the phrasing of a skill changes

Possible solution:

  • version skill descriptions, track responses against versioned skill descriptions

@rnandi
Copy link
Contributor

rnandi commented May 23, 2019

We did it 🎉

@rnandi rnandi closed this as completed May 23, 2019
@rosenhouse
Copy link
Member Author

Just to elaborate a bit:

@rosenhouse
Copy link
Member Author

Currently, our CI system is very rudimentary and doesn't yet provide the level of confidence that is proposed in my earlier comment #11 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants