Skip to main content

Overview

Engineering Design 3 is a team-based project requiring 5-6 members from different engineering programs. Effective teamwork is crucial for success and is part of your assessment. This guide helps you establish productive team dynamics from day one.

Team Formation

Team Size and Composition

  • Size: 5-6 members per team
  • Diversity: Members from different programs (mechanical, electrical, software, etc.)
  • Benefit: Each member brings unique skills and perspectives
Pro Tip: A diverse team is stronger! Electrical engineering students might excel at PCB design, while software engineers lead ROS2 implementation. Mechanical engineers can focus on CAD and assembly.

Finding Team Members

1

Attend First Week Classes

Most teams form during the first week. Introduce yourself and your strengths.
2

Join Course Forum/Discord

Many students find teammates through online course channels.
3

Skills Assessment

Share your skills openly:
  • Programming (C++, Python, MATLAB)
  • CAD/mechanical design
  • Electronics/PCB design
  • Linux/ROS2 experience
  • Project management
4

Set Expectations

Discuss time commitment and grade expectations early.

Team Contract

A team contract is a required deliverable in your project proposal. It establishes ground rules and expectations.

Essential Elements

Your team contract should include:
Mandatory:
  • Regular Meeting Time: Fixed weekly schedule (e.g., Friday 1:30 PM)
  • Duration: Minimum 30 minutes
  • Location: Specify (on-campus, online, hybrid)
  • Attendance Policy: Consequences for missing meetings
Example:
Team meetings: Every Friday at 1:30 PM, Engineering Building Room 205
Duration: 30-60 minutes
Attendance: Mandatory unless notified 24h in advance
Define:
  • Primary communication channel (Discord, WhatsApp, Slack, Teams)
  • Expected response time (e.g., within 24 hours)
  • Emergency contact method
  • File sharing platform (Google Drive, GitHub, OneDrive)
Example:
Primary: Discord #eeet2610-team-alpha
Response time: Within 24 hours on weekdays
File sharing: GitHub + Google Drive
Emergency: Direct phone call
Each member must:
  • Verbally contribute at least 5 minutes during meetings
  • Present current work, challenges, and upcoming tasks
  • Complete assigned tasks by agreed deadlines
  • Review and provide feedback on others’ work
Example:
Each member will:
- Speak for minimum 5 minutes per meeting
- Submit work 24h before deadlines for team review
- Review pull requests within 48 hours
- Attend all tutorial sessions unless excused
Guidelines:
  • Tasks must be split fairly among members
  • Each person should have independent and collaborative tasks
  • Responsibilities should match skills when possible
  • Workload should be roughly equal
Example Roles:
  • Project Manager: Coordinates meetings, tracks deadlines
  • Mechanical Lead: CAD design, 3D printing, assembly
  • Electronics Lead: PCB design, wiring, power management
  • Embedded Systems Lead: ESP32 programming, PID control
  • ROS2 Lead (2 people): ROS2 setup, SLAM, navigation
  • Documentation Lead: Report writing, video editing
Define how decisions are made:
  • Consensus (everyone agrees)
  • Majority vote (50%+ agreement)
  • Lead decision with team input
  • Escalation to instructor for deadlock
Example:
Major decisions (design changes, component orders): Majority vote
Minor decisions (meeting times, task allocation): Consensus
Conflicts: Discussion → Vote → Instructor mediation if needed
Process:
  1. Direct communication between involved parties
  2. Team discussion during meeting
  3. Mediation by project manager
  4. Escalation to instructor during office hours
Example:
Step 1: Talk privately to resolve issue
Step 2: Bring to team meeting if unresolved
Step 3: Instructor consultation during office hours
Documentation: Log conflict and resolution in meeting minutes
Define penalties for:
  • Missing meetings without notice
  • Not completing assigned tasks
  • Poor quality work
  • Lack of communication
Example:
First offense: Verbal warning in meeting
Second offense: Written warning in meeting minutes
Third offense: Report to instructor (may affect individual grade)
Severe cases: Buy coffee for the team as an act of forgiveness
Important: Consequences must be reasonable and fair. The goal is accountability, not punishment.
Required:
  • All team members must sign and date the contract
  • Include in project proposal appendix
  • Refer to contract when issues arise
Example:
Agreed and signed:
Alice Chen - 02/15/2024 [Signature]
Bob Kumar - 02/15/2024 [Signature]
Charlie Lee - 02/15/2024 [Signature]
...

Sample Team Contract Template

# Team [Name] - EEET2610 Contract

## Team Members
1. [Name] - [Student ID] - [Program] - [Role]
2. [Name] - [Student ID] - [Program] - [Role]
...

## Meeting Schedule
- Time: Every [Day] at [Time]
- Location: [Place or Online Link]
- Duration: [X] minutes minimum
- Attendance: Mandatory unless notified 24h advance

## Communication
- Primary Channel: [Discord/WhatsApp/etc.]
- Response Time: Within 24 hours
- File Sharing: [Google Drive/GitHub]

## Participation Standards
- Each member speaks minimum 5 minutes per meeting
- Complete assigned tasks on time
- Review others' work constructively
- Attend tutorial sessions

## Work Distribution
- Tasks assigned based on skills and workload balance
- Each member has independent responsibilities
- Collaborative work on integration tasks

## Decision Making
- Major decisions: Majority vote (4/6)
- Minor decisions: Consensus
- Conflicts: Discussion → Vote → Instructor

## Consequences
- First offense: Verbal warning
- Second offense: Written in minutes
- Third offense: Instructor notification
- Alternative: Buy team coffee ☕

## Signatures
[Names and signatures with dates]

Meeting Best Practices

Before the Meeting

1

Set Agenda

Share meeting agenda 24 hours before
  • Topics to discuss
  • Decisions needed
  • Presentations required
2

Prepare Updates

Each member prepares:
  • What I completed since last meeting
  • Current challenges/blockers
  • Next tasks and timeline
3

Review Materials

Read shared documents or code before meeting

During the Meeting

Assign Roles

  • Facilitator: Keeps meeting on track
  • Timekeeper: Ensures we stay on schedule
  • Note-taker: Records minutes
  • Rotate these roles each week

Follow Structure

  1. Check-in (5 min): Quick round table
  2. Updates (15 min): Everyone shares progress
  3. Discussion (10 min): Solve problems together
  4. Action items (5 min): Assign next tasks
  5. Next meeting (2 min): Confirm time/place
5-Minute Participation Rule: This ensures everyone contributes. Silent members may not be engaged or may feel unheard. Encourage quiet members to share!

After the Meeting

1

Distribute Minutes

Send meeting notes within 24 hours including:
  • Attendees
  • Key decisions made
  • Action items with assigned owners and deadlines
  • Next meeting time
2

Update Task Tracker

Update shared task list or project board (Trello, Notion, GitHub Projects)
3

Individual Work

Each member works on assigned tasks
  • Regular progress updates in communication channel
  • Ask for help early if blocked

Common Team Problems and Solutions

Signs:
  • Missing meetings repeatedly
  • Not completing assigned tasks
  • No communication or updates
Solutions:
  1. Private conversation: Ask if they’re facing challenges (personal, workload, understanding)
  2. Redistribute tasks: Maybe task doesn’t match their skills
  3. Set clear deadlines: Specific, achievable milestones
  4. Document issues: Keep meeting minutes showing pattern
  5. Instructor consultation: As last resort during office hours
Don’t wait until the end of semester! Address issues early when there’s time to improve.
Example: Team split on using Arduino IDE vs VSCode/PlatformIOSolutions:
  1. List pros/cons: Create comparison table
  2. Prototype both: Quick test with each approach
  3. Expert input: Ask instructor or tutor during tutorial
  4. Vote: If no clear winner, use majority vote
  5. Document decision: Record why choice was made
Signs:
  • Some members working 10+ hours, others <2 hours
  • Resentment building in team
  • Quality suffering due to overload
Solutions:
  1. Track time: Use simple time log for 1-2 weeks
  2. Visualize work: Create task board showing who’s doing what
  3. Rebalance: Redistribute tasks mid-project
  4. Parallel work: Break large tasks into parallel subtasks
  5. Skills training: Help less experienced members upskill
Signs:
  • Missed deadlines due to misunderstanding
  • Duplicate work
  • Surprises during meetings
Solutions:
  1. Structured updates: Daily/twice-weekly async updates in channel
  2. Shared documents: Living Google Doc with current status
  3. Git commits: Descriptive commit messages
  4. Quick standups: 5-min sync before work sessions
  5. Over-communicate: Better to share too much than too little
Signs:
  • Working all night before deadlines
  • Rushed, low-quality work
  • Stress and burnout
Solutions:
  1. Internal deadlines: Set team deadlines 1 week before official
  2. Incremental progress: Small weekly milestones
  3. Buffer time: Account for unexpected issues
  4. Early integration: Don’t wait until last minute to combine subsystems
  5. Start early: Order components and begin work immediately

Task Distribution Strategies

Work Package Assignment

Assign work packages based on skills and interest:
Work PackageRecommended SkillsTeam Members
WP1: MATLAB SimulationMATLAB, Math, Kinematics1-2 members
WP2: CAD DesignMechanical design, 3D modeling1-2 members
WP2: PCB DesignElectronics, circuit design1 member
WP3: Embedded ControlC/C++, microcontrollers1-2 members
WP4: ROS2 Setup & URDFLinux, Python, XML1 member
WP4: ROS2 NavigationROS2, algorithms, Python/C++2 members
WP5: IntegrationEveryone (collaborative)All members
Documentation & ReportsStrong writing, organization1-2 members + reviews from all
Overlap is good! Two people working on complex work packages (WP4) provides redundancy and knowledge sharing.

Parallel vs Sequential Work

Some tasks can be done in parallel, others must be sequential: Parallel (Weeks 1-6):
  • Person A: MATLAB simulation (WP1)
  • Person B: CAD design (WP2)
  • Person C: PCB design (WP2)
  • Person D: ESP32 environment setup (WP3)
  • Person E: ROS2 environment setup (WP4)
Sequential (Weeks 7-10):
  • Hardware must be built before testing
  • ROS2 packages build on each other (URDF → Control → Localization → SLAM → Nav)
  • Integration requires all subsystems ready

Collaboration Tools

Communication

Discord (recommended) or Microsoft Teams
  • Channels for each work package
  • File sharing
  • Voice/video calls
  • Screen sharing

Version Control

GitHub (required)
  • Code repositories
  • Version history
  • Branching for features
  • Pull request reviews

Documentation

Google Docs or Overleaf (LaTeX)
  • Collaborative report writing
  • Real-time editing
  • Comment and suggestion mode

Task Management

Trello, Notion, or GitHub Projects
  • Kanban boards
  • Task assignments
  • Deadline tracking

File Sharing

Google Drive or OneDrive
  • Large files (CAD, videos)
  • Datasheets and references
  • Meeting minutes

Scheduling

Google Calendar or When2Meet
  • Shared team calendar
  • Meeting scheduling
  • Deadline reminders

Git Workflow for Teams

1

Repository Structure

Create organized repositories:
eeet2610-team-alpha/
├── wp1-matlab/           # MATLAB simulation
├── wp2-cad/              # CAD files
├── wp2-pcb/              # PCB schematics
├── wp3-firmware/         # ESP32 code
├── wp4-ros2/             # ROS2 packages
├── docs/                 # Documentation
└── README.md             # Project overview
2

Branching Strategy

  • main: Stable, working code
  • develop: Integration branch
  • feature/motor-control: Individual features
  • fix/encoder-bug: Bug fixes
Merge to main only when tested!
3

Commit Best Practices

  • Frequent commits (every significant change)
  • Descriptive messages: “Add PID controller for left motor” not “Update code”
  • Push regularly to back up work
4

Pull Requests

  • Create PR for major changes
  • Request team review
  • Discuss and improve code together

Weekly Meeting Checklist

Use this template for your weekly meetings:
# Team [Name] - Meeting [Number]
Date: [DD/MM/YYYY]
Time: [HH:MM - HH:MM]
Location: [Place]

## Attendees
- [x] Member 1
- [x] Member 2
- [ ] Member 3 (absent - notified)
...

## Agenda
1. Quick check-in (5 min)
2. Progress updates (15 min)
3. Blocker discussion (10 min)
4. Task assignment (5 min)
5. Next steps (5 min)

## Progress Updates

### [Member 1]
- Completed: [Task 1, Task 2]
- Challenges: [Issue description]
- Next: [Upcoming task]

### [Member 2]
...

## Decisions Made
- [Decision 1]: [Rationale]
- [Decision 2]: [Rationale]

## Action Items
| Task | Assigned To | Deadline | Status |
|------|------------|----------|--------|
| [Task description] | [Name] | [Date] | Not started |
...

## Next Meeting
- Date: [DD/MM/YYYY]
- Time: [HH:MM]
- Agenda items: [Preview]

Instructor Support

When to contact the instructor:
Purpose: Technical questions and team mediation
  • Ask technical questions about work packages
  • Request objective feedback on team dynamics
  • Get guidance on design decisions
  • Other teams present can provide additional perspectives
Purpose: Private discussions and conflict resolution
  • Escalate serious team conflicts
  • Discuss individual grade concerns
  • Get personalized project advice
  • Issues logged in meeting minutes
Purpose: Administrative questions
  • Deadline extensions (with valid reason)
  • Clarification on assignment requirements
  • Submission issues
Don’t suffer in silence! If team issues arise, address them early. Instructors can help mediate and adjust grades for non-contributing members if documented properly.

Next Steps