lab01 : Starting your project: Story Map

num ready? description assigned due
lab01 true Starting your project: Story Map Thu 01/17 04:00PM Wed 01/24 07:00PM
Points

There is nothing to “hand in”, or “submit” in the traditional sense. All of the work is done online in your project repo, on the Github web interface.

Your work will be checked by the instructional staff directly on Github.

You may also end up doing some work on a whiteboard and/or flip chart. You should take photos of that, and upload them to your repo, under the ./team directory, inside a directory called ./team/lab01/ as instructed below.

Note that throughout these instructions ./team refers to the directory team at the root of your project repository; the same directory where you put your ./team/NORMS.md file in a previous lab.

You are encouraged to do this on a branch or fork, and do a pull request, as with all changes to your project’s repo.

 

Note to mentors and TAs:

Please also consult lab01_mentors page for instructions on what mentors and TAs should do to prepare for this lab, support students as it unfolds, and provide feedback and grades afterwards.)

Step 0: Preparation (ideally, completed before lab)

In lecture, we watched the three videos below. If you missed lecture, please watch these videos before coming to lab.

If you want to reference the slides from the videos, they are here:

Creating Your Story Map

Step 1: Gather in your team

Here is the new for seating chart teams in lab. Gather in your row first.

Row Story Map Location 4pm 5pm 6pm
1 blue-spotify-queue buy-my-clothes park-finder
2 gold-scheduler countries-over-time stock-trading-6pm
3 gold-spotify-queue help-those-in-need ucsb-rooms
4 sleep-schedule ucsb-rideshare when-2-meet-6pm
5 stock-trading-4pm 5pm-when-2-meet  

Once everyone has gathered, the TAs will instruct you where to go to work on your story map.

We will set up white board or flip board chartsfor each of you, along with markers at various locations. You can use paper or a white board, as you see fit.

Be sure, though, to use only whiteboard safe markers on the whiteboards!

Step 2: Start documenting your team’s work

On your flipchart, or on the whiteboard:

Write the name of your project, your mentor, and the names of the people on your team, (with a checkmark beside those that are present, and an X by those that are absent.)

Example:

Project: Gaucho GE Grabber

Mentor: Julia Roberts

Team: Phill Conrad ✓, Jinjin Shao ✓, Santha Ramamoorthy ✓, Henry Yang ✗, Oprah Winfrey ✗

Taking attendance for today’s lab, and making sure your name is on the flip chart with a ✓ or an ✗ is a portion of your group’s grade for today’s work.

NOTE: Having a group member (or two) absent will not cause your group’s grade to be reduced for this lab. However you are require to record attendance in order for the group to get full credit for the lab.

Graded: (20 pts) You earn these points if/only if:

  • your group produced a chart in the requested format during lab on Thu, Jan 17.
  • you took accurate attendance, accounting for all members of your group (See the teams page for a list of group members)
  • you took a picture of this and uploaded it to the /team directory of your repo, under a subdirectory called ./team/lab01/, with the name ./team/lab01/chart01.png or ./team/lab01/chart01.jpg. Please use the requested name to make your chart easier to find.

Step 3: Discuss the User Journey

(This step is not graded, per se, but you can’t meaningfully accomplish the later stages if you try to skip it.)

As a team, discuss the “user journey” for your proposed application.

That is, try to describe all of the events that lead someone to seek out your webapp and have an interaction with it, or perhaps a series of interactions.

There should be a beginning, a middle and an end, where value is exchanged:

Identify:

Discuss this with your group, and on your paper, write down whatever comes to mind.

IF IT IS HELPFUL, you could use the form shown in the video, and illustrated in class, where you have a series of stories that form column headings across the top of the page, and then you have descriptions of specific user interactions as sticky notes in the columns, as illustrated here (click for larger image):

Story Map Example (Click the image above for a more legible version)

BUT: at this stage, it is more important to get the ideas flowing. There is no specific “right or wrong” way to get your ideas down on the paper. Just write something that captures the group consensus, or the candidate proposals, for the “user journey”.

It can take any form: a list, or pictures, a collection of As a __ I can __ so that __ type stories, or any combination of those. Don’t get bogged down on what form it takes. Just get something down.

NOTE: Try to keep your description VERY HIGH LEVEL, avoiding specific implementation details.

You don’t have to do this “perfectly” the first time. You may need to first get it all out as “brain dump” that contains too much detail, and then move to a higher level. But get to the higher level as soon as you can.

