1 of 21

From User Story Mapping�to Kanban in Github

A presentation for UCSB’s CMPSC 56, “Advanced Applications Programming”

�By Phill Conrad (http://www.cs.ucsb.edu/~pconrad)�and John Cutler (https://twitter.com/johncutlefish)�to support this assignment: https://ucsb-cs56-f18.github.io/lab/proj01

Video:

© 2018 Phill Conrad and John Cutler. The video too. :) But, we made both of these in the hopes they would be shared and used. Just be reasonable about it, and please acknowledge our contributions if you find these useful. Oh, yes, we know: this is super rough, unedited, and has lots of “ums”. Sorry about that. We made the best video we could in the time we had, which was not that much. And John chose Comic Sans here and there just to be annoying.

2 of 21

Problem…

Selecting one W19 GE that meets as many unmet CoE GEs as possible

3 of 21

Bigger Problem

Planning your degree program, quarter by quarter, all the way to graduation (efficiently and according to your preferences)

4 of 21

But... I have four weeks. �I need to focus

5 of 21

The Value Exchange:�I’ve selected the GE and I am happy and confident with that decision

6 of 21

My first instincts…

Cover all GE programs for L&S and CoE

All major requirements

Day and time preferences

Scraping transcripts

7 of 21

But…

I have four weeks, and ideally I’d have something I could test even sooner

8 of 21

On a high level, without talking about solutions/implementation, the story is basically…

  • I have to know the requirements
  • Compare my progress against those requirements
  • See classes that meet the requirements
  • Try to make the best decision
  • Make my decision

9 of 21

So we make cards for each of these...

Compare My GE Progress against Degree Requirements

Support decision making

See Classes that meet requirements (available this quarter)

Know Requirements for Degree Program

10 of 21

Compare My GE Progress against Degree Requirements

Support decision making

See Classes that meet requirements (available this quarter)

Know Requirements for Degree Program

These become column headings

11 of 21

Hmmm….what is the “thinnest slice” I can deliver across these four columns that allows the to user to meet some need (a marginally better GE decision)

12 of 21

Input unmet CoE GEs for Areas D, E, F, G (and other requirements)

Compare My GE Progress against Degree Requirements

Support decision making

See Classes that meet requirements (available this quarter)

Know Requirements for Degree Program

We can go thinner!

See list of requirements for CoE

13 of 21

Hardcode unmet GE as ethnicity requirement

Compare My GE Progress against Degree Requirements

Support decision making

See Classes that meet requirements (available this quarter)

Know Requirements for Degree Program

Here’s how...

Allow user to specify writing, ethnicity, or both

Allow any combination of CoE GE Requirements

See list of ethnicity requirements for CoE

14 of 21

Ah...I think we have a “thin slice”. �Let’s fill in the other parts of the slice

15 of 21

Hardcode unmet GE as ethnicity requirement

Compare My GE Progress against Degree Requirements

Support decision making

See Classes that meet requirements (available this quarter)

Know Requirements for Degree Program

Allow user to specify writing, ethnicity, or both

Allow any combination of CoE GE Requirements

List all ethnicity courses offered this quarter

N/A (just the list)

See list of ethnicity requirements for CoE

16 of 21

Seems WAY too minimal, �but it gets us started. �How about the next slice?

17 of 21

Hardcode unmet GE as ethnicity requirement

Compare My GE Progress against Degree Requirements

Support decision making

See Classes that meet requirements (available this quarter)

Know Requirements for Degree Program

Allow user to specify writing, ethnicity, or both

Allow any combination of CoE GE Requirements

List all ethnicity courses offered this quarter

N/A (just the list)

List ethnicity, writing, or both (from this quarter)

Sorting by # of requirements met

See list of ethnicity requirements for CoE

See list of writing and ethnicity requirements for CoE

18 of 21

Let’s make some user stories...

19 of 21

Taken in isolation, the existing static page is enough to meet this need...

But we’ll write the code to get the data. �Because we know we’ll need it for the later stages

Know Requirements for Degree Program

See list of ethnicity requirements for CoE

20 of 21

We can reframe this as a user story...

See list of ethnicity requirements for CoE

As a STUDENT, �I can see a list of ethnicity requirements for CoE, �so that I can compare my progress against the requirements

And enter this in Github �on a Kanban board

21 of 21

Let’s convert each to a user story�in Github along with issues for each supporting task

Hardcode unmet GE as ethnicity requirement

List all ethnicity courses offered this quarter

As a STUDENT, �I can see a list of ethnicity requirements for CoE, �so that I can compare my progress against the requirements

As a user, I can tell the system that I want the courses offered in W19 that meet the ethnicity requirement so that I can graduate