Skip to content

Commit

Permalink
Merge pull request #23 from MIT-Emerging-Talent/add-constraints
Browse files Browse the repository at this point in the history
Add constraints to collaboration/constraints.md
  • Loading branch information
oleksandr-maksymikhin authored Jan 6, 2025
2 parents 5f339a2 + 17848e2 commit 9f936eb
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 28 deletions.
64 changes: 36 additions & 28 deletions collaboration/constraints.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,39 @@

Some boundaries around our project.

## External

<!--
constraints coming from the outside that your team has no control over:
- project deadlines
- number of unit tests required to pass a code review
- technologies (sometimes a client will tell you what to use)
- power or connectivity
- ...
-->

## Internal: Involuntary

<!--
constraints that come from within your team, and you have no control over:
- each of your individual skill levels
- amount of time available to work on the project
-->

## Internal: Voluntary

<!--
constraints that your team decided on to help scope the project. they may include:
- coding style & conventions
- agree on a code review checklist for the project repository
- the number of hours you want to spend working
- only using the colors black and white
-->
---

## **External**

<!-- constraints coming from the outside that your team has no control over: -->

- **Deadline:** The project must be completed by **10 Jan 2025**.
- **Programming Language:** The programming language for this project is **Python** and cannot be changed.
- **Coding Standards:** All coding, documentation, and reviews must adhere to established standards and examples.
- **Restricted Pushes:** Direct pushes to the main branch are prohibited.
- **Branch Merging Rules:** Branches can only be merged after a pull request is reviewed and approved.
- **Team Size:** The team consists of 10 members. However, active participation will be observed throughout the process, and adjustments will be made as needed to ensure tasks are distributed effectively and project goals are met. This flexible approach allows the team to adapt based on member availability and engagement.

---

## **Internal: Involuntary**

<!-- constraints that come from within your team, and you have no control over: -->

- **Different Schedules:** Team members have varying commitments, making synchronous meetings difficult.
- **Learning Together:** Some members are still learning relevant skills, requiring collaboration and support.
- **Limited Availability:** Balancing this project with other responsibilities might reduce availability at times.
- **Knowledge Gaps:** Some members lack experience in specific technologies or concepts, which may slow progress.
- **Dependency on Others:** Certain tasks depend on the completion of others, potentially causing bottlenecks.
- **Limited Review Capacity:** Fewer reviewers might delay pull request approvals and overall progress.

---

## **Internal: Voluntary**

<!-- constraints that your team decided on to help scope the project. -->

- **Scope Management:** The project scope is deliberately kept small to ensure timely completion and avoid unnecessary complexity.
- **Adherence to Rules:** The team agrees to follow coding style guides, documentation standards, and review conventions.
- **Collaboration Commitment:** All members are dedicated to equal participation and supporting one another.
- **Documentation Priority:** All tasks, decisions, and code will be properly documented to facilitate collaboration.
26 changes: 26 additions & 0 deletions collaboration/learning_goals.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,31 @@
# Learning Goals

## Group Objectives

The primary goal of our group is to enhance our understanding and practical skills in software development by working collaboratively on exercises. Each member brings unique objectives, and we aim to create a supportive environment where these individual goals can be achieved.

## Collective

1. **Enhance Problem-Solving Skills**: Apply data structures (DSs) and algorithms to solve complex problems effectively.
2. **Learn and Practice New Techniques**: Explore new programming language features and techniques to improve code quality.
3. **Focus on Readability and Documentation**: Develop solutions that are well-documented, clear, and maintainable.
4. **Improve Development Speed**: Practice strategies to write and debug code faster, aiming for efficiency.
5. **Collaborative Code Reviews**: Engage in multiple review cycles to learn from feedback and refine solutions collaboratively.

---

## Individual

### Emre Biyik

- Review data structures and algorithms studied previously.
- Focus on writing more complete and readable solutions.
- Gain deeper experience with version control tools like Git and GitHub, especially in team projects.

---

## Group Approach

- Regularly review and reflect on progress towards these goals during meetings.
- Support each other in achieving individual and shared objectives through collaborative exercises.
- Use tools like GitHub Issues and Project Boards to ensure visibility and accountability.

0 comments on commit 9f936eb

Please sign in to comment.