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
Finding Team Members
Attend First Week Classes
Join Course Forum/Discord
Skills Assessment
- Programming (C++, Python, MATLAB)
- CAD/mechanical design
- Electronics/PCB design
- Linux/ROS2 experience
- Project management
Set Expectations
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:1. Meeting Schedule
1. Meeting Schedule
- 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
2. Communication Protocol
2. Communication Protocol
- 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)
3. Participation Requirements
3. Participation Requirements
- 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
4. Task Distribution
4. Task Distribution
- 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
- 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
5. Decision Making
5. Decision Making
- Consensus (everyone agrees)
- Majority vote (50%+ agreement)
- Lead decision with team input
- Escalation to instructor for deadlock
6. Conflict Resolution
6. Conflict Resolution
- Direct communication between involved parties
- Team discussion during meeting
- Mediation by project manager
- Escalation to instructor during office hours
7. Consequences for Non-Compliance
7. Consequences for Non-Compliance
- Missing meetings without notice
- Not completing assigned tasks
- Poor quality work
- Lack of communication
8. Signatures and Dates
8. Signatures and Dates
- All team members must sign and date the contract
- Include in project proposal appendix
- Refer to contract when issues arise
Sample Team Contract Template
Meeting Best Practices
Before the Meeting
Set Agenda
- Topics to discuss
- Decisions needed
- Presentations required
Prepare Updates
- What I completed since last meeting
- Current challenges/blockers
- Next tasks and timeline
Review Materials
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
- Check-in (5 min): Quick round table
- Updates (15 min): Everyone shares progress
- Discussion (10 min): Solve problems together
- Action items (5 min): Assign next tasks
- Next meeting (2 min): Confirm time/place
After the Meeting
Distribute Minutes
- Attendees
- Key decisions made
- Action items with assigned owners and deadlines
- Next meeting time
Update Task Tracker
Individual Work
- Regular progress updates in communication channel
- Ask for help early if blocked
Common Team Problems and Solutions
Problem: Team member not contributing
Problem: Team member not contributing
- Missing meetings repeatedly
- Not completing assigned tasks
- No communication or updates
- Private conversation: Ask if they’re facing challenges (personal, workload, understanding)
- Redistribute tasks: Maybe task doesn’t match their skills
- Set clear deadlines: Specific, achievable milestones
- Document issues: Keep meeting minutes showing pattern
- Instructor consultation: As last resort during office hours
Problem: Disagreement on technical approach
Problem: Disagreement on technical approach
- List pros/cons: Create comparison table
- Prototype both: Quick test with each approach
- Expert input: Ask instructor or tutor during tutorial
- Vote: If no clear winner, use majority vote
- Document decision: Record why choice was made
Problem: Unequal workload distribution
Problem: Unequal workload distribution
- Some members working 10+ hours, others <2 hours
- Resentment building in team
- Quality suffering due to overload
- Track time: Use simple time log for 1-2 weeks
- Visualize work: Create task board showing who’s doing what
- Rebalance: Redistribute tasks mid-project
- Parallel work: Break large tasks into parallel subtasks
- Skills training: Help less experienced members upskill
Problem: Poor communication
Problem: Poor communication
- Missed deadlines due to misunderstanding
- Duplicate work
- Surprises during meetings
- Structured updates: Daily/twice-weekly async updates in channel
- Shared documents: Living Google Doc with current status
- Git commits: Descriptive commit messages
- Quick standups: 5-min sync before work sessions
- Over-communicate: Better to share too much than too little
Problem: Last-minute rushes
Problem: Last-minute rushes
- Working all night before deadlines
- Rushed, low-quality work
- Stress and burnout
- Internal deadlines: Set team deadlines 1 week before official
- Incremental progress: Small weekly milestones
- Buffer time: Account for unexpected issues
- Early integration: Don’t wait until last minute to combine subsystems
- Start early: Order components and begin work immediately
Task Distribution Strategies
Work Package Assignment
Assign work packages based on skills and interest:| Work Package | Recommended Skills | Team Members |
|---|---|---|
| WP1: MATLAB Simulation | MATLAB, Math, Kinematics | 1-2 members |
| WP2: CAD Design | Mechanical design, 3D modeling | 1-2 members |
| WP2: PCB Design | Electronics, circuit design | 1 member |
| WP3: Embedded Control | C/C++, microcontrollers | 1-2 members |
| WP4: ROS2 Setup & URDF | Linux, Python, XML | 1 member |
| WP4: ROS2 Navigation | ROS2, algorithms, Python/C++ | 2 members |
| WP5: Integration | Everyone (collaborative) | All members |
| Documentation & Reports | Strong writing, organization | 1-2 members + reviews from all |
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)
- Hardware must be built before testing
- ROS2 packages build on each other (URDF → Control → Localization → SLAM → Nav)
- Integration requires all subsystems ready
Collaboration Tools
Recommended Toolstack
Communication
- Channels for each work package
- File sharing
- Voice/video calls
- Screen sharing
Version Control
- Code repositories
- Version history
- Branching for features
- Pull request reviews
Documentation
- Collaborative report writing
- Real-time editing
- Comment and suggestion mode
Task Management
- Kanban boards
- Task assignments
- Deadline tracking
File Sharing
- Large files (CAD, videos)
- Datasheets and references
- Meeting minutes
Scheduling
- Shared team calendar
- Meeting scheduling
- Deadline reminders
Git Workflow for Teams
Repository Structure
Branching Strategy
main: Stable, working codedevelop: Integration branchfeature/motor-control: Individual featuresfix/encoder-bug: Bug fixes
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
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:Instructor Support
When to contact the instructor:Tutorial Sessions
Tutorial Sessions
- Ask technical questions about work packages
- Request objective feedback on team dynamics
- Get guidance on design decisions
- Other teams present can provide additional perspectives
Office Hours
Office Hours
- Escalate serious team conflicts
- Discuss individual grade concerns
- Get personalized project advice
- Issues logged in meeting minutes
Email
- Deadline extensions (with valid reason)
- Clarification on assignment requirements
- Submission issues