About This Course

Goals

There are three deliverables for this course.

  • Your team project
  • Your client project
  • You and your team

The third is what matters in the long run.

Topics

Technologies
half-life: 2 years
React, React Native, React Testing Library, Github, Github Actions, Trello, Cypress, ...
Agile
half-life: decades
iteration, timeboxes, TDD, velocity, and much more

Other courses have learning goals.

This course has un-learning goals.

Things to un-learn about team work

  • Work on what you know best.
  • Divide up the work to get the most done.
  • Work on many things at once.
  • Assign everyone tasks at the start of each week.
  • Split a large team into front-end and back-end subteams.

Thing to un-learn about product development

  • First you should collect all requirements.
  • Then you should design all the screens.
  • Implement must-have's first, e.g., login, user profiles, database...
  • Measure project progress by code written.
  • Plan for a big push at the end.

How the course works

Activities

This is a learn-by-doing class. No exams.

Two projects Weekly iterations, prototype (not mockup) demo in a week
Individual activities Technical tutorials, retrospectives

Online Tools

394 web site Public resources: slides, task descriptions, tutorials, links, ...
Canvas Class resources: assignments, shared documents, scores, ...
Google Drive Shared presentations and progress spreadsheets
Campuswire Announcements, discussions, links
394 Github organization Project repos, team data

Thanks to Hakim El Hattab for RevealJS