Skip to main content

This is a new service – your feedback (opens in a new tab) will help us to improve it.

Be collaborative

Last updated: 22 June 2023
Relates to (tags): Software design, Ways of working

Engineers should collaborate widely with other teams and professions, as well as closely with their immediate colleagues.


Rationale

Collaboration helps us to have a more joined up approach, to break down silos and build cross-functional relationships. It allows us to learn from each other rather than repeat each other’s mistakes.

Valuing diverse perspectives on problems leads to better thought out solutions - they work in more cases and cover more considerations - this improves quality, security and reliability. Close collaboration on immediate questions enables shorter feedback loops, quicker iteration and improved velocity of delivery.


Applications and Implications

  • Work together closely in your team to iterate your design and code - pair programming can be good for this
  • Use code reviews as an opportunity to transfer knowledge, build capability and strengthen solutions, not just as quality control
  • Actively seek differing perspectives. Share ideas not only within your team or business area but with other professions too, for example with show and tells
  • Choose communication channels that encourage your team to work together. This might be frequent ceremonies and sessions, or it might be asynchronous messages - everyone is different, try to find a balance that works best for your colleagues
  • Create and take opportunities to work with other teams to build shared and reusable things when it would be beneficial to do so