Team Charter Template
Team Charter Template
Last updated: [ YYYY-MM-DD ]
Team Name: [Insert Project Name]
Team Members:
- [Member 1 Name]
 - [Member 2 Name]
 - [Member 3 Name]
 - [Member 4 Name]
 - [Member 5 Name]
 
1. Project Summary
Use this section to convince the (non-technical) reader that your project solves an important problem, overcomes difficult technical challenges, and will have an audience (users) or social purpose. The reader should feel that you understand the problem area and have some interesting ideas for solving the problem (and current solutions fall short of your goal). Typical content (based on Small Business Innovation Grants from NSF, VC Initial seed funding or Series A funding pitches etc.) includes:
- Audience/User: describe the expected audience/user for your project. Occupation, demographic, location etc.
 - Problem statement: What customer needs or market pain points are you addressing?
 - Value Proposition: What is the key differentiator of your product/technology?
 - Innovation: Describe your innovation. What aspects are original, unusual, novel, disruptive or transformative compared to the current state of the art?
 - Broader societal impact: is there a broader societal need you are trying to address with this project?
 
Your project summary should be in paragraph form and ~500 words
2. Project Objectives
Clearly state the overall purpose of your team and briefly describe your senior design project. This is similar to the project summary, but is more practical and concise rather than persuasive and aspriational. Specifically, use this section to identify how your project addresses the technical & algorithmic complexity bars required for senior design.
2.1 Specific Goals
Include a list of the specific components of your solution
Example for building ChatGPT:
- AI Model: A generative language model trained on large amounts of public data that can accurately and safely respond to user queries.
 - Compute-efficient backend: A highly scalable backend that can run the ai model and intelligently handle batching requests to optimize gpu efficiency.
 - User-friendly web app: A website with a chat interface that allows users to interact with the model. The website should require authentication and use accounts to manage individual’s chat history
 
3. Roles and Responsibilities
3.1 Team Lead
Describe the different roles each team member will play and their primary focus area. Identify a “project lead” responsible for managing deadlines and organizing the rest of the team. Identify who is responsible for any logistics roles (managing sprint boards, etc). You can use the team lead section below as a starting point, but feel free to change it to meet your team’s needs.
The team lead, [Member Name], is responsible for managing team deadlines and keeping everyone on track. Their concrete responsibilities include:
- reminding team members to post weekly status updates
 - take notes during meetings and share in slack channel
 - schedule time for team to sync
 - add any other duties here
 
3.2 Member Roles
Complete the member roles table
| Member Name | Strengths | Technical Responsibilities | 
|---|---|---|
| [Member 1] | ml, python | Training core language model | 
| [Member 2] | ui, ux | Build front end, prototype chat interface | 
3.3 Logistics
Adjust this to assign team members tasks or define a rotation policy.
- [Member] : responsible for creating weekly status update tickets and moving them to done as the sprint progresses
 - [Member] : responsible for taking notes during instructor meeting and posting them to slack
 - …
 
4. Communication Guidelines
4.1 Communication Tools
- We will use slack for async communication between team members, mentors, and instructors
 - We will use Zoom for weekly meetings with instructors and mentors
 - We will use github projects to track sprint progress and post weekly updates
 - List any other communication tools you will use
 
4.2 Meetings
- Weekly meetings with the team mentor will be held Wednesday 8pm over Zoom.
 - Weekly meetings with the instructor will be help Tuesday 3pm over Zoom
 - Describe when the team will meet as a group and on what cadence and for what purpose
 
4.3 Documentation & Reporting
You should discuss and modify these processes as your team sees fit.
- Meeting notes will be documented and shared over Slack within 24 hours of each meeting.
 - Team members will post weekly status updates to github projects no later than Wednesday night outlining:
    
- what they worked on over the past week
 - if they are blocked on anything
 - what they are currently working on
 
 - All members will be given equal opportunity to participate in discussion and be open to listening to diverse perspectives on all topics/ideas.
 - All members must be transparent about their progress, challenges, and any delays they anticipate.
 
5. Decision-Making Process
You should discuss and modify these processes as your team sees fit.
- Consensus-Based Decisions: Major decisions will be made through consensus among all team members. In case of a deadlock, a majority vote will have the final say. If no majority is reached, the team will reach out to their mentor and instructor for guidance.
 - Documentation: All decisions must be documented and shared with the team to ensure clarity and alignment.
 - Conflict Resolution: Any conflicts between team members should first be addressed internally through open communication. If unresolved, members must notify the instructor who will then mediate.
 
6. Performance Standards
6.1 Work Distribution
You should discuss and modify these processes as your team sees fit.
- Flexibility: If a member is unable to complete a task, they must notify the team as soon as possible to allow for reallocation or assistance.
 
6.2 Respect and Professionalism
You should discuss and modify these processes as your team sees fit.
- Mutual Respect: All members are expected to treat each other with respect and professionalism.
 - Constructive Feedback: Feedback should be given and received constructively, focusing on improving the project.
 
7. Resource Allocation
You should discuss and modify these processes as your team sees fit.
- Time Commitment: All members are expected to spend ~10 hours of time outside of class per week on the project.
 - Workload Distribution: Tasks will be assigned based on each member’s expertise and availability. Each member is expected to complete their assigned tasks within the agreed-upon deadlines.
 - Shared Resources: List any shared resources (compute, hardware, etc) and how to access them
 
8. AI Use
What AI tools will you use as part of your project?
How will you guarantee that you’ll maintain good code quality & shared understanding when using these tools?
Ex: We will use GitHub CoPilot and ChatGPT to assist in development. To maintain code quality, we will ensure unit test coverage >= 80%. If an AI tool was used to generate code, this will be noted in the PR description or as a comment on specific lines of code to help with PR review.
9. Signatures
By signing below, each team member agrees to uphold this team charter (add names as separate commits):
- [Member 1] , [Date]
 - [Member 2] , [Date]
 - [Member 3] , [Date]
 - [Member 4] , [Date]
 
10. Charter Review and Updates
This charter was last updated on [YYYY-MM-DD].
It was previously modified on:
- [YYYY-MM-DD]
 - [YYYY-MM-DD]