Skip to content
Özgür Akgün edited this page Nov 21, 2024 · 1 revision

How We Work

This is our Constitution, but in contrast to a real constitution of a company we intend this document to be a living document. Please feel free to suggest edits and improvements.

Principles

  • Assume good faith.
  • Take responsibility for your work.
  • Look for opportunites to help others.
  • Make it easy for others to help you.

Social contract

We agree to adhere to the following guidelines when engaging in group work.

  • We communicate in English as a common, shared language.
  • We include all group members in meetings, group chats, messages, and social events.
  • We turn up on time to meetings.
  • We pay attention and contribute to group discussions.
  • We contribute to the group tasks.
  • We listen to each other’s opinions.
  • We share ideas and do not disregard other people’s thoughts or feelings.
  • We are respectful towards one another and treat each other with care and courtesy.
  • We complete tasks on time and to the best of our ability.
  • We do not make assumptions about individual abilities.

Logistics

  • GitHub: We use GitHub as our main platform for code collaboration and version control.
  • Teams: We use Teams for day to day communications.
  • Weekly report: We use a web form to provide an update to the supervisors every week. This is not assessed and doesn't strictly follow the reflective writing methods. However, this resource on the Gibbs reflective cycle may still be helpful when approaching the weekly form and how to use the form effectively.
  • Weekly meetings: The whole group meets once a week. Before this meeting everyone fills in the weekly report. We take minutes at these meetings.

Best Practices for Collaboration

1. Start with Early Pull Requests (PRs)

  • Don’t wait until everything is perfect; submitting early PRs allows the team to provide feedback sooner. This helps catch potential issues early and encourages collaboration.
  • Even if your code isn’t complete, opening a draft PR can be a good way to start discussions and ensure alignment.

2. Show, Don’t Tell

  • Share your experiences and insights! Use GitHub or Microsoft Teams to share updates, challenges, and breakthroughs with the rest of the team.
  • Showing real examples means other can more easily help you, it can help others understand your approach and may inspire new ideas.
  • High-level explanations can inadvertantly hide important details. Showing the actual artefact (whether it's code, a design document or something else) together with your high-level commentary eliminates this risk.

3. Begin with Specifications

  • Before you start coding, document your plan. Write out specifications or create a rough outline of what you're working on, including examples where possible.
  • Having a clear plan makes it easier to get feedback and helps others understand the purpose and scope of your work.

4. Share Failures as Much as Successes

  • When something doesn’t work, share it! Learning from mistakes and discussing setbacks is invaluable.
  • A failed attempt can often be as educational as a successful one, and it may prevent others from encountering the same issue.

5. Ask Good Questions

  • Don’t hesitate to reach out when you're stuck, but try to ask thoughtful, specific questions.
  • Providing context and sharing what you've tried will help others give more helpful answers.

Final Thoughts

  • Collaboration is key to our success, so feel free to communicate openly.
  • Continuous improvement is encouraged—keep looking for ways to improve your code, processes, and knowledge.