Logo

dev-resources.site

for different kinds of informations.

Why are working agreements crucial in engineering teams?

Published at
7/18/2024
Categories
team
teamwork
agile
opensource
Author
pvgomes
Categories
4 categories in total
team
open
teamwork
open
agile
open
opensource
open
Author
7 person written this
pvgomes
open
Why are working agreements crucial in engineering teams?

Humans are inherently social, hardwired for connection and collaboration. From ancient times, our ancestors formed tribes and communities for survival, nowadays it happens to everyone for different reasons like evolution, well-being and winning a championship or business growth.

We need to socialize

socializing imagem with birds

As mention in the netflix documentary about How to Live to 100, Wherever You Are in the World one of crucial point about longevity is "Connect with others as often as possible"

Working in groups lets us use different skills and views, leading to new solutions and better decisions. When people work together, they bring their unique talents and ideas, which can combine to create something greater than they could alone. Teamwork boosts creativity as members build on each other’s ideas, creating new thoughts and discoveries. For engineering teams this is pretty much the same, even if you work with a small team, establishing some rules are important to avoid misalignment during the daily work. For that, it is good to sit together and create what we call "Working Agreements".

Working agreements

Working agreements or team agreements exist to establish a common understanding of how the team will work together, define expectations, and create a foundation for effective collaboration.

Here's a breakdown of why working agreements are important and examples of important projects that use them.

Importance of Working Agreements

  1. Clarity and Expectations:

    • Working agreements clearly define roles, responsibilities, and processes within the team. This ensures that all members know what is expected of them and what they can expect from others.
  2. Conflict Resolution:

    • By setting ground rules for communication and collaboration, working agreements help in resolving conflicts by providing a framework for addressing disagreements.
  3. Efficiency and Productivity:

    • Teams with well-defined working agreements can work more efficiently as they spend less time dealing with misunderstandings and more time focusing on their work.
  4. Accountability:

    • Working agreements hold team members accountable for their contributions and adherence to the agreed-upon processes.
  5. Cohesion and Culture:

    • They help build a positive team culture by fostering mutual respect and understanding among team members.

Who Uses Working Agreements?

Working agreements are used by various types of teams, including:

  • Software Development Teams: Both in-house and remote development teams use working agreements to coordinate efforts and ensure consistent practices. For distributed teams are highly recommended given the fact that people might not be able even to talk on synchronous way.

  • Agile Teams: Agile methodologies like Scrum and Kanban often emphasize the use of working agreements to support iterative and collaborative work.

  • Open Source Projects: Many open source projects adopt working agreements, or similar practices, to manage contributions from a diverse and geographically distributed group of developers.

How to apply it?

how to apply working agreements

It’s not a big deal or rocket science. I recommend organizing a meeting with your team to start writing down basic guidelines for working together. These guidelines can include anything that will make daily work easier and ensure everyone is on the same page. For example, decide which tool to use for communication: Slack, Discord, WhatsApp? How will you interact there—via channels or direct messages (DMs)? Will you have a plan for your team? Are you going to follow a project management methodology? Which one—Scrum, for instance?

After reaching an agreement, make sure to write it down somewhere accessible to the entire team, such as GitHub, Google Docs, or Confluence. Also, review it regularly and use it as onboarding material for new members. Below, I've listed some famous guidelines from open-source projects that use the same contribution ideas. They have a broader approach, but the rules and guidelines generally follow the same principles.

Examples guidelines and agreements

1. Linux Kernel:

The Linux kernel project has a well-defined contribution process documented in its Code of Conduct and Contributor Covenant. These documents outline how contributors should interact, resolve conflicts, and participate in the project. While not a "working agreement" in the traditional sense, they serve a similar purpose by setting expectations for behavior and contribution.

2. GNU Project:

The GNU Project, which oversees the development of the GNU operating system and various software, follows the GNU Kind Communication Guidelines. These guidelines emphasize respectful communication and cooperation, serving as a working agreement to foster a collaborative environment.

3. Apache Software Foundation (ASF):

The Apache Software Foundation hosts numerous open source projects, each with its own set of governance and contribution guidelines. For example, the Apache Software Foundation Code of Conduct applies to all ASF projects, outlining expected behaviors and processes for collaboration.

4. Mozilla:

Mozilla, the organization behind the Firefox browser and other open source projects, has a Community Participation Guidelines document. This serves as a working agreement by defining how contributors should engage with one another and the broader community.

Conclusion

Working agreements are a vital component of successful engineering teams, whether in traditional settings or open source projects. They provide structure, clarity, and a framework for collaboration that helps teams work more effectively and harmoniously. Projects like the Linux kernel, GNU, Apache, and Mozilla illustrate how such agreements can be implemented in open source environments to manage diverse contributions and maintain a positive community atmosphere and in the end, deliver one of the most important legacies for the world.

If you as a software engineer, an engineering manager or a person outside of the IT industry feels that your team takes too much time in solving simple problems, I suggest you try it.

team Article's
30 articles in total
Favicon
How Scrum Empowers Teams to Take Ownership and Make Decisive Decisions
Favicon
Maximizing Operational Efficiency The Key Role of Ops Teams
Favicon
Support Teams in Action Driving Customer Success with Efficiency
Favicon
Effective Remote Development Team Management: Best Practices for 2024
Favicon
10+ Tools to Help Remote Developer Teams Work
Favicon
The Power of Teamwork How Support Teams Drive Business Value
Favicon
Empowering Ops Teams Driving Efficiency and Stability
Favicon
Problemas complexos não possuem soluções simples
Favicon
Why are working agreements crucial in engineering teams?
Favicon
The Power of Remote Software Development Teams
Favicon
Mastering Productivity: A Guide to Creating an Effective Task Dashboard
Favicon
Code Like a Human: Empathy is the Most Underrated Skill in Your Dev Toolkit
Favicon
Building a Remote Team Management Assistant Lyzr SDK
Favicon
Dedicated Software Development Teams
Favicon
Why is a Quality Assurance Tester Needed on a Software Development Team?
Favicon
Mastering Team Leadership in Software Development: Essential Lessons for Success!
Favicon
Managing Software Development Teams: 8 Tips for Success
Favicon
Harnessing Diversity: Managing a Product Development Team with Diverse Personalities
Favicon
How to Hire a Dedicated Development Team in 2024?
Favicon
The Trial Period for Staff Augmentation in JetThoughts
Favicon
How I changed a team meeting ritual so that I can grow
Favicon
How we’ve created an engaged, supportive and substantive QA team. Daily routine
Favicon
A psicologia humana e os testes
Favicon
New year, new planning habits: using GitHub Projects to track your goals
Favicon
Web Development Team
Favicon
How we made an AI Attendance System for better Team Performance
Favicon
The Mythical Data Team
Favicon
Maximizing Remote Team Productivity: A Developer’s Guide
Favicon
Context Switching pt.1: What's the Cost?
Favicon
How do I manage the codebase being worked on by a large dev team?

Featured ones: