Previous Lecture lect02 Next Lecture

lect02, Mon 01/13

Meeting Logs, Initial README, Team Agreements

Current Homework still open until Wednesday:

Teams are Assigned

You should have been:

Today, you’ll also again be working in groups with your team during the class time.

Topics:

Electronic Handouts:

Background Information: Team Norms

Background Information: User Story Mapping

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

We did not discuss all of the items below in detail, but we mentioned some of them, and will go into more detail in the weeks ahead.

The Slack: *_help channels

On the Slack, we will make available several channels that have the endings _help, for example:

The #js_* channel is for everything JavaScript related

Note that the #js_articles and #js_help channels will be used for all technologies that relate to JavaScript-based technology stacks, including:

The #mobile_* channels are for everything related to mobile ecosystems and app development

We’ll be happy to create more specific channels for more focused help!

If you aren’t sure, you can always use #questions-to-teachingteam

A few more special purpose channels:

Absences

If you need to miss class for an unavoidable reason, please notify:

Please send these notifications:

This is a matter of showing respect for your team.

Then, as soon as possible after the class, check with your team to see what you missed. It should be a team responsibility to help one another with unavoidable absences.

Unavoidable reasons might include:

Of course, unavoidable absences should be rare if you are going to remain in good standing with your fellow team members, folks that are depending on you to do your part for the team.

Breakout work today

Today, during your breakout sessions, you should accomplish the following tasks:

  1. Add an initial README.md to your github repository (details below)
  2. Hold a quick standup meeting and log it on GitHub!
  3. Plan to meet for a Sprint planning meeting (if not done yet) and finish the discussion of your team agreements / team norms and record whatever agreements you are able to reach in team/AGREEMENTS.md (details below)

Initial README.md

One member of the group should go to the page for their main project repo, e.g.

On your own team repo, click on the web interface link Add a README, or, if you see no such buttton, create a README.md file in one of your branches, add, commit, and push it to origin, and create a pull request!

In your README.md, put the following:

Holding and capturing a Scrum Meeting on GitHub: Start documenting your team’s work

In the meeting notes, write the name of your project, your mentor, and the names of the people on your team (recording who is present, and noting those that are absent.)

Example:

Project: Teaching CS148

Mentor: Self-Mentored ;)

Meeting Time: lect02

Type of meeting: <one or several of [sprint planning, daily scrum, sprint review, retrospective, story time]>

Team: Jamie Lai [ ], Yunhao Luo [x], Yilin Wang [x], Will (Zifeng) Zhang [x], Leo Guo [ ], Anderson Lee [ ], Samuel Zhu [ ], Rachel Jiang [ ], Tobias Höllerer [ ]

Scribed Discussion:

Tobias updated lect02 agenda. Next tasks: h02 is in discussion by the teaching team on Gradescope, prepare Lab02, settle OHs. No current roadblocks

Rachel Jiang has a conflict for Monday’ class. No current roadblocks.

Jamie…

Yunhao…

Yilin…

Will…

Anderson…

Samuel…

Leo…

Taking attendance for today’s lab, and making sure your name is on your log with a [x] or an [ ] is a portion of your group’s grade for this week’s lab.

NOTE 1: The first team member listed should be the ‘lead’ for this meeting, i.e. a team member who is responsible for recording meeting information this time (also called a ‘scribe’). In the future, this person likely called/coordinated the meeting. Meeting leads are different from project owner and Scrum master and we expect/require that this responsibility rotates among your team members!

NOTE 2: Having a group member (or two) absent will not cause your group’s grade to be reduced. However you are require to record attendance in order for the group to get full credit for the lab. In the future, team members that cannot make it to a meeting should message their information to the meeting lead beforehand.

NOTE 3 In the future, meeting time can also be something like lect04 (for Lecture 4), or 01-14-2pm for an out-of-class-time meeting.

In your github repository, you will structure the documentation of your meetings into ‘sprints’ (your team will decide on the Sprint length / interval. Typically, for this class a Sprint is one or two weeks).

From now on, please document all your meetings in the github repository in this way.

team/AGREEMENTS.md

In addition to the NORMS.md file that is part of the current lab session, please create, in your team folder, a file called AGREEMENTS.md.

In this file, you’ll first put the names of the members of your team.

Then, you’ll enter a list of agreements. These are things that you all agree are good practices for creating a harmonious productive team.

As a suggestion, the first few team agreements, might be these:

  1. When one of us is absent for an unavoidable reason, we will let the other team members know on the team slack channel, in advance when possible, as soon as possible afterwards when not.
  2. We will each try to keep such absences to a minimum.
  3. Those of us that are present will do our best to share with the absent team member(s) what they missed and help them get back up to speed.
  4. We will all do our best to contribute to the teams success.

You then might add a few more.

Consult this article for ideas:

If you run out of time

If you run out of time, the agreement discussion can be continued outside of class over the slack, and during the next lab and/or lecture.

If you finish early

If you finish all of the above, start on a discussion of the following things. These are discussions that will carry over into Wednesday and Friday Section, but you can start them now if you’ve finished the items above.

Add to your README.md:

Which tech stack

We’ve provided some information for you already, and mentors may have discussed stack possibilities a bit already. Also, you are using the Hello World requirement of lab01 to get more experience with different platforms! So in some groups, there may be already some consensus on which tech stack to use, others may need a bit more time. In any case, you should still discuss the pros/cons of each, and share your preferences with one another.

If you have questions, or need guidance, ask your mentors and teaching team.

Planning your app

For the second item, focus on writing a single paragraph in which you go into a bit more detail about what you plan for your project.

Some things to consider:

How many different kinds of users are there, and what are their roles?

Examples:

Think about the fact that your app will be available on the public internet. If your app allows user contributed content of any kind, there is the potential for inappropriate content (spam, or worse) to be added. One option is restrict your user base to folks with an @ucsb.edu login; we can provide example code for both Spring Boot and next.js that you can build on to add this feature to your app.

What will each different kind of user be able to do in your app?

Future steps: .gitignore and LICENSE.md

Two future steps will be to also add .gitignore and a LICENSE.md

The .gitignore will depend on your tech stack choice.

For the LICENSE.md: