diff --git a/collaboration/constraints.md b/collaboration/constraints.md index 24079505c..34cc0fa85 100644 --- a/collaboration/constraints.md +++ b/collaboration/constraints.md @@ -1,34 +1,79 @@ - +# Constraints -# Constraints +## External -Some boundaries around our project. +- **Project Deadline and Stakes**: + + Although we aspire to take a gradual approach to mastering the tools and + algorithms required for the project, the tight deadline places significant + pressure on our team. Missing this deadline could result in severe + consequences, including program eviction. -## External +- **Project Requirements**: + + The project demands proficiency in Git/GitHub, code documentation, testing, + reviewing, and effective collaboration. These requirements exceed the current + skill levels of some team members, posing challenges to our progress. - +- **Accessibility to Computers**: + + Some team members share computers with others in their households. For + instance, one member shares a computer with their sister, who lives in + another city. Access is often limited to weekends or family visits, leading + to delays and stress. -## Internal: Involuntary +- **Software Compatibility**: - + One team member faced challenges downloading necessary tools like VS Code and + Git due to their laptop's ARM processor. Extensive research was required to + find compatible versions of the software. -## Internal: Voluntary +- **Poor Internet Connection**: - + A team member has issues with internet connection, which makes it difficult + to carry out the project. + +## Internal: Involuntary + +- **Skill Gap**: + + The team comprises individuals with varying levels of familiarity with the + tools and techniques required for the project. This expertise gap can hinder + effective communication, collaboration, and overall efficiency. + +- **Personal Availability**: + + Despite strong motivation, personal challenges occasionally arise, forcing + some members to be unavailable. These absences can delay progress and place + additional responsibilities on others. + +- **Scheduling Conflicts**: + + Due to differing schedules and backgrounds, finding suitable times for + everyone to meet is challenging. However, the team has shown dedication by + following up at least twice a week to engage and work together. + +## Internal: Voluntary + +- **Group Norms**: + + - Chose WhatsApp as the primary communication app after Slack. + - Created demos and documented meetings to help members catch up. + - Set reminders, created polls, and used the GitHub project board to share + agendas and address issues/tasks. + +- **Code Review Process**: + + The team follows the instructor's suggestions and adheres to a standard code + review checklist. This ensures a consistent approach to coding and builds + good habits for the future. + +- **Coding Style**: + + The team agrees on a simple and testable coding style that all members can + review and understand. + +- **Accountability**: + + When a team member realizes they will not be available for a meeting, they + inform the others. This fosters accountability and trust among team members.