Project Assignment 2 – Team Formation and Charter

In this assignment, you will form your team and create initial team documents, so that you can assure the effectiveness and I can grant you the resources that your team will require.

Reading List

Each team member should read the lectures and resources below before beginning this assignment.

Assignment Description

Team Formation

The project is a semester long team project: designing and implementing an web app.  The team size should be about 5 or 6 students CS4760 students. In addition, 1 or 2 CS5760 students will joint your team as UX consultants.

Many projects will required a database, so check that one of your team members knows about databases or is interested in learning about databases. It is not necessary for your database expert to have taken the database course, but the database expert will need to have basic understanding of tables, their use and familiar with SQL queries.

Also, useful for your team would be a team members that are already familiar with Web back end (scripting) and front end (html, CSS and JavaScript) programming. All members do not need to have experience with web or database programming, you will learn web development, but a member with prior experience will be able to help with the initial app code design and getting programming started.

You should schedule meetings well in advance to ensure participation of all team members. During your meetings, take notes on your design decisions and how you reached your decision, so that you can use the notes in preparing your reports. Record your notes described below and upload them to your project directory and website.

Team Leaders

Each team should have two leaders, a project technical lead, and a product owner. The technical lead will take the lead on the implementation concerns; the product owner will take the lead on the clients and users’ requirement concerns. Two leaders will collaborate to help coordinate the team and should share the responsibilities with all other team members.

Team Name

Your team name should make all of you proud, but it should not be too long. The name should also represent your project. If your team name is inappropriate I will change it.

Team Communications

Your team will use emails and Discord IRC to communicate.

Discord

I will set up two discord channels channels for your team, a text channel and video channel, that you can use for internal team communications. Many teams use their channels for work jams.

If you don’t already have a Discord account, register at Discord.

https://discord.com/

I will send the class an email listing the team channel URLs. After receiving this, you should log into discord, visit the general channel for the class server which will be named

<year>-cs4760

It will also have the MTU logo. Change your nickname for the class server.

https://support.discord.com/hc/en-us/articles/219070107-Server-Nicknames

You need to change your nickname to your first and last name so that I can identify you and assign you to your team’s channels. We are using Discord professionally, so continue to use your first and last name on the class server so all you teammates know who is communicating. Change your nickname within two days of my email with the list of team channel URLs to assure that I change assign you to your channels.

If your team and UX consultants wish to join your team discord channel, send them (and CC me) an email with your team channel URLs and explain the (registering and changing nickname). Within two days of receiving the CC email, I will assign your UX consultant to your team.

Team Email List

Your team should make an email list for your team. See

http://www.mtu.edu/it/services/email/

Make this email list immediately and share it with your UX consultants/graduate students, so they can contact your team.

I will send an email to the class email list listing all the team membership and assigning UX consultants (graduate students) to development/undergraduate teams. You should email the your UX consultants with your team email list and invite them to communicate with your team using the team email list.

Class Email List

I will communicate with the class using class email list. Be sure that you are receiving these emails. The best way to communicate with me is by the class email list. To assure I reply to your email promptly, use the appropriate subject line:

cs4760 – <either full personal name or team name> – <subject>

where

  • <either full personal name or team name> – Use your full name if the email is personal, for example questions about grading. Use your team name if the question is a team question. If I believe your question or comment is appropriate for entire class I will cc the class list on my reply.
  • <subject > – should be a few words, be concise and specific, for example if you have a question about the first programming assignment, the subject should be “programming assignment 1 – question”.

GitHub Repository

Your team will store code in a GitHub repository:

https://github.com/

Each team member should have a GitHub account. If you do not already have an GitHub account, you should make an account now. I will need your GitHub account name to add you to the team.

When I assign your team to a repository, you will get an invite email from GitHub. You need to respond to the email in order to have access to the repository. The GitHub user interface does not allow me resend the invite, so be sure to respond to it. I will email that I have sent the GitHub invite. If you did not get the email, check your trash or spam email folders.

Team/Group Directory and Google Shared Drives

I will assign your teams a group directory in the csl.mtu.edu domain and a Google shared drives. The group directory and Google shared drive have different purposes.

Team/Group Directory

The team/group directory is for housing your the final version of your design and team documents. It has a www directory which is the root for your team website. All your final design documents should be uploaded to www directory and linked in your team website. Be sure that that the permissions are properly set. Use chmod linux command:

https://en.wikipedia.org/wiki/Chmod

The www directory and all the linked document should have “other” read permission so that they can be and “group” read and write permission. Sub directories in the www directories should also have group and other x (execute) permission.

You can store more private documents adjacent to the www directory and in sub-directories adjacent to the www directory, for example your team charter. I will upload private team documents adjacent to the www directory in your team/group directory, for example credentials for your tomcat server. Be sure that the group permission are read and write but that the other permission does NOT have read and write permission.

Google Shared Drive

The Google shared drive is for your team to use for team to share documents, typically for developing documents for assignments, or any purpose that your team determines appropriate. In the shared drive, you can compose documents and revise them as a team. When your document is finalize you should download them in a format that can be linked to your team website, for example pdf. After downloading the document from your team shared drive, upload to your team group directory and link the document in your team website so that the public can view the document. Do NOT directory link google documents directly to your team website.

Team Charter

Your team will make a team charter. In the team charter you will give your team name. You will also list all team members and contact information: name, email address and phone numbers. The team charter describes the team’s and individuals’ goals. In addition the team delineates how the team will govern and the expectation of members. See Teams lecture notes.

The form for the team charter is in the resources/TeamCharter.docx.

Other Team Documents

Other documents that your team will need to produce in the future and meeting minutes and scientists meeting notes.

Meeting Minutes

Your team is to keep meeting meeting notes and post them on the team website. See the lecture about teams for a detail description of meeting notes. I plan to study your team process and plan to use your meeting minutes to learn the details of your team process. So, I request that your minutes contain:

  • Team Name
  • Date, time and duration of the meeting
  • Location or Media of the meeting, for example “in-person at Reki 101” or by “Google Hangouts”
  • Attendees – list of team members present at the meeting.
  • Action Items – list of tasks and team member assigned to do the work
  • Discussions, Decisions and Rationale – list of topics and decisions made with rational for the decision.
  • Next Steps – list of topics for the next meeting

Post your meeting minutes on the website immediately after the meeting.

Scientist Meeting and Interviewing Notes

Your team should make notes during your meeting with scientists and post them on your team websites. These notes are different from team minutes. Scientist meeting notes attempt to recording all that you learn from your scientists. So, you try to record as much as you can during the scientists meeting. See my lectures on interviewing for more details. I study the interaction between your team and scientist. And I plan to use your scientists meeting minutes to learn the details of your interaction with your scientists. So, I request that your notes contain:

  • Team and Scientists Names
  • Date, time and duration of the meeting
  • Location or Medium of the meeting, for example “by Zoom” or “by Phone”
  • Attendees – list of team members and scientists present at the meeting.
  • Discussion items – list of items discussed with specifics about the topics.

Scientist meeting notes should be posted on the your team website immediately after the meeting.

Submit on Canvas and Due Date

Your team should submit on canvas:

  • Team name
  • Team email address
  • Team leader names and role
  • Table of team member name and GitHub name in Excel or CSV format
  • PDF of your team charter. You should upload the team charter to your team directory adjacent to the www directory.

Submit on canvas by 5 pm on the due date of Project Assignment 2 – Team Formation and Charter. After receiving this assignment, I can give you access to your GitHub repository and name your team on course website.

Grading Rubric

This assignment will be evaluated by timelines and completeness. In particular:

  • Appropriate team name
  • Clearly named two team leaders
  • Correct github account names for each team member
  • Appropriate signed team charter

Prepare for Next Assignment

For your next assignment, your team will prepare to interview your scientist/client by writing a pre-meeting notes. Prepare for your next team assignment by reading: