InfoQ Homepage Collaboration Content on InfoQ
-
Lyft Promotes Best Practices for Collaborative Protocol Buffers Design
Lyft shared its experiences using Protocol Buffers for inter-system integration, primarily focusing on collaborative protocol design for definitions shared between teams and systems. The company promotes approaches that improve knowledge sharing, consistency, and development process quality over raw efficiency optimizations.
-
How Tech-Enabled Networks of Software Teams Work
To maintain agility at scale, software teams can use technological and organizational solutions to reduce dependencies and work autonomously. According to Fabrice Bernhard, collaboration technology can be leveraged to create a distributed network of teams. To empower their teams, leaders can support them with a systematic problem-solving culture aimed at delivering good products to customers.
-
Transforming Software Product Teams into Tech Investors
The key responsibility of an organisation lies in balancing user value with profitability. In a product organisation, software product teams invest their own time. According to Fabrice des Mazery, software developers are much more than stakeholders; they are the main investors as they are part of the product teams.
-
How Data Mesh Platforms Connect Data Producers and Consumers
A challenge that companies often face when exploiting their data in data warehouses or data lakes is that ownership of analytical data is weak or non-existent, and quality can suffer as a result. A data mesh is an organizational paradigm shift in how companies create value from data where responsibilities go back into the hands of producers and consumers.
-
Fostering Healthy Tech Teams in a DevOps World
Building healthy DevOps tech teams that are responsible for a broad area can be challenging. To measure the success of your team, several frameworks provide metrics indicating team health. Psychological safety matters for healthy teams to ensure each software engineer brings their own lived experiences to build better products and that they feel safe to do so.
-
How to Scale Agile Software Development with Technology and Lean
Agile software development can be done at scale with the use of technology like self-service APIs, infrastructure provisioning, real-time collaboration software, and distributed versioning systems. Lean can complement and scale an agile culture with techniques like obeyas, systematic problem-solving, one-piece-flow and takt time, and kaizen.
-
Making Agile Software Development Work for Multicultural Teams
While equality provides team members with the same opportunities and allowances, equity is about creating an environment where individual and unique needs can be met. According to ElMohanned Mohamed, communication in multicultural teams should be precise and clear with low dependence on the context.
-
Challenges and Solutions for Building Machine Learning Systems
According to Camilla Montonen, the challenges of building machine learning systems are mostly creating and maintaining the model. MLOps platforms and solutions contain components needed to build machine systems. MLOps is not about the tools; it is a culture and a set of practices. Montonen suggests that we should bridge the divide between practices of data science and machine learning engineering.
-
Catalyzing Change in Software Organizations: Find Allies, Invite People, and Sustain Engagement
Much of the change we experience in software organizations is coercive. Software engineers, architects, and people in software engineering management roles feel they cannot spark change without formal authority, Eb Ikonne mentioned at QCon London 2024. To catalyze change, he suggested identifying allies, inviting people to participate in the change, and sustaining engagement through storytelling.
-
How Technology Can Drive Culture Change in Software Organisations
Technological improvements like containers, VMs, infrastructure-as-code, software-defined-networking, collaborative version control, and CI/CD can make it possible to fix cultural issues around organisational dynamics and bad product delivery. According to Nigel Kersten, software leaders should leverage tech to create positive changes in organisational dynamics and relationships between teams.
-
Enabling Software Platform Adoption with Self-Service and User Engagement
In order to scale a platform, it has to become a self-service product with software engineers and managers engaged, taking advantage of new technologies. A stakeholder engagement program was established with senior engineers and managers across the company, explaining how the new tools can increase developers' productivity and team velocity.
-
The Impact of Testing in Software Teams
Communicating quality gaps, holding space for good testing, and writing automation are some of the ways that testers contribute to software teams. According to Maaret Pyhäjärvi, we need to think about testing, not testers. Collaboration and having conversations between team members can result in valuable impact that changes the product and the experiences of our users.
-
How to Prevent and Repay Technical Debt: What Teams, Tech Leads and Managers Can Do
Tech leads, project managers, and managers can prevent technical debt by giving software developers more time; in addition, they can plan for spare time and refactoring sprints to allow teams to improve code. To prioritise technical debt, development teams can show how much time we can save if we invest, and how complicated the software will become in the future if we don’t repay technical debt.
-
Why Stable Software Teams Aren't Always Best: Self-Selection Reteaming at Redgate
There are advantages to having the same group of people stay together, especially in achieving a time-bound software development project. However, in a world where we increasingly see product or stream-aligned teams who own long-living software from creation through to delivery, operation, and ongoing improvements, then optimising for very stable teams is not the best idea, Chris Smith argues.
-
How Playing Games Enables Engaging Ways of Learning Agility
Games can help us create a collaborative, joyful, and fun experience in which we play to solve complex problems. According to Jakub Perlak, people can play games that have a meaningful purpose, and have fun in doing so. Games create space for intentional cognitive activity which helps us when learning something new and adapting to changes that are important for agility.