Don’t move on to the next step until you have the “spine” of your customer journey captured in some fashion.

You’ll know you have it, and you are ready for this step when:

Step 4: Move towards minimum viable product

(This step is not graded, per se, but you can’t meaningfully accomplish the later stages if you try to skip it.)

Now you have an outline, in some form (whatever form seemed reasonable to you)

At this stage, the story you have might have gone in one of two directions:

It’s likely that each of our teams will be somewhere on the spectrum between these two extremes. Discuss where you think your team is on that spectrum.

Assuming that your team is somewhere closer to GV than to MVP, you’ll now want to set aside the description of your GV for the moment. Use it as a reference to inform your efforts to redo the exercise, but focusing on an MVP.

Maybe you can draw on top of your GV description, and circle the parts (in a different color) that you think might be part of your MVP.

The big question to keep in mind is:

How can we make “this” possible for the user with less complexity, less code, less time

Here “this” is the goal/need/desire.

Step 5: (Optional) Make a new chart in the form shown in part 1 of the video

(This step is not graded, and you might be able to skip it. Read through the information below and decide if completing this step would be helpful. Once you’ve read through it, you can always decide to skip it for now, and come back if you find that you are stuck.)

At this stage, you need to make a decision.

If making a new map would help, do that. If you are ready to go staight to user stories and issues in Github, then go to the next step.

OPTIONAL but STRONGLY ENCOURAGED: If you made additional charts on the whiteboard or a paper flip chart, take pictures of them, and upload them to your repo under the ./team/lab01/ directory.

You already have a (required) ./team/lab01/chart01.jpg or ./team/lab01/chart01.png, for example, so you are encouraged to continue that naming conventions with chart02.jpg, chart03.jpg, etc.

Step 6: (Required, Graded) Make a Kanban board for your project

Now, we are at the part that is most important to the future success of your project, and the part for which you will be graded

Your mentor will have set up a github repo for your project under the organization [ucsb-cs48-w19](https://github.com/ucsb-cs48-w19].

You will now make a Kanban board as illustrated in the video (Part 2)

Go to the github web page for your repo, and go to Projects, and create a project.

Now, take your story map, and turn it into:

You should end up with at least 3 issues that your team could start working on.

At least one of them should be a “hello world” app in the framework that your team has chosen. For THIS particular issue ONLY, please create as many copies of the issue as there will be indivdiuals or pairs working on it (i.e. three to six copies, depending on your group size, and whether you work individuals or pairs.)

You’ll do this work in a branch or fork of the main repo, and then make a pull request.

HOWEVER, you’ll decide as a team which of these is the best implementation of the Hello World, code, and should serve as the basis for all future development of your app. That is, you’ll be starting with this Hello World code, and building your app on top of it.

First Issue

(Click the image above for a more legible version)

Graded: (20 pts) You earn these points if/when you:

  • met the criteria for the previous item (present in lab, team forked repo, you are a collaborator), AND
  • your team has created a Kanban board by the due date of the lab, (Wed, Jan 24 at 7:00PM)

Step 7: Have your mentor review your Kanban board

Ask your mentor to look over your Kanban board and make comments on your user stories and issues.

If the issue is clear to them, and has their blessing, they should make a comment that includes the words:

“Mentor Approved”

If your mentor has questions/concerns, they’ll make those in the comments. You may want to iterate with them until all of the user stories and issues are “Mentor Approved”. However, this is not a requirement; just something you are encourged to work towards.

Graded: (30 pts) You earn these points when and if

  • your team has a set of issues for your team to work on by the due date for this lab, i.e. (Wed, Jan 24 at 7:00PM).

Step 8: Make initial assignment of issues

Each member of your team should be assigned to at least one issue. You can assign multiple developers to a single issue; this is how you form pairs, trios, and mobs of 4 or more.

Members that are not present should take responsibility for ensuring that they

Graded: (30 pts) Your team earn these points as when each team member is assigned to at least one issue by the due date of this lab, i.e. (Wed, Jan 24 at 7:00PM).

Points are pro-rated based on team size, i.e.

  • 6 person team: 5 pts/member
  • 5 person team, 6 pts/member

(These points do not require being physically present in lab on (Thu, Jan 17 .)

What Comes Next?

You start working on your assigned issues!

Credits: Many thanks to John Cutler for his assistance in consulting on this assignment.