proj01_mentors : Mentor Duties for proj01

num ready? description assigned due
proj01_mentors true Mentor Duties for proj01 Thu 11/08 05:00PM Thu 11/08 07:50PM
Midterm Exam E02

This page describe what mentors need to do to support their teams to work on proj01.

The step numbers below correspond to the steps in the student facing lab instuctions.

Their Step 0, like yours, consists of items they are (ideally) supposed to do before coming to lab on Thu, Nov 08. (Sorry for short notice.)

Step 0a: Make sure you have the access you need

You will need:

Step 0b: Choose which team you will mentor

Consult the lab seating chart pages for your lab section:

Let one of the TAs or instructors know which team you want to mentor, and have them add your name to the chart.

Or better yet, access the editable version in the Google Drive folder [(), and add your name directly to the team of your choice.

Step 1: Locate the corner of the room where that team is meeting

There should be a flip chart there for them to work from, along with flip chart markers.

If it is available, we might also use Phelps 3526 for one or more of the teams.

Find your team. Help guide them through introducing themselves to one another. Try to make sure that everyone is supported and is participating.

In this step, and every step that follows: You should use a light touch

Step 2: Documenting work on flip chart

Check to see that they are following the instructions at proj01 for this step.
As long as they are, stay out of their way, but keep an eye on the process.

You should take pictures of their flip charts (or see that someone else does), and then upload those to the github repo they create later (under a directory called ./cs56/f18/images/proj01) at the top level of the repo. The image names are unimportant at this stage; we can always rename them later. Right now, we just want to capture what they put on the charts.)

Step 3: Communications Channel

As at every step, check to see that they are following the instructions at proj01 for this step.

The biggest one is: no more than 5 minutes on this discussion.

After 4 minutes, give them a deadline, and start creating the discussion board on Gauchospace.

The convention will be to create it at the top of the page, with the name 5pm_team_name. We’ll also need to create groups. If this happens a lot, we’ll create documentation for how to do it (we’ll probably do that on the fly, since we might not need it if everyone chooses Slack, or WeChat.)

Step 4: Discuss User Journey / Create repo under ucsb-cs56-webapps for your team

Make sure they get started with discussing the User Journey, as documented here proj01 for this step.

But quickly, try to pull yourself OUT of the discussion, and while they talk, go do this administrative step:

Under the ucsb-cs56-webapps organization, create a repo called ucsb-cs56-project-name where project-name is the name your team chooses for its project.

If you are unable to do so because you are not an owner, consult someone that is already an owner (e.g. a TA, instructor, or even a fellow mentor).

Steps 5, 6

As with the other “discussion” type steps, your role here is to mostly stay out of the way, but observe, listen, and keep the group on track. Try to get one of the students to be the discussion leader. If you end up in that role, try repeatedly to work yourself out of that job.

Step 7a, 7b, 7c

Just supervise and watch. They should be able to do this on their own, but do keep an eye out to make sure they are doing it properly. Advise as needed.

Step 7d: “Have your mentor review your Kanban board and approve issues”

THIS is the most important step of the day, because the students literally cannot proceed without it, and it takes time; unlike creating the repos, where its so fast, that the TA or instructor could do it at the scale of the entire class in about 10 minutes, this is where we really need individual attention from each team mentor.

When giving feedback on issues, do it in writing using comments. Consider asking them questions such as these:

That can sometimes be more effective them telling them exactly what to do; but in whatever way you wish to communicate, as long as it is kind and respectful, let the students know (via comments on the issues) what they need to do before feel comfortable approving.

If you have experience with estimating points

If you have estimated points for CS56 issues before (100 pts, 200 pts, 400 pts), etc:

A note on estimation

Estimating points (100, 200, 400) for issues is very similar to “story points” as in the Agile practice of “planning poker”:

But with a conversion factor of:

Agile Story Points CS56 Project Points
1 100
2 200
4 400
8 Way too big; decompose issue

And the major difference that you are doing it all by yourself. (It occurs to me: maybe we should consider incorporating this as an exercise for the mentors to do this as a group. Maybe next time.)

The thing about Agile Planning Poker is that it’s almost always a wild guess. We do our best to try to estimate, but we are frequently wrong. More frequently than we’d like, things we think are going to be easy turn out to be hard. Things we think are going to be hard turn out to be easy.

Step 7e: “Assignment of Issues”

Try to help guide the student through the assignment of issues. Let them know that they need to decide how whether to divide up the work into pairs, groups, trios, etc.

Sometimes issues have dependencies on one another, so you can’t work on issue A until issue B is finished.

This is where they may also need some guidance in coming up with some Skunkworks issues (the folks who were in Summer 2018 will know what that means) that will help them do more “in parallel”. If you aren’t familiar with the Skunkworks idea, ask Sasha, Rachel, Wilson, Zihao, Santha or Prof. Conrad for more info on that. (If there is time, I’ll write something up on the course website about it.)

What comes next?

I’ll have some tasks over the next week for each of the mentors to provide the students with feedback on how they did with their work on proj01.

This will help get us set up for the way in which we evaluate work for the webapp projects.

This will include: