Back to resources

How to Deliver Complex Cross-Functional Projects

Cross-Functional Collaboration

23 January, 2021

Velu Alagianambi

Velu Alagianambi

Engineering Manager at Atlassian

Velu Alagianambi, Engineering Manager at Atlassian, discusses how to successfully deliver complex cross-functional projects while ensuring alignment and commitment across the board.


Working on a larger initiative that spans multiple groups is never easy. We have to navigate a complex landscape of contradicting, or at least competing objectives. Getting such an initiative off the ground takes a lot of effort.

As the project goal may not always be in line with the department specific objective, you will need to convince people to include the project in their plan. You will get a lot of nods and a lot of verbal support but they will be reluctant to support you when you ask for a concrete commitment at the end. Also, it is not unusual to have some teams aligned with you but others not; once they realize the support from the other team is not there, they will reconsider their own commitment.

Actions taken

First, I would meet with the teams we had been able to align with. We would meet with their architects or senior technical people, explain the problem to them, and then together explore a solution. We would approach it somewhat hypothetically; given the infinite resources and infinite time, we would ask them how they would do it. Then, with limitations of reality as a guide, we would contrast their approach with the actual available time frame, and together propose a solution which is feasible.

When presenting your proposal for the first time in a large meeting, people might be taken by surprise and push back. I would rather talk to my engineering counterparts before the "big" meeting and ask my PM to do likewise. That would help me better understand whether they will be interested and, at the same time, what they might expect for the meeting. The final decision won’t be reached in the first meeting and may require additional lateral conversations to happen. After multiple rounds of these big meetings, we might reach an agreement.

There will be teams where we fail to achieve an agreement. We will attempt to understand their reasons, inquire about how we can support them, and work on a contribution model if they lack the resources, etc. If we need a disagree & commit, we will escalate with the leadership team.

For example, we can use the open source contribution model to allow some of our developers to learn a partner team’s codebase and contribute. We would need the partner team’s help with onboarding, reviews, and general guidance.

Typically, we would work with their architects to create a short-term solution that solves most of the use cases and aligns their roadmap for a long-term solution. We would make a joint commitment to make it better and improve the nuances after the project was shipped, a win-win for all the teams.

Lessons learned

  • Identify and address dependencies early. Be aware of the things within and outside of your control and focus on the external factors first.
  • Don't assume plans are set in stone always, especially if you're working on a project that spans many quarters. Communicate changes and new findings regularly and with other teams. People tend to forget about their commitment, so you have to remind them mindfully. Perhaps, as things change on both sides, you will have to enforce the commitment more strongly.
  • Help approvers make decisions by helping them recognize the trade-offs, and explain the factors that are involved in the decision -- such as time, scope and the resources. Our company uses a formal framework for making decisions called DACI ( that describes how decisions are made and documented.
  • Maintain clear communication and let the leadership team know what's going on. If you have an executive sponsor, keep them informed of progress and challenges, ask for specific feedback, and seek resources.

Discover Plato

Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader

Related stories

DevSecOps: Why, Benefits and Culture Shift

29 November

Why DevSecOps matter and what's really in it for you, the team and the organisation?

Innovation / Experiment
Building A Team
Cross-Functional Collaboration
Vikash Chhaganlal

Vikash Chhaganlal

Head of Engineering at Xero

How Product Marketing Can (and Should) Help Product Development

20 June

Pavel Safarik, Head of Product at ROI Hunter, discusses the frequently overlooked role of product marketing in getting high user adoption rates for your product.

Goal Setting
Product Team
Different Skillsets
Cross-Functional Collaboration
Pavel Safarik

Pavel Safarik

Head of Product at ROI Hunter

Promoting Interdepartmental Teamwork for More Efficient Problem-Solving

13 June

Roland Fiala, Senior Vice President of Engineering at Productsup, raises an interesting issue about autonomy in teams: does it hinder collaboration opportunities that lead to better problem-solving? He shares his system for promoting teamwork in engineering departments.

Internal Communication
Team Processes
Cross-Functional Collaboration
Roland Fiala

Roland Fiala

Senior Vice President of Engineering at Usergems

Managing Different Time Zones: Inclusive Collaboration Methods

19 May

Jonathan Belcher, Engineering Manager at Curative, shares an unknown side of synchronous communication tools and advises managers on how to handle a team that’s spread across the globe.

Internal Communication
Cross-Functional Collaboration
Jonathan Belcher

Jonathan Belcher

Engineering Manager - Patient Experience at Curative

Creating a Company Culture That Balances Helpfulness and Productivity

16 May

Alexis Philippe, Vice President, Product & Engineering at Amilla, describes his one simple rule for creating a culture of helpfulness that doesn't disrupt productivity.

Mission / Vision / Charter
Company Culture
Cross-Functional Collaboration
Alexis Philippe

Alexis Philippe

Vice President, Product & Engineering at Amilla