ETEAM Blog Tips to Improve Collaboration Between Developers and Other Departments

The love-hate relationship between IT and business teams has inspired thousands of memes. And while you might be thinking “It’s funny ‘cause it’s true”, don’t be too quick to dismiss the power of good old-fashioned communication and collaboration to turn things around.

Keeping all the moving parts in sync

There are a lot of moving parts in software development, and creating a culture of collaboration is the single most effective way to keep everyone aligned. While engineers are battling code and fixing bugs, customer-facing teams are often left to deal with demanding customers or tricky questions that require more insight into development than they have access to.

The problem of siloed IT in organizations is not a new one, but it can harm product quality, customer satisfaction, and your own work culture. Also called the “technology walled garden”, siloed development teams can trigger a cascade of effects throughout different parts of the organization.

Comic strip featuring a conflict between the Sales and Engineering team.

 

Why is cross-departmental collaboration so important?

Rather than relying just on one type of expertise, cross-departmental collaboration encourages better problem-solving and productivity through a smoother flow of information and responsibilities between teams.

This is particularly important in software development where a lot depends on having the right information at the right time.

Cross-departmental collaboration helps development projects move faster through the pipeline and engages teams through shared goals and a culture of constant feedback.

Other benefits include:

  • Faster time-to-market

  • Better use of resources

  • Increased productivity

  • Higher employee satisfaction rates

  • Increased customer satisfaction

5 reasons you might experience bottlenecks between development and other departments

 

Lack of proper developer handoff

Developer handoff is the process through which you transfer another department’s specifications, knowledge, and work to be implemented by the dev team. Think of sending off your finished designs and user stories to be coded by developers.

While seeing your hard work come to life is exciting, the lack of a proper handoff process can create a lot of confusion, mistrust, and even delays. When teams can’t rely on each other to provide accurate information or to deliver on their part of a project, it undermines the entire collaborative effort and creates a silo mentality.

 

Departments don’t understand each other’s processes

Another hurdle between development and others comes from a lack of understanding or visibility into each other’s processes.

How many times have you heard “Ugh, they just don’t get it!” when interacting with someone from another team?

Whether it’s customer support pushing for fixes that are not deemed high priority by the development team, or developers failing to see eye to eye with sales efforts to close a deal - examples are plenty. If departments can’t understand each other's goals and how their work affects others, they will be less likely to synchronize.

 

Conflicting priorities and unrealistic expectations

Conflicting interests and priorities have long been a source of both frustration and jokes.

What did the developer say to the sales rep? Nothing. He was too busy coding a platform like Facebook but better in under two weeks.

Each team has its agenda and things to take care of. Sales want to keep clients happy and close deals fast, DevOps exists to ensure environments remain stable throughout all the changes involved in releasing new features.

The problem arises when these agendas clash when teams put too much pressure on each other due to unrealistic expectations, or when they fail to align on the “color and perpendicularity of the 7 red lines” as in the video below.

 

 

Lack of a common language between business and IT

Technical and business departments each have their own jargon.

If you’re a software engineer, pull requests and git-commits are part of your daily work, just like Management and Marketing are all about ROI, KPIs, CRO, and CX.

However, the lack of a common language between business and IT goes beyond terminology. It’s about failing to involve developers in the larger business context and company strategy.

A study performed by David Norton and Robert Kaplan over 15 years, shows that top-performing companies actively involve all their employees in their business vision.

 

Not using collaboration tools for software development

This once again comes down to departments lacking visibility into each other’s processes. Without shared tools to streamline communication and collaboration, developers and other teams will have a harder time getting in line with timelines, deliverables, and requirements.

Instant messaging, file sharing, and time and task tracking tools are a must for cross-team collaboration.

For example, if the development team uses a specific project management tool that is not accessible or user-friendly for other departments, it can create significant barriers.     

Tips to fast-track collaboration between developers and other departments

 

Include other teams early in development

The sooner you involve other departments in development, the easier it will be for them to work with the developers and become committed to the project.

Some teams like the Design department are usually involved as early as the discovery phase, but others like Sales, Operations, or Legal departments end up being more of an afterthought.

Don’t wait until the end to ask for feedback from other teams. This can be detrimental to cross-departmental dynamics and costly for the project itself.

Also, let’s not forget that early involvement means early adoption and you want to have as many people backing up your project as possible.

 

Define a workflow for submitting requests to the development team

Imagine the designers request your developers to add an animation. They may not realize how much time this requires. Or the sales rep asks a developer to join a call to provide detailed technical answers to a client. This might take the developer another 2 hours on top of the additional 300 lines of code they have to write for the animation.

Teams need each other to succeed, but it’s important to streamline this collaboration.

Define a clear process for how other departments can submit requests to the development team. Have a single point of contact like a Project Manager to collect and prioritize these requests after discussing them with the developers.

 

Share tools and knowledge

When departments don't have access to the same tools and information, this is a sure recipe for chaos.

It’s estimated that the average employee wastes over 20 hours per week searching for data that is spread across systems and teams.

Now this doesn’t mean everyone should use Visual Studio Code or upload their raw data directly in a database. Sharing tools and knowledge with your development team can be more straightforward.

You can:

  • Use a shared project management tool like Jira, ClickUp, or Asana to create and track tasks between development and other departments.

  • Create a central hub for all your important files, including technical playbooks and documentation.

  • Store your passwords in a password manager so developers can give access to other departments without sharing unencrypted passwords. This is useful if you’re just beginning to build your application and haven’t implemented user management yet.

 

Build a strong designer-developer relationship

It’s no secret that custom software development relies on a strong relationship between designers and developers - in fact, you can’t have one without the other. Developers and designers need to be able to exchange ideas and keep each other up to date.

Explore ways to encourage communication between design and development teams through regular check-ins, feedback, and shared tools. Collaborative design tools like Figma or Sketch come with features that are meant to fast-track designer-developer work.

Developers can inspect the CSS code directly in the design file and they can exchange feedback with designers in the same place. This feature makes it easy to track which feedback is solved and which is in the pipeline without much back and forth.

Comic strip featuring designer-developer relationship struggles.

 

Set up a meeting before each handoff to development

Handoffs can be a nerve-wracking experience on both ends. If you’re on the sending end, it’s much like waiting for a three-tier cake to bake, wondering if it will be edible.

If you’re on the receiving end, you are probably worrying the cake recipe you’ve been handed is missing a step.

Setting up a meeting before each handoff is a good way to keep everything in check and ready to go for development.

Let’s say you're getting ready to hand over your designs to development.

You can prepare a checklist to go over during the meeting, including questions like:

  • Do you have access to all the design files?

  • Will developers receive a separate .zip with all the icons and illustrations or do they need to download them from the design file?

  • If you don’t have a clickable prototype, do all team members agree on how the main interactive elements should behave?

  • What is the best way for developers to provide feedback on design-related issues they encounter during coding?

 

Enable fast feedback between departments

Fast feedback is critical for developer success. However, it’s not uncommon for people to be left out of the loop, become unresponsive, or give feedback way too late in the development process.

Industry research puts delayed replies at the top of software development bottlenecks, right up there with task switching and a limited understanding of product features.

Developers need answers fast so they can understand what’s working and what isn’t and adjust accordingly. This can become tricky when other departments are involved, each with its own workloads and priorities.

Having joint goals and success metrics can incentivize other teams to step in quickly.

Feedback might also come late because other teams simply are not aware of what is happening and when. Consider scheduling regular cross-departmental meetings to discuss ongoing development, share updates, and keep everyone on the same page.

 

Provide cross-training between devs and other teams

We’re not advocating for everyone to learn to code (although you might never know when it comes in handy), but speaking a common language helps. This is why we generally encourage Project Managers to take beginner-level coding courses so they can better support their team, as we’ve mentioned in this interview.

Of course, cross-training goes both ways. As a developer, sales, marketing, and even writing skills not only give you common ground with other teams but they add to your toolkit. It helps you understand the application from different perspectives, write better error messages and business emails, or put yourself in the shoes of the customer.

 

Climb over the wall of confusion using Agile

Having a common understanding of Agile processes, principles, and ways of working lays a great foundation for collaborating with developers.

This goes beyond understanding what “backlog grooming” or a “Scrum ceremony” is. Rather it’s a matter of adopting a shared mindset when it comes to building software.

For example, Agile puts a lot of emphasis on speed, iteration, and constant improvement. This means changes will happen a lot.

However, someone from another department whose role is to maintain the status quo might have a hard time adjusting. Also called “the wall of confusion”, this struggle between change and stability can be overcome through shared Agile principles.

Illustration of two people pushing against a brick wall to displace a brick with 2 signs on either side: “I want change” and “I want stability”

Source: Technopedia

Work with an experienced cross-functional team

Silos are one of the main challenges in software development. The gap between engineering and other teams can trigger a cascade of “side effects”, from information barriers and conflicting priorities to delays caused by poor communication.

By partnering with a software outsourcing company like ETEAM, you can enjoy the benefits of a team of professionals who have extensive experience working together!

Our cross-functional teams featuring Engineers, Designers, QA, Project Managers, and Business Analysts, bring together the full spectrum of expertise without friction.

Get the latest from ETEAM straight to your inbox!

Follow ETEAM

SEE ALSO