End-to-End Workflow
Overview
This document outlines the team formation process, role assignment, project milestones, workflow, and client interactions for the SE Project course. It is designed for reproducibility across terms and as a reference for peer institutions aiming to adopt similar experiential learning models.
1. Team Formation
- At the beginning of the course, a Google Form is circulated to students via official email for self-organized team formation.
- Team size is decided at the beginning of each term.
- Students who do not self-organize into a group are assigned teams by the course instructors and TAs to ensure inclusivity and even distribution.
2. Role Distribution
A second Google Form is sent to all teams for selecting individual roles. The following roles are defined:
| Role | Responsibility |
|---|---|
| Project Architect / Manager | Oversees the entire project timeline, aligns team goals, ensures timely submissions. |
| Scrum Master | Facilitates Agile processes, organizes stand-ups, monitors sprint goals. |
| Frontend Developer | Designs and implements user interfaces and client-side logic. |
| Backend Developer | Builds and maintains APIs, server-side logic, and database interactions. |
| Tester | Designs and executes test cases, ensures code quality and feature validation. |
3. Agile Workflow
Teams follow a lightweight Agile methodology, focusing on:
- Weekly Sprints
- Daily or Bi-weekly Stand-ups
- Sprint Review & Planning
- Maintaining a Trello board / Jira workspace / any project management tool
- Regular updates on Gantt charts and project tracking tool
Milestones guide the Agile iterations.
4. Milestones
The project is broken down into six progressive milestones:
| Milestone | Focus Area |
|---|---|
| Milestone 1 | User Requirements |
| Milestone 2 | UI Design & Wireframes |
| Milestone 3 | Scheduling, Design & Prototypes |
| Milestone 4 | API Development & Integration |
| Milestone 5 | Test Suite & Evaluation |
| Milestone 6 | Final Submission & Presentation |
Each milestone includes a checklist of evaluation parameters for students and TAs in the client meeting.
5. Weekly Client Meetings
Purpose
These meetings follow real-world client interaction scenarios, allowing teams to:
- Present progress
- Get feedback on deliverables
- Align with client expectations (taken by TAs/instructors)
Scheduling
- Teams must reserve a convenient slot for their weekly check-in.
Guidelines
- No technical help is provided during client meetings.
- These are evaluative and advisory in nature to simulate stakeholder management.
- Technical discussions are held during separate weekly sessions with TAs and professors.
Attendance Policy
- Mandatory for all team members
- Attendance is monitored and factored into grading and peer evaluations
Summary Workflow
Google Form → Team Formation → Role Distribution → Agile Workflow → Milestones → Weekly Client Meetings
Suggested Use
- For Students: Understand expectations and prepare proactively.
- For Instructors: Standardize evaluation and mentoring.
- For Peer Institutions: Replicate or adapt this model for team-based software courses.