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.
Problem…
Selecting one W19 GE that meets as many unmet CoE GEs as possible
Bigger Problem
Planning your degree program, quarter by quarter, all the way to graduation (efficiently and according to your preferences)
But... I have four weeks. �I need to focus
The Value Exchange:�I’ve selected the GE and I am happy and confident with that decision
My first instincts…
Cover all GE programs for L&S and CoE
All major requirements
Day and time preferences
Scraping transcripts
But…
I have four weeks, and ideally I’d have something I could test even sooner
On a high level, without talking about solutions/implementation, the story is basically…
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
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
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)
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
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
Ah...I think we have a “thin slice”. �Let’s fill in the other parts of the slice
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
Seems WAY too minimal, �but it gets us started. �How about the next slice?
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
Let’s make some user stories...
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
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
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