From now own, labs will comprise two parallel activities:
We’ll announce the teams and their members by the beginning of this lab period.
We’ll use Trello for project management and Slack for project communication. Your team should configure both as specified below.
Trello provides a project management service based on the general concept of Kanban boards.
Your team should do the following.
cs262x-teamName
where x
is your team
letter and teamName
is
your
team name).
Configure your board as shown in this sample board, using x==1. Familiarize yourselves with the structure of this board before going on.
Add a card to your board named “Configure Trello Board” under the “Sprint 1: Doing” column. Make it a management task (green) and attach the appropriate team members as agents. When you’re finished with this exercise, move it to the “Sprint 1: Done” column.
Both we and your team members should see the team board in their Trello account.
Kanban teams often choose a common theme for their membership personas. For example, each team member could adopt a persona for their work (e.g., Star Wars or Harry Potter) and upload an appropriate image by which they’ll be identified on the board. Your team can do this if desired.
Trello can be extended to support more specialized project management using Clockify.
Each team member should signup for a Clockify account, as described on the Clockify main webpage.
If you’d like to enable Clockify-Trello integration, work through the startup and practice steps specified in Trello Time Tracking Integration. Note that this is optional and may require you to allow access to your browser data.
One team member should do the following for the team.
cs262-2023a
).With this done, all team members should be able to clock hours using Clockify in Trello and see the log of those hours on Clockify’s website. Include all time spent on team activities, including programming, configuration, writing, team meetings, etc. Note that five team members doing these lab exercises together for one hour is five total team hours, one hour per team member.
We’ll check the hours recorded by lab 3.
Note that Clockify allows you to either run a timer as you do the task, or add task times after the fact. Use this tool to document all your work on the team project.
Add tasks to the backlog for the current sprint (see the current project deliverable for details). Keep the following in mind as you create your tasks.
When you have the basic tasks on the sprint backlog, move the highest priority tasks to the doing column and assign them to individuals (or small groups). Keep the following in mind as you move tasks.
We’ll use the reports provided by Clockify to monitor your team progress.
Slack provides a purpose-built, project communication environment.
Create a Slack team and invite your teammates, stakeholders and us (the instructor and grader). We’ll use this tool to monitor and to participate in your team communication. We suggest using (at least) the following channels:
#general
— for overview communication, e.g.:
meeting planning; announcements; …
#random
— for tangential but interesting or
fun posts #grading
— a private channel for grading and
related questions
#stakeholders
— a private channel for grading and
related questions
Feel free to add others for special discussions, e.g.: client; server; platform-specific hacking; …
Your team should communicate with us using Slack direct mentions
(e.g., @kvlinden
) rather than email. Personal emails
are still fine for non-team business.
Note that your stakeholders have not yet been assigned. When they
are, you should invite them to your Slack team as well.
They’ll post to your #general
channel only.
Your team Slack channel and Trello board should be alive with activity throughout the week. You may use other tools for the course, but we’ll be monitoring (and assessing) your work using these tools.
Work in teams of two for this exercise.
Do Expo’s Tutorial: Introduction, including all sections under “Get started” through “Use an image picker”. Notes:
As you are building your app, create a text file
(README.md
) in the root of your lab directory that
documents the application and includes one-sentence or one-phrase
answers to the following questions:
{}
) used in the JSX
code.
async
)
methods?
Be prepared to submit your application’s app.js
and README.md
files.
In this part of the lab, you will meet with your project team and us for the first time time. Try to determine:
This meeting will kick off a semester-long process of software engineering. Be creative, diligent and gracious. Your immediate goal is to produce the deliverables specified in Project #1 (see the course schedule for due dates).
Participate actively in your team’s visioning session. Your attendance and participation will contribute to your lab score.
Please update your Moodle "Project Teams" entry to use your real team name, and add hyperlinks for your Trello and Slack pages.
https://trello.com/../your-trelloboard-name
https://your-slackboard-name.slack.com
We will check that each of you are listed on the Trello and Slack links as evidence that you participated in the lab.
Over time, your team will have to address the following issues:
Distinguishing Characteristics - In the end, successful project teams distinguish themselves the others by pursuing unique avenues that give them a voice and legs. Ask yourselves these questions:
Think about these issues before settling on a project. The projects that found their way into the CS 262 Hall of Fame weren’t just “neat” and well-built, they had vision.
Programming Team Roles - Large programming projects comprise different types of work:
Your team is not large enough for each member to specialize in only one role; be prepared serve in several roles.
Team Administration - Good administration makes good things happen. Address the following issues as a team:
Do not underestimate the importance of this (sociological) aspect of the team project.
Most Importantly - Come up with a good team name! See the 262 Hall of Fame for ideas.