# Global vs Team Standards in the Company: Striking the Right Balance
**Tl;dr:** How do you deal with development-related standards in your company? What should be global, and what should remain at the team level?
---
In today's rapidly evolving tech landscape, companies are increasingly recognizing the importance of flexibility and innovation within their development teams. However, the challenge often lies in balancing the need for standardized practices across the organization with the autonomy that individual teams crave. As I navigate my role in a corporation that manufactures large, expensive machinery, I find myself at the intersection of traditional corporate structures and modern digitalization efforts. This blog post explores the nuances of setting standards in a corporate environment, drawing on insights from my experiences and the thoughts of others in the field.
## The Corporate Mindset: A Double-Edged Sword
Working in a corporation often means confronting a pervasive mindset that favors strict rules, lengthy processes, and a bureaucratic approach to decision-making. This environment can stifle creativity and hinder the agile practices that many developers thrive on. As I strive to foster a more developer-friendly atmosphere, I am struck by the need to dismantle these rigid structures piece by piece.
While my instinct is to encourage teams to select their tools and processes freely, I find myself pondering the broader question: what should be standardized at the company level, and what should remain under the purview of individual teams?
## Insights from the Field: What Works for Others
To gain a clearer perspective, I turned to the community and gathered insights from professionals working in various organizational settings. Here are some key takeaways:
### The Big Tech Approach: A Common Infrastructure
One commenter shared their experience at a Big Tech company where a robust ecosystem of tools is in place for service creation, code management, and deployments. In this environment, while teams have the autonomy to choose their tools, most gravitate towards the established common infrastructure simply because it represents the path of least resistance.
This approach highlights a crucial point: when a company invests in a cohesive set of tools, it encourages teams to collaborate and streamline processes without stifling their creativity. However, the commenter also noted that when it comes to coding standards and third-party libraries, teams are given the freedom to set their own rules.
### The Case for Standardization
In contrast to the flexible approach of large tech companies, another perspective emphasizes the benefits of standardizing tools across teams. This commenter argued that while allowing developers to choose their preferred tools might seem appealing, it can lead to a complex web of dependencies that hinder productivity.
They suggested standardizing on key elements, such as programming languages, databases, and development processes (e.g., branching strategies). The rationale is simple: when developers focus their energy on solving business problems rather than navigating a myriad of tools, they can deliver results more efficiently.
### Finding the Balance
So, how do we reconcile these viewpoints? The answer may lie in striking a balance between global and team standards. Here are some considerations for creating a conducive development environment:
1. **Core Technologies:** Standardize on essential technologies that impact core business logic. This includes programming languages, databases, and cloud platforms. A unified approach ensures that all teams can collaborate seamlessly and reduces onboarding time for new developers.
2. **Development Processes:** Establish company-wide guidelines for development processes, such as branching strategies and deployment practices. This consistency can enhance efficiency and make it easier to manage cross-team projects.
3. **Flexibility in Tools:** Allow teams to choose their development tools, code styles, and third-party libraries. This autonomy fosters creativity and empowers developers to select the best tools for their specific projects.
4. **Documentation and Communication:** Maintain clear documentation of standards and practices. This transparency will help teams understand the rationale behind certain decisions and encourage open communication about tool choices.
5. **Feedback Loops:** Create channels for teams to provide feedback on standards and practices. Regular reviews can help identify areas for improvement and ensure that the established guidelines remain relevant.
## Conclusion: A Culture of Trust and Collaboration
Ultimately, the key to navigating the tension between global and team standards lies in fostering a culture of trust and collaboration. By empowering teams to make decisions about their tools while maintaining consistency in core technologies and processes, companies can create an environment where developers feel valued and motivated to innovate.
As we continue our journey toward digitalization in the corporate world, it's essential to remember that flexibility and standardization are not mutually exclusive. Instead, they can coexist harmoniously, driving both productivity and creativity across the organization.
What are your thoughts on the balance between global and team standards? How does your company approach this challenge? Share your experiences in the comments below!