Mentorship Management Improvements (Epic)
Key stakeholder: @jjhampton
Pain points from our discussion on 10/5/2017 around mentor management:
-
Assigning new mentees to a mentor in a timely fashion:
- Goal is for a mentee to have a response from a mentor within 24-48 hours, once a mentor service request is made.
- To notify mentors of a request, we currently rely on:
- Slackbot that posts one-time to the #mentors-internal channel when a request is made. This requires mentors to actively monitor the #mentors-internal channel.
- Volunteers who manually scan the Airtable sheet on a semi-regular basis to see if there are outstanding requests.
- The above options are not ideal. They open the possibility for requests to slip through the cracks and go unfulfilled. (this has happened before)
-
Monitoring the state/progress of the mentor/mentee experience:
- How can we easily track when a mentor service request is fulfilled? Currently we rely on mentors manually entering this data on Airtables, which rarely happens.
- How can we track the progress of mentees in a quantifiable way? We should aim to automate the gathering of data on:
- How many mentees we've helped?
- Which mentees have progressed to a new level of expertise?
-
Track active mentors:
- Our Airtable sheet currently lists 82 people who have signed up as mentors. In order for our volunteers to easily match incoming mentees -> mentors, we need to be able to filter this list to identify which of these are active mentors that have capacity / willingness to help mentees.
~~Proposal: Move Mentorship Management to Discourse~~ (shelved, 10/5/2017)
- Signup form on front-end would hit the back-end API, posting a new topic to a -private- (mentors only) Discourse category. Note that the current form's interface w/ Airtables is broken: https://github.com/OperationCode/operationcode_frontend/issues/341
- We can use Discourse sub categories and tags to manage state, instead of tracking a Mentor Request's state in a spreadsheet of cells where users are entering inconsistent data
- We can get richer notifications via the Slack to Discourse bot
- We can use tags for state (whether a request is fulfilled, whether mentee has been contacted, whether a follow-on mentor request is recommented, etc)
- We can use forum posts for updates (mentors could post notes about how a session went, how a mentee is progressing, etc.)
- Tag intersections can be used to visualize data (https://community.operationcode.org/tags/intersection/beginners/newbies) or simply return JSON for us to use elsewhere: (https://community.operationcode.org/tags/intersection/beginners/newbies.json)
- With Discourse, we track the last time a mentor/mentee has logged in. This will help track mentors and keep us connected with those who actually are committed to helping out.
Proposal: Improve Slack tooling, utilize OC web app, keep Airtable for data storage Suggestions from @kylemh from phone discussion on 10/5/2017:
Assigning new mentees to a mentor in a timely fashion:
Assign the mentee to the mentor:
Use previous Mentor Request Form (temporarily not in use, see front-end issue 341 and back-end issue 155).
Mentors API (with small schema) and an interface on the front-end lists selectable mentors. When form submitted, pre-populates Airtables form.
Notifying mentors: If mentee chose no mentor preference, all mentors with the desired skills are DMed. First claim gets it. If mentee chose a specific mentor, DM that mentor with the request record and the easy option to confirm deny. Maybe even to create an event on their device? (expanded on this in https://github.com/OperationCode/operationcode_bot/issues/89 in Slackbot repo)
Monitoring the state/progress of the mentor/mentee experience: Bot that pings mentor based upon Mentorship event date. "It's been a week since your scheduled mentorship event with Billy Bob. How'd it go? FEEDBACK LINK HERE"
Track active mentors: Multiple options
- Dont track. Have Slack bot hit every mentor, but they can opt-out at any moment. Bi-annually remind mentors that they've opted-out to try to bring them back in.
- Use Slack data to identify active mentors
We will also need to make the mentorship request form accessible only to eligible mentees